http://code.google.com/p/sympy/
About SymPy
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.
user-visible changes:
- almost all functions and constants can be converted to Sage (commit 1, 2)
- univariate factorization algorithm was fixed (commit)
- .evalf() method fixed, pi.evalf(106) calculates 1 000 000 digits of pi (commit 1)
- @threaded decorator (commit 1, 2, 3)
- more robust solvers, polynomials and simplification (about 60 patches from Mateusz, see the hg history)
- better simplify, that makes a solver more robust (commit)
- optional compiling of functions to machine code (commit)
- msolve: solving of nonlinear equation systems using Newton's method (commit)
changes that affected speed:
- ((x+y+z)**50).expand() is now 3 times faster (commit)
- caching was removed from the Order class: 1.5x speedups in series tests (commit 1, 2, 3, 4, 5)
The following 8 people have contributed patches to this release:
- Mateusz Paprocki
- Vinzent Steinberg
- Fredrik Johansson
- Riccardo Gori
- Kirill Smelkov
- Štěpán Roučka
- Ali Raza Syed
- Ondřej Čertík
The following people helped review patches:
- Riccardo Gori
- Fredrik Johansson
- Kirill Smelkov
- Ondřej Čertík
- Mateusz Paprocki
See our hg history for all patches. In the 0.6.x series we concentrate on much better integration with Sage and NumPy. And also improving our docs. See our roadmap:
http://wiki.sympy.org/wiki/Plan_for_SymPy_1.0
SymPy will remain pure Python by default, but for people that do install additional packages, SymPy should be able to use them. Currently SymPy can already use gmpy, NumPy and compile functions to machine code using tcc.