2015-03-25 141 views
2

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

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。请告诉我。谢谢!

+2

你从sympy中导入了“I”吗?请张贴您的错误追溯。 – 2015-03-25 13:12:22

回答

1

我假设你已经导入了I,因为你不报告堆栈跟踪类型错误。

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

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

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