用Python解矩阵方程,可以用两个模块——Numpy和Sympy
矩阵方程:Ax=b
A为系数矩阵,b为解集矩阵
令B为A的增广矩阵
1、Ax=b无解的充要条件:r(A)+1=r(B)
2、Ax=b唯一解的充要条件:r(A)=r(B)=n
3、Ax=b无穷多解的充要条件:r(A)=r(B)<n
1、Numpy
用Python解矩阵方程——Numpy模块
2、Sympy
求解的逻辑:
x=A-1b
复制代码
1
2
3
4
5
6
7
8
9
10
11from sympy import * p1 = Matrix([[1,2],[3,4]]) y = Matrix([[5],[9]]) print(p1**(-1)*y) p2 = Matrix([[1,3,4],[2,3,4]]) print(p1**(-1)*p2) p3 = Matrix([[1,0,3],[2,5,4],[3,4,5]]) p4 = Matrix([[1,3,4],[2,7,4],[6,5,8]]) print(p3**(-1)*p4)
结果:
复制代码
1
2
3
4Matrix([[-1], [3]]) Matrix([[0, -3, -4], [1/2, 3, 4]]) Matrix([[19/4, -3, 3], [-1/2, 1, -2/3], [-5/4, 2, 1/3]])
如果A不是可逆矩阵,那么矩阵方程无法进行求解
将会报错:
复制代码
1
2sympy.matrices.common.NonSquareMatrixError
最后
以上就是聪慧蛋挞最近收集整理的关于用Python解矩阵方程——Sympy模块的全部内容,更多相关用Python解矩阵方程——Sympy模块内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复