我正在使用sympy
来找到一个矩阵的逆。我遇到了一个问题。当我计算矩阵A
的逆时,我得到了一个带有分数的矩阵;我的意思是
>> import sympy
>> from sympy import pprint
>> from sympy.abc import *
>> import sys
>> sys.displayhook = pprint
>> from sympy.matrices import *
>> A = Matrix([[a, b],[c, d]])
>> B = A.inv()
>> B
>> [1 b*c -b ]
>> [- + ------------ -----------]
>> [a 2 / b*c\ / b*c\]
>> [ a *|d - ---| a*|d - ---|]
>> [ \ a / \ a /]
>> [ ]
>> [ -c 1 ]
>> [ ----------- ------- ]
>> [ / b*c\ b*c ]
>> [ a*|d - ---| d - --- ]
>> [ \ a / a ]
>> B*A
>> [ /1 b*c \ b*c /1 b*c \ b*d ]
>> [a*|- + ------------| - ----------- b*|- + ------------| - -----------]
>> [ |a 2 / b*c\| / b*c\ |a 2 / b*c\| / b*c\]
>> [ | a *|d - ---|| a*|d - ---| | a *|d - ---|| a*|d - ---|]
>> [ \ \ a // \ a / \ \ a // \ a /]
>> [ ]
>> [ d b*c ]
>> [ 0 ------- - ----------- ]
>> [ b*c / b*c\ ]
>> [ d - --- a*|d - ---| ]
>> [ a \ a / ]
我想获取下一个矩阵。
>> I = Matrix([
>> [1, 0],
>> [0, 1]])
我的问题是矩阵 A*B
或 B*A
。我想简化矩阵 A*B
并得到 I
。我尝试使用 simplify()
但没有成功。