Matrix 辛矩阵公式的主语生成

Matrix 辛矩阵公式的主语生成,matrix,sympy,subject,Matrix,Sympy,Subject,我是个新手。我在研究辛矩阵。有人知道从矩阵方程中生成矩阵作为主题吗? 例如,如果方程类似于A+2B=C,这里A、B和C是矩阵。我想把主题设为B,这样最终的答案必须是 B=(C-A)/2。在Symphy有什么直接的方法可以做到这一点吗?阿斯穆勒提供的方法似乎是适用的:请参阅 首先,声明A、B和C为非交换变量,并获得方程的解。其次,将C和A重新定义为所需的数组,然后将公式应用于这些数组 >>> from sympy import * >>> A,B,C = sym

我是个新手。我在研究辛矩阵。有人知道从矩阵方程中生成矩阵作为主题吗? 例如,如果方程类似于A+2B=C,这里A、B和C是矩阵。我想把主题设为B,这样最终的答案必须是
B=(C-A)/2。在Symphy有什么直接的方法可以做到这一点吗?

阿斯穆勒提供的方法似乎是适用的:请参阅

首先,声明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]])

谢谢你的回答。它解决了我的问题。现在我有另一个问题,我不能将矩阵变量与矩阵值混合,比如2*A+B=matrix([[0,0],[0,0]])。在这里我想做一个主题。有什么办法对付辛皮吗?谢谢。很抱歉给您带来不便基本上我想要的是Symphy的输入包含矩阵值和变量的混合。所以我不能先改变它,因为所有矩阵都是变量,就像你在我的I/p中所说的,bcoz有多个值和矩阵变量,所以我不能将每个矩阵值都改变为变量,然后发送给Symphy。有没有办法在sympy做到这一点?。如果不是的话,我计划为sympy实施这个。所以请帮我找出这个功能是否已经存在。i/p也可以是这样的2*A+Matrix[]=Matrix[]。请让我知道是否有办法。如果你想实现它,那么最好的办法就是在谷歌sympy小组上询问。或者在他们的gitter聊天中。你会从那些地方最有知识的人那里得到答案。(我是第二个或第三个线人。)要获得这些人的地址,请访问sympy网站。