首页 文章

如果它存在于SymPy中,则找到奇异矩阵方程的答案

提问于
浏览
0

假设我们有矩阵方程 A*x = b ,其中 A 是正方形但是奇异的 . 然后一般来说,方程式要么没有解决方案要么没有多少解决方案 . 如果确实有解决方案,我想使用SymPy以自由变量的形式象征性地找到它们的形式 .

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

有谁知道如何使用SymPy找到这样的解决方案(象征性地)?我一直在研究滚动我自己的算法来做到这一点,可能首先使用 A.rref()A 放入缩减的行梯形格式,但我对我的线性代数没有足够的信心来知道这是否能够稳定运行 . 另一种可能性可能是计算伪逆,但函数 pinv() 抱怨奇异矩阵 .

1 回答

  • 0

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

相关问题