SymPy - 符号计算
符号计算是指开发用于处理数学表达式和其他数学对象的算法。 符号计算将数学与计算机科学相结合,使用数学符号来求解数学表达式。 诸如 SymPy 之类的计算机代数系统 (CAS) 使用传统手动方法中使用的相同符号来准确(而不是近似)计算代数表达式。 例如,我们使用 Python 的数学模块计算一个数的平方根,如下所示 −
>>> 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)
SymPy 代码在 Jupyter Notebook 中运行时,利用 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)、物理、统计、组合学、数论、几何、逻辑等。