#作者:小恒不会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)
标签:运算,linalg,方阵,矩阵,print,计算,np,NumPy
From: https://blog.csdn.net/2302_81578551/article/details/136891704