📅  最后修改于: 2020-11-05 04:39:25             🧑  作者: Mango
符号计算是指用于处理数学表达式和其他数学对象的算法的开发。符号计算将数学与计算机科学相集成,以使用数学符号来求解数学表达式。诸如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))
上面的代码片段的输出如下-
平方(7)
可以使用下面的代码段来简化和显示表达式的结果-
>>> import math
>>> print (math.sqrt(12))
上面的代码片段的输出如下-
3.4641016151377544
您需要使用以下代码片段使用sympy执行相同的操作:
##sympy output
>>> print (sympy.sqrt(12))
的输出如下-
2 *平方(3)
在Jupyter笔记本中运行时,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),物理,统计,组合,数论,几何,逻辑等。