SymPy

SymPy

Infobox_Software
name=SymPy
logo=
genre=Computer algebra system
license=New BSD license
website=http://code.google.com/p/sympy/
latest release version=0.6.2
latest release date=August 17, 2008
programming language=Python
operating system=Cross-platform
developer=Independent group of people
:"Not to be confused with SimPy, a Python discrete-event simulation language."

SymPy is a Python library for symbolic mathematics. It aims to become a full-featured computer algebra system (CAS) while keeping the code as simple as possible in order to be comprehensible and easily extensible. SymPy is written entirely in Python and does not require any external libraries, except optionally for plotting support.

SymPy is free software. It is currently under active development, the lead developer is Ondřej Čertík.

Features

Currently, SymPy core has around 6300 lines of code (including extensive comments and docstrings) and its capabilities include:

* basic arithmetics *,/,+,-,**
* basic simplification (like a*b*b + 2*b*a*b -> 3*a*b^2)
* expansion (like (a+b)^2 -> a^2 + 2*a*b + b^2)
* functions (exp, ln, ...)
* complex numbers (like exp(I*x).expand(complex=True) -> cos(x)+I*sin(x))
* differentiation
* taylor (laurent) series
* substitution (like x -> ln(x), or sin -> cos)
* arbitrary precision integers, rationals and floats
* noncommutative symbols
* pattern matching

Then there are SymPy modules (18200 lines including documentation) for these tasks:

* more functions (sin, cos, tan, atan, asin, acos, factorial, zeta, legendre)
* limits (like limit(x*log(x), x, 0) -> 0)
* integration using extended Risch-Norman heuristic
* polynomials (division, gcd, square free decomposition, groebner bases, factorization)
* solvers (algebraic, difference and differential equations, and systems of equations)
* symbolic matrices (determinants, LU decomposition...)
* Pauli and Dirac algebra
* geometry module
* plotting (2D and 3D)

There are extensive tests (6148 lines in 58 files) for every single feature in SymPy.

Related projects

* SAGE: an open source alternative to Mathematica, Maple, Matlab and Magma (SymPy is included in SAGE)
* [http://code.google.com/p/mpmath/ mpmath] : a Python library for arbitrary-precision floating-point arithmetic (included in SymPy)
* [http://code.google.com/p/sympycore/ sympycore] : a fork of SymPy
* symbide: GUI for SymPy in PyGTK
* symfe: Lightweight symbolic finite element calculations in Python

Usage examples

Differentiation:>>> from sympy import *>>> x,y = symbols('x', 'y')>>> f = x**2 / y + 2 * x - ln(y)>>> diff(f,x)2 + 2*x/y>>> diff(f,y)-1/y - x**2*y**(-2)>>> diff(diff(f,x),y)-2*x*y**(-2)

Plotting:>>> from sympy import *>>> Plot(cos(x*3)*cos(y*5)-y) [0] : -y + cos(3*x)*cos(5*y), 'mode=cartesian'

See also

* Comparison of computer algebra systems

External links

* [http://code.google.com/p/sympy/ SymPy Project Home]
* [http://planet.sympy.org/ Planet SymPy]


Wikimedia Foundation. 2010.

Игры ⚽ Нужно сделать НИР?

Look at other dictionaries:

  • SymPy — Desarrollador Grupo independiente de personas [1] Información general Última versión estable 0.6.7 17 de marzo de …   Wikipedia Español

  • Comparison of computer algebra systems — The following tables provide a comparison of computer algebra systems (CAS). Contents 1 General 1.1 Functionality 1.2 Operating system support 2 Hand held calculator CAS …   Wikipedia

  • Sage — У этого термина существуют и другие значения, см. Sage (значения). Sage …   Википедия

  • SAGE — Saltar a navegación, búsqueda Para otros usos de este término, véase Sage (desambiguación). SAGE El interface gráfico bajo Firefox …   Wikipedia Español

  • Algorithme de Risch — L’algorithme de Risch, dû à Robert Risch (de), est un algorithme destiné aux systèmes de calcul formel, permettant de calculer des primitives, c est à dire de déterminer une fonction, connaissant sa dérivée. L’algorithme transforme ce… …   Wikipédia en Français

  • MATLAB — For the region in Bangladesh, see Matlab Upazila. MATLAB MATLAB R2011a screenshot …   Wikipedia

  • Mathematica — For other uses, see Mathematica (disambiguation). Mathematica Mathema …   Wikipedia

  • Computer algebra system — A computer algebra system (CAS) is a software program that facilitates symbolic mathematics. The core functionality of a CAS is manipulation of mathematical expressions in symbolic form. Contents 1 Symbolic manipulations 2 Additional capabilities …   Wikipedia

  • Maple (software) — Maple Maple interface Developer(s) Waterloo Maple (Maplesoft) Stable release 15.01 / June 21, 2011; 4 months ago (2011 06 21) …   Wikipedia

  • Maxima (software) — For other uses, see Maxima (disambiguation). Maxima wxMaxima screenshot …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”