Matrix 求一个奇异矩阵方程的解

Matrix 求一个奇异矩阵方程的解,matrix,linear-algebra,sympy,Matrix,Linear Algebra,Sympy,假设我们有一个矩阵方程A*x=b,其中A是平方的,但是奇异的。一般来说,方程要么没有解,要么有无穷多个解。如果它确实有解,我想用symphy,从自由变量的角度,找到它们的符号形式 我知道如果我们能找到一个特定的解决方案,那么通过将A的零空间中的向量添加到x上,我们就可以找到其余的,因此问题就简化为只找到一个解决方案。在Mathematica中,函数LinearSolve会给出这样的解,但不幸的是,在SymPy中,所有的解算器似乎都要求a是非奇异的 有人知道我如何(象征性地)使用Symphy找到这

假设我们有一个矩阵方程
A*x=b
,其中
A
是平方的,但是奇异的。一般来说,方程要么没有解,要么有无穷多个解。如果它确实有解,我想用symphy,从自由变量的角度,找到它们的符号形式

我知道如果我们能找到一个特定的解决方案,那么通过将
A
的零空间中的向量添加到
x
上,我们就可以找到其余的,因此问题就简化为只找到一个解决方案。在Mathematica中,函数
LinearSolve
会给出这样的解,但不幸的是,在SymPy中,所有的解算器似乎都要求a是非奇异的


有人知道我如何(象征性地)使用Symphy找到这样的解决方案吗?我一直在考虑使用我自己的算法来实现这一点,可能是通过使用
A.rref()
首先将
A
放入精简的行梯队格式,但我对线性代数没有足够的信心来知道这是否能稳定工作。另一种可能是计算伪逆,但函数
pinv()
抱怨奇异矩阵。

如果有人遇到这个问题,答案是在最新版本的Symphy中使用
linsolve
函数,它具有此功能