fredrikj.net / blog /

Announcing mpmath 0.16

September 24, 2010

I’m happy to announce the release of mpmath 0.16, which contains the usual bugfixes as well as a slew of new features!

The main focus has been to improve coverage of special functions. Additions include inhomogeneous Bessel functions, Bessel function zeros, incomplete elliptic integrals, and parabolic cylinder functions. As of 0.16, mpmath implements essentially everything listed in the NIST Digital Library of Mathematical Functions chapters 1-20, as well as 21,24,27 and 33. (For 25 and 26 — combinatorial and number-theoretic functions, see also my post about FLINT 2.)

Another major change is that mpmath 0.16 running in Sage will be much faster thanks to new extension code (currently awaiting review for inclusion in Sage). I’ve clocked speedups between 1.3x and 2x for various nontrivial pieces of code (such as the mpmath test suite and the torture test programs).

Thanks to William Stein, my work on mpmath during the summer was funded using resources from NSF grant DMS-0757627. This support is gratefully acknowledged.

Most of the new features are described in previous posts on this blog. For convenience, here is a short summary:

Assorted special functions update

Incomplete elliptic integrals complete

Sage Days 23, and Bessel function zeros

Post Sage Days 24 report

Euler-Maclaurin summation of hypergeometric series

Again, mpmath in Sage is about to get faster

There are various other changes as well, such as support for matrix slice indexing (contributed by Ioannis Tziakos — thanks!). As usual, details are available in the changelog and the Changes page on the Google Code project site.