首页 文章

如何用sympy求解矩阵方程?

提问于
浏览
6

同情,给出一个矩阵方程

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

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

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

1 回答

  • 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实现这一点的基本内容已经存在 . 它可能很容易实现 .

相关问题