如何用sympy求解矩阵方程?

时间:2014-04-02 18:29:22

标签: python sympy symbolic-math

同情,给出一个矩阵方程式

M * x + N * y = 0 (或更复杂..)

如何为x解决这个问题? (M,N =矩阵,x,y =向量)

我用普通符号尝试了这个,但显然失败了。使用MatrixSymbol也不行。有没有办法做到这一点,或者是否有能力做到这一点?

1 个答案:

答案 0 :(得分:5)

正如MRocklin所指出的那样,MatrixExpressions尚不支持这一点,但非交换符号确实如此:

In [13]: M, N, x, y = symbols('M N x y', commutative=False)

In [15]: solve(M*x + N*y, x)
Out[15]:
⎡      -1⎤
⎣-N⋅y⋅M  ⎦

与MatrixExpressions不同,非交换符号没有形状概念,因此您需要自己跟踪它。但这也表明为MatrixExpression实现这一点的基本内容已经存在。它可能很容易实现。