SymPy

维基百科,自由的百科全书
跳转至: 导航搜索
SymPy
Sympy-160px.png
開發者 Ondřej Čertík和Aaron Meurer等
初始版本 2007年;7年前 (2007)
穩定版本 0.7.5 / 2014年2月22日;4個月前 (2014-02-22)
開發狀態 Active
编程语言 Python
操作系统 跨平台
类型 计算机代数系统
许可协议 修正的BSD许可证[1]
網站 sympy.org

SymPy是一个符号计算的Python。它的目标是成为一个全功能的计算机代数系统,同时保持代码简洁、易于理解和扩展。它完全由Python写成,不依赖于外部库。[2]

SymPy支持符号计算、高精度计算、模式匹配、绘图、解方程、微积分、组合数学离散数学、几何学、概率与统计、物理学等方面的功能。[2][3]

SymPy在新BSD许可证下开源。[1]

用例[编辑]

f(x) = \frac{x^2+2x+1+(3x+1)\sqrt{x+\ln x}}{x\,\sqrt{x+\ln x}(x+\sqrt{x+\ln x})}的积分:

>>> from sympy import init_printing, integrate, log, sqrt, symbols
>>> init_printing()
>>> x = symbols('x')
>>> g = sqrt(x + log(x))
>>> f = (x ** 2 + 2 * x + 1 + (3 * x + 1) * g) / (x * g * (x + g))
>>> f
 2           ____________              
x  + 2⋅x + ╲╱ x + log(x)(3⋅x + 1) + 1
───────────────────────────────────────
   ⎛      ____________⎞   ____________ 
 x⋅⎝x + ╲╱ x + log(x) ⎠⋅╲╱ x + log(x)  
>>> integrate(f, x)
    ____________        ⎛      ____________⎞
2⋅╲╱ x + log(x)  + 2⋅log⎝x + ╲╱ x + log(x)

MathematicaMapleMaximaSage等其他计算机代数系统无法计算出这一不定积分。[4]

参考资料[编辑]

  1. ^ 1.0 1.1 Support SymPy Development
  2. ^ 2.0 2.1 SymPy官方网站
  3. ^ Python代数计算库 SymPy - 开源中国
  4. ^ [1]

外部链接[编辑]