我是靠谱客的博主 聪慧蛋挞,最近开发中收集的这篇文章主要介绍用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

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

最后

以上就是聪慧蛋挞为你收集整理的用Python解矩阵方程——Sympy模块的全部内容,希望文章能够帮你解决用Python解矩阵方程——Sympy模块所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部