SymPy - 符號計算



符號計算是指開發用於運算元學表示式和其他數學物件的演算法。符號計算將數學與計算機科學相結合,使用數學符號求解數學表示式。像 SymPy 這樣的計算機代數系統 (CAS) 使用與傳統手動方法中相同的符號精確地(而不是近似地)計算代數表示式。例如,我們使用 Python 的 math 模組計算數字的平方根,如下所示:

>>> import math 
>>> print (math.sqrt(25), math.sqrt(7))

上述程式碼片段的輸出如下:

5.0 2.6457513110645907

如您所見,7 的平方根是近似計算的。但在 SymPy 中,預設情況下,非完全平方數的平方根不會被計算,如下所示:

>>> import sympy 
>>> print (sympy.sqrt(7))

上述程式碼片段的輸出如下:

sqrt(7)

可以使用下面的程式碼片段來符號化地簡化和顯示錶達式的結果:

>>> import math
>>> print (math.sqrt(12))

上述程式碼片段的輸出如下:

3.4641016151377544

您需要使用下面的程式碼片段來使用 sympy 執行相同的操作:

##sympy output 
>>> print (sympy.sqrt(12))

其輸出如下:

2*sqrt(3)

在 Jupyter Notebook 中執行的 SymPy 程式碼使用 MathJax 庫以 LatEx 形式呈現數學符號。這在下面的程式碼片段中顯示:

>>> from sympy import * 
>>> x=Symbol ('x') 
>>> expr = integrate(x**x, x) 
>>> expr

在 Python shell 中執行上述命令後,將生成以下輸出:

Integral(x**x, x)

這等價於

$\int \mathrm{x}^{x}\,\mathrm{d}x$

非完全平方的平方根可以使用傳統的符號用 Latex 表示如下:

>>> from sympy import * 
>>> x=7 
>>> sqrt(x)

上述程式碼片段的輸出如下:

$\sqrt7$

像 SymPy 這樣的符號計算系統可以進行各種計算(例如導數、積分和極限,求解方程,使用矩陣),這些計算都是符號化的。SymPy 包具有不同的模組,支援繪圖、列印(如 LATEX)、物理、統計、組合數學、數論、幾何、邏輯等。

廣告
© . All rights reserved.