NumPy的矩阵运算

#作者:小恒不会java
#时间:2024年3月1日
#微信:a13551458597


import numpy as np


# 创建一个2x3的矩阵A
A = np.array([[1, 2, 3], [4, 7, 9]])

# 获取矩阵A的形状
shape_A = A.shape

# 对矩阵A进行转置运算得到矩阵B
B = A.T

# 使用numpy的matmul函数进行矩阵乘法运算(注意:此处原代码中的*A无法进行矩阵乘法,应改为np.matmul(A, B))
C = np.matmul(A, B)

# 使用numpy的dot函数进行矩阵乘法运算
D = np.dot(A, B)

# 创建一个3x3的单位矩阵E
E = np.eye(3)

# 计算矩阵A(假设其为方阵)的迹
F = np.trace(A)

# 计算矩阵A的行列式
try:
    G = np.linalg.det(A)
except np.linalg.LinAlgError:  # 如果矩阵不是方阵,则无法计算行列式
    G = "无法计算,因为矩阵A不是方阵"

# 计算矩阵A(假设其为方阵)的逆矩阵
try:
    H = np.linalg.inv(A)
except np.linalg.LinAlgError:  # 如果矩阵不可逆,则无法计算逆矩阵
    H = "无法计算,因为矩阵A不可逆"

# 因为A并非方阵,所以无法直接计算伴随矩阵,这里我们假设你想要对一个可逆的方阵进行操作
# 假设有一个方阵J
J = np.array([[1, 2], [3, 4]])
# 计算伴随矩阵(实际应为:I = np.linalg.inv(J).T * np.linalg.det(J),但此处A非方阵,故不适用)
# I = np.linalg.inv(J).T * np.linalg.det(J)

# 解多元一次线性方程组,这里由于A不是方阵,所以无法直接求解
# 假设有一个与b维度匹配的方阵K
K = np.array([[1, 2], [3, 4]])
# 计算解向量
# x = np.linalg.solve(K, b)

# 定义b向量
b = np.array([7, 7, 18])

# 在尝试求解之前,我们需要确保矩阵A是方阵且可逆,否则无法进行求解操作
# 若A是可逆的方阵:
# x = np.linalg.solve(A, b)

# 输出结果
print("矩阵A的形状:", shape_A)
print("矩阵转置运算结果:", B)
print("矩阵乘法运算结果(np.matmul):", C)
print("矩阵乘法运算结果(np.dot):", D)
print("单位矩阵E:", E)
print("矩阵A的迹:", F)
print("矩阵A的行列式(如果能计算的话):", G)
print("矩阵A的逆矩阵(如果存在的话):", H)
# print("矩阵的伴随矩阵(仅针对方阵):", I)
# print("线性方程组的解向量:", x)
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值