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笔记本中运行时,利用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)、物理学、统计学、组合学、数论、几何、逻辑等。