我是靠谱客的博主 聪慧蛋挞,这篇文章主要介绍用Python解矩阵方程——Sympy模块,现在分享给大家,希望可以做个参考。

用Python解矩阵方程,可以用两个模块——NumpySympy
矩阵方程: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
11
from 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
4
Matrix([[-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
2
sympy.matrices.common.NonSquareMatrixError

最后

以上就是聪慧蛋挞最近收集整理的关于用Python解矩阵方程——Sympy模块的全部内容,更多相关用Python解矩阵方程——Sympy模块内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(62)

评论列表共有 0 条评论

立即
投稿
返回
顶部