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)
SymPy代码在Jupyter笔记本中运行时使用MathJax库来以Latex形式呈现数学符号。如下代码片段所示 −
>>> from sympy import *
>>> x=Symbol ('x')
>>> expr = integrate(x**x, x)
>>> expr
在Python shell中执行上述命令,将生成以下输出−
Integral(x**x, x)
等价于
\int x^{x}\,\mathrm{d}x
非完全平方的平方根可以用传统符号表示为Latex如下:
>>> from sympy import *
>>> x=7
>>> sqrt(x)
以上代码片段的输出如下所示 −
\sqrt7
像SymPy这样的符号计算系统可以进行各种符号计算(如求导、积分、极限、解方程、矩阵运算)。SymPy包具有不同的模块,支持绘图、打印(如LATEX),物理、统计学、组合学、数论、几何学、逻辑等。