Sympy 简明教程
SymPy - Symbolic Computation
符号计算指的是用于操纵数学表达式和其他数学对象的算法的开发。符号计算将数学与计算机科学结合起来,使用数学符号来求解数学表达式。计算机代数系统(CAS),如 SymPy,使用传统手工方法中使用的相同符号精确求解(非近似)代数表达式。举个例子,我们可以像下面给出的那样,使用 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$
可以使用传统的符号来表示非完全平方数的平方根,如下所示
>>> from sympy import *
>>> x=7
>>> sqrt(x)
上述代码段的输出如下:
$\sqrt7$
符号计算系统(如 SymPy)能够以符号形式执行各种计算(如导数、积分和极限,求解方程,使用矩阵)。SymPy 包含不同的模块,这些模块支持绘图、打印(如 LATEX)、物理、统计、组合、数论、几何、逻辑等。