Projects / mpmath


Mpmath is a pure-Python library for arbitrary-precision floating-point arithmetic. It implements the standard functions from Python's math and cmath modules (exp, log, sin, etc.), plus a few nonelementary special functions (gamma, zeta, etc.), and has utilities for arbitrary-precision numerical differentiation, integration, root-finding, and interval arithmetic. It supports unlimited exponent sizes, has full support for complex numbers, and offers better performance than Python's standard decimal library. Mpmath is lightweight and easy to install or include in other software due to being written entirely in Python with no additional dependencies.


Recent releases

  •  01 Feb 2011 22:15

    Release Notes: This release works with Python 3. To support both Python 2.x and 3.x with the same codebase, compatibility with Python 2.4 has been dropped (mpmath now requires 2.5 or higher). New functionality includes an implementation of the Lerch transcendent, Riemann zeta zero counting, and improved support for evaluating derivatives of the Hurwitz zeta function and related functions.

    •  24 Sep 2010 17:06

      Release Notes: Changes include new special functions (incomplete elliptic integrals, inhomogeneous Bessel functions, Bessel function zeros, and parabolic cylinder functions), rewritten functions (Lambert W function and Airy functions), and various other fixes and improvements. Support has also been added for new extension code that will make this release much faster in Sage, particularly affecting elementary and hypergeometric functions.

      •  06 Jun 2010 15:27

        Release Notes: Besides many small fixes, this release includes large performance improvements for transcendental functions, new code for computing the nontrivial zeros of the Riemann zeta function, and many new special functions (including generalized 2D hypergeometric series, q-functions, and new elliptic functions). Support for complex interval arithmetic has also been added.

        •  05 Feb 2010 20:10

          Release Notes: New features include support for using a Cython-based backend soon to be added to Sage (giving a large speedup of mpmath in Sage), support for 3D plotting, fast low-precision functions (using Python's built-in float/complex types), an implementation of the Riemann-Siegel expansion for the Riemann zeta function, many improvements to evaluation of hypergeometric functions, miscellaneous new special functions, matrix functions, and several bugfixes and optimizations.

          •  13 Aug 2009 20:09

            Release Notes: This release implements about 30 new special functions, including Kelvin, Struve, Coulomb, Whittaker, associated Legendre, Meijer G, Appell, incomplete beta, generalized exponential integral, Hurwitz zeta, and Clausen functions. The algorithms for hypergeometric-type functions have been greatly improved to robustly handle arbitrarily large arguments and limit cases of the parameters. Other new features and bugfixes are included as well.


            Project Spotlight


            A Fluent OpenStack client API for Java.


            Project Spotlight

            TurnKey TWiki Appliance

            A TWiki appliance that is easy to use and lightweight.