Tuesday, July 22, 2008

SymPy 0.6.1 released

SymPy 0.6.1 has been released on July 22, 2008. It is available at

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.

Tuesday, July 8, 2008

SymPy 0.6.0 released

SymPy 0.6.0 has been released on July 7, 2008. It is available at

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:
  • all documentation wiki pages moved to docs.sympy.org
  • mpmath was integrated in SymPy, numerics module removed
  • mpmath can use gmpy optionally, thus calculating 1000000 digits of pi in 7.5s
  • Common subexpression elimination implemented (commit 1, 2, 3, 4), see docs
  • roots, RootsOf, RootSum implemented (commit)
  • lambdify() now accepts Matrices (commit)
  • Matrices polished and spedup (commit 1, 2, 3, 4, 5, 6, 7, 8, 9)
  • source command implemented (commit 1, 2)
  • Polys were made the default polynomials in SymPy (commit 1, + many following commits)
  • Add, Mul, Pow now accept evaluate=False argument (commit)



Plus a lot of smaller bugfixes, you can browse our Mercurial history for details.

We have consolidated and improved all our docs, you can find it in the package and also online here:

http://docs.sympy.org/

and we also created a road map for the future releases of SymPy:

http://wiki.sympy.org/wiki/Plan_for_SymPy_1.0

As you can see, we have finally moved from the 0.5.0 era by consolidating the docs and you can read there what is planned for the 0.6.0 series and further.

The following 12 people have contributed patches to this release:
  • Mateusz Paprocki
  • Fredrik Johansson
  • Robert Kern
  • Riccardo Gori
  • Sebastian Krämer
  • Case Van Horsen
  • Vinzent Steinberg
  • Roberto Nobrega
  • Friedrich Hagedorn
  • David Roberts
  • Kirill Smelkov
  • Ondrej Certik
Many thanks to all of you who helped review patches:
  • Kirill Smelkov
  • Mateusz Paprocki
  • Robert Kern
  • Vinzent Steinberg
  • Fredrik Johansson
  • Sebastian Krämer
And all the others who helped on our mailinglists.

We welcome any comments, questions, bug reports, patches. Any contribution you do is very useful.

You can also read Fredrik's progress on his GSoC project here:

http://planet.sympy.org/

there are a lot of interesting posts.