在 Sympy 中为矩阵公式制作主题

Making subject for a matrix formula in Sympy

我是 sympy 的新手。我正在使用 sympy 矩阵。有人知道如何从矩阵方程中创建矩阵吗? 例如,如果等式如下 A+2B=C,这里 A、B 和 C 是矩阵。我想把主题设为 B。这样最后的答案一定是这样的 B=(C-A)/2。在 sympy 中有没有直接的方法可以做到这一点?

asmeurer 提供的方法似乎适用:参见 How to solve matrix equation with sympy?

首先声明A、B、C为非交换变量,求方程的解。其次,将 C 和 A 重新定义为所需的数组,然后将公式应用于这些数组。

>>> from sympy import *
>>> A,B,C = symbols('A B C', commutative=False)
>>> solve(A+2*B-C,B)
[(-A + C)/2]
>>> A = Matrix([2,2,1,5])
>>> C = Matrix([1,1,1,1])
>>> A = A.reshape(2,2)
>>> C = C.reshape(2,2)
>>> (-A + C)/2
Matrix([
[-1/2, -1/2],
[   0,   -2]])

回答评论中的问题:定义矩阵C为等式右边的零矩阵,按上述方法进行。

>>> A,B,C = symbols('A B C', commutative=False)
>>> solve(2*A+B-C,A)
[(-B + C)/2]
>>> B = Matrix([1,4,3,5])
>>> B = B.reshape(2,2)
>>> C = Matrix([0,0,0,0])
>>> C = C.reshape(2,2)
>>> (-B + C)/2
Matrix([
[-1/2,   -2],
[-3/2, -5/2]])