sympy -- Python Symbolic Compuation Library
文章目录
矩阵
sympy.Matrix
方法和属性
shape
- mat.shape
- sympy.shape(mat)
list 化
- mat.tolist()
点积
matA * matB
- 和 numpy 不同, np.dot 才可以
创建矩阵
单位阵
- sympy.eye(size)
ones
- sympy.ones(…)
zeros
- sympy.zeros(…)
对角阵
sympy.diag(value1, value2, …)
- 直接输入对角元素
sympy.diag(value1, mat1, mat2, …)
元素取值
- 普通数值: int, float
- 矩阵: sympy.Matrix
操作
行列式取值
- mat.det()
简化矩阵
解说
- 把矩阵转化为行最简矩阵
- 参考:rref 简化列梯形矩阵
- 可以用来手工算矩阵的秩
mat.rref()
- reduce row echelon form
秩
- mat.rank()
零向量空间
解说
- 用于求解齐次线性方程组
- 配平化学反应
mat.nullspace
- scipy 对等工具:scipy.linalg.nullspace
特征值 和 特征向量
- mat.eigenvals() 特征值
mat.eigenvects() 特征向量
- 注意: 相比 mat.eigenvals() 求特征向量 更耗时
对角化
- 原理: M = P*D*P^-1, P D 是对角化后的两个相关矩阵
- mat.diagonalize()
文章作者
上次更新 2022-03-07 (de34a70)