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% 确定为什么这是必要的 - 如果它背后的原因对你很重要,我可以进一步研究。
我在 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% 确定为什么这是必要的 - 如果它背后的原因对你很重要,我可以进一步研究。