sympy 中的复杂矩阵使用 python

complex matrix in sympy using python

我在 Python 中使用 Sympy 来执行一些 Matrix 操作。我发现 Sympy 中的 Matrix 无法自动处理复数。举个简单的例子

Matrix([[-3007.52907429211/(2898092.62249243 - 706897.569072986*I) -      1/(-138.749949129781 - 2.9947535188934*I) + 5926.32998065723*I/(2898092.62249243 - 706897.569072986*I), 69.4741898294738/(-20767.5225629041 + 5543.00153023887*I) - 42.6513068752839*I/(-20767.5225629041 + 5543.00153023887*I)], [69.4741898294738/(-20767.5225629041 + 5543.00153023887*I) - 42.6513068752839*I/(-20767.5225629041 + 5543.00153023887*I), -1/(148.74433463588 - 43.1600457323684*I)]])

我试过 .expand 但没用。我认为必须有一种方法可以让 Matrix 自动计算复数 I。请告诉我。谢谢!

我假设您已导入 I,因为您没有报告堆栈跟踪类型错误。

在这种情况下,您需要将 complex=True 参数添加到 .expand()

m = <Your matrix values from above>
simplified_m = m.expand(complex=True)

我不是 100% 确定为什么这是必要的 - 如果它背后的原因对你很重要,我可以进一步研究。