使用 SymPy 求符号矩阵的逆

Finding the inverse of a symbolic matrix with SymPy

我正在尝试求出以下矩阵的逆矩阵

g  = Matrix([[r**2,0],[0,r**2*sin(theta)**2]])

其中各个术语的类型:

<class 'sympy.core.power.Pow'>
<class 'sympy.core.numbers.Zero'>
<class 'sympy.core.numbers.Zero'>
<class 'sympy.core.mul.Mul'>

当我尝试执行命令时

g.inv()

我收到以下错误消息:

AttributeError: 'int' object has no attribute 'is_Rational'

我正在接收矩阵 g 作为函数参数。奇怪的是,如果我对矩阵进行硬编码,我不会收到任何错误,并且会计算出正确的逆。

Francesco Bonazzi 回答了这个问题:

Get the latest development version of SymPy. This bug has been corrected.