2015-03-25 139 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%,爲什麼這是必要的 - 如果它背後的原因是對你很重要,我們可以作進一步研究。