python.sympy和Mathematica比有哪些優勢和不足?


SymPy能算frac{x^2+2x+1+(3x+1)sqrt{x+ln x}}{x,sqrt{x+ln x}(x+sqrt{x+ln x})}的積分,Mathematica算不了。

(來源:https://en.wikipedia.org/wiki/User:CRGreathouse/Risch)


SymPy vs. Mathematica · sympy/sympy Wiki · GitHub

個人認為唯一優勢是免費。


sympy這個計算我沒算出結果

import sympy

sympy.factorint(82425245185148514875448514541441875487415165156116)

Mathematica同樣計算1秒出結果

FactorInteger[82425245185148514875448514541441875487415165156116]

{{2, 2}, {137, 1}, {821, 1}, {6385477183102526671, 1}, {28690834129618023977915687, 1}}


因為沒錢買 Mathematica

所以我覺得 sympy 讓我能有工具可用 很感謝它

可是實際用起來感覺 sympy 對以前的代碼兼容性不好

不過應該是個例。。本來輸入是 vector

版本升級之後竟然變 matrix 了。。。文檔也不說

sympy 開發者也說是個bug。。。

而且還要等下個版本才修或者不修了。。。


sympy能做根式分母有理化(radsimp),Mathematica不行

sympy的minimal_polynomial支持含字母的式子,Mathematica不支持


推薦閱讀:

TAG:軟體 | Python | 計算機 | WolframMathematica | scipy |