寻找一个奇异矩阵方程的答案,如果它存在于SymPy中



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

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

有谁知道我如何使用SymPy找到这样的解决方案(符号) ?我一直在研究滚动我自己的算法来做到这一点,可能是通过使用A.rref()A变成行简化阶梯形格式,但我对我的线性代数没有足够的信心,不知道这是否会稳定地工作。另一种可能是计算伪逆,但是函数pinv()抱怨奇异矩阵。

以防有人遇到这个问题,答案是使用最新版本的SymPy中的linsolve函数,它具有此功能。

相关内容

  • 没有找到相关文章

最新更新