用Python解矩阵方程——Sympy模块

这篇博客介绍了如何利用Python的Numpy和Sympy库来解决矩阵方程。文中详细阐述了矩阵方程解的存在性和唯一性的条件,并通过实例展示了如何计算矩阵的逆以求解方程。当矩阵不可逆时,求解过程会抛出错误。
摘要由CSDN通过智能技术生成

用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

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)

结果:

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不是可逆矩阵,那么矩阵方程无法进行求解
将会报错:

sympy.matrices.common.NonSquareMatrixError
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值