Skip to main content

Python library for arbitrary-precision floating-point arithmetic

Project description

pypi version Build status Zenodo Badge

A Python library for arbitrary-precision floating-point arithmetic.

Website: https://mpmath.org/ Main author: Fredrik Johansson <fredrik.johansson@gmail.com>

Mpmath is free software released under the New BSD License (see the LICENSE file for details).

0. History and credits

The following people (among others) have contributed major patches or new features to mpmath:

Numerous other people have contributed by reporting bugs, requesting new features, or suggesting improvements to the documentation.

For a detailed changelog, including individual contributions, see the CHANGES file.

Fredrik’s work on mpmath during summer 2008 was sponsored by Google as part of the Google Summer of Code program.

Fredrik’s work on mpmath during summer 2009 was sponsored by the American Institute of Mathematics under the support of the National Science Foundation Grant No. 0757627 (FRG: L-functions and Modular Forms).

Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the sponsors.

Credit also goes to:

  • The authors of the GMP library and the Python wrapper gmpy, enabling mpmath to become much faster at high precision

  • The authors of MPFR, pari/gp, MPFUN, and other arbitrary- precision libraries, whose documentation has been helpful for implementing many of the algorithms in mpmath

  • Wikipedia contributors; Abramowitz & Stegun; Gradshteyn & Ryzhik; Wolfram Research for MathWorld and the Wolfram Functions site. These are the main references used for special functions implementations.

  • George Brandl for developing the Sphinx documentation tool used to build mpmath’s documentation

Release history:

  • Version 1.4.1 released on March 15, 2026

  • Version 1.4.0 released on February 23, 2026

  • Version 1.3.0 released on March 7, 2023

  • Version 1.2.1 released on February 9, 2021

  • Version 1.2.0 released on February 1, 2021

  • Version 1.1.0 released on December 11, 2018

  • Version 1.0.0 released on September 27, 2017

  • Version 0.19 released on June 10, 2014

  • Version 0.18 released on December 31, 2013

  • Version 0.17 released on February 1, 2011

  • Version 0.16 released on September 24, 2010

  • Version 0.15 released on June 6, 2010

  • Version 0.14 released on February 5, 2010

  • Version 0.13 released on August 13, 2009

  • Version 0.12 released on June 9, 2009

  • Version 0.11 released on January 26, 2009

  • Version 0.10 released on October 15, 2008

  • Version 0.9 released on August 23, 2008

  • Version 0.8 released on April 20, 2008

  • Version 0.7 released on March 12, 2008

  • Version 0.6 released on January 13, 2008

  • Version 0.5 released on November 24, 2007

  • Version 0.4 released on November 3, 2007

  • Version 0.3 released on October 5, 2007

  • Version 0.2 released on October 2, 2007

  • Version 0.1 released on September 27, 2007

1. Download & installation

Mpmath requires Python 3.10 or later versions. It has been tested with CPython 3.10 through 3.15 and for PyPy 3.11.

The latest release of mpmath can be downloaded from the mpmath website and from https://github.com/mpmath/mpmath/releases

It should also be available in the Python Package Index at https://pypi.python.org/pypi/mpmath

To install latest release of Mpmath with pip, simply run

pip install mpmath

or from the source tree

pip install .

The latest development code is available from https://github.com/mpmath/mpmath

See the main documentation for more detailed instructions.

2. Documentation

Documentation in reStructuredText format is available in the docs directory included with the source package. These files are human-readable, but can be compiled to prettier HTML using Sphinx.

The most recent documentation is also available in HTML format:

https://mpmath.readthedocs.io/

3. Running tests

The unit tests in mpmath/tests/ can be run with pytest, see the main documentation.

You may also want to check out the demo scripts in the demo directory.

The master branch is automatically tested on the Github Actions.

4. Known problems

Mpmath is a work in progress. Major issues include:

  • Some functions may return incorrect values when given extremely large arguments or arguments very close to singularities.

  • Directed rounding works for arithmetic operations. It is implemented heuristically for other operations, and their results may be off by one or two units in the last place (even if otherwise accurate).

  • Some IEEE 754 features are not available. Inifinities and NaN are partially supported, there is no signed zero; denormal rounding is not available at all.

  • The interface for switching precision and rounding is not finalized. The current method is not threadsafe.

5. Help and bug reports

General questions and comments can be sent to the mpmath mailinglist.

You can also report bugs and send patches to the mpmath issue tracker, https://github.com/mpmath/mpmath/issues

See also our contributing guidelines.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mpmath-1.5.0a0.tar.gz (2.1 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mpmath-1.5.0a0-py3-none-any.whl (571.1 kB view details)

Uploaded Python 3

File details

Details for the file mpmath-1.5.0a0.tar.gz.

File metadata

  • Download URL: mpmath-1.5.0a0.tar.gz
  • Upload date:
  • Size: 2.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for mpmath-1.5.0a0.tar.gz
Algorithm Hash digest
SHA256 fcde7b5a77d4425243f464c096fd9c64eea20ab27316624e1e890295753477cf
MD5 7d478baa98f4f330bffc82f9018fed21
BLAKE2b-256 0fab71fb924f62d283339c42f9b14df3c38423c7aea4f8b91c4be485c72763f0

See more details on using hashes here.

File details

Details for the file mpmath-1.5.0a0-py3-none-any.whl.

File metadata

  • Download URL: mpmath-1.5.0a0-py3-none-any.whl
  • Upload date:
  • Size: 571.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for mpmath-1.5.0a0-py3-none-any.whl
Algorithm Hash digest
SHA256 80a0d9e6abc28c0d474df087bc9f40b439f53975c272e5a3a97ea60898a9878e
MD5 a3a6c9fa6fd6264b87da61a0b0db090c
BLAKE2b-256 547d2a01c04e21ac7d5455eade419e6e55ceb616f432a3b50b225feec6c13275

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page