下面介绍了矩阵的一些基本的操作,总结为下表 :
使用前请先导入模块numpy
创建矩阵 | np.mat([ ]) |
矩阵的迹 | 矩阵对象.trace() |
逆矩阵 | np.linalg.inv(矩阵对象) |
矩阵的秩 | np.linalg.matrix_rank(矩阵对象) |
行列式的值 | np.linalg.det(矩阵对象) |
两个矩阵的乘积 | np.dot(矩阵1,矩阵2) |
计算矩阵的特征值和特征向量 | np.linalg.eig(矩阵对象) |
矩阵的大小 | 矩阵对象.shape |
解线性方程组 | np.linalg.solve(矩阵1,增广矩阵的列) |
具体代码如下:
import numpy as np
A = np.mat([[2, 0, 0], [0, 1, 0], [0, 0, 1]]) # 创建一个矩阵A
B = np.mat([[1, 1, 1], [1, 2, 3], [1, 2, 4]]) # 创建矩阵B
A_trace = A.trace() # 计算矩阵的迹
A_inv = np.linalg.inv(A) # 求逆矩阵
t = A.T # 矩阵的转置
np.linalg.matrix_rank(A) # 计算矩阵的秩
A_det = np.linalg.det(A) # 计算行列式的值
dot_A_B = np.dot(A, B) # 计算A和B的乘积
c, d = np.linalg.eig(A) # 返回矩阵的特征值和特征向量
A_shape = A.shape # 返回矩阵的大小
# 解线性方程组:
A = np.mat([[1, 2], [3, 4]])
B = np.mat([[5, 6]]).T
solve = np.linalg.solve(A, B)