mpmath

Software Screenshot:
mpmath
Software Details:
Version: 0.19
Upload Date: 14 Apr 15
Developer: Fredrik Johansson
Distribution Type: Freeware
Downloads: 155

Rating: 3.0/5 (Total Votes: 3)

It provides an extensive set of unlimited exponent sizes, transcendental functions, complex numbers, interval arithmetic, numerical integration and differentiation, root-finding, linear algebra, and much more.

Almost any calculation can be performed just as well at 10-digit or 1000-digit precision, and in many cases mpmath implements asymptotically fast algorithms that scale well for extremely high precision work.

The library can also use gmpy's power to speed up its processes.

Features:

  • Arithmetic:
  • Real and complex numbers with arbitrary precision
  • Unlimited exponent sizes / magnitudes
  • Support for infinities and not-a-numbers
  • Directed rounding
  • Interval arithmetic
  • Matrices with arbitrary-precision real, complex or interval elements
  • Functions:
  • Elementary functions (sqrt, exp, log, trigonometric, hyperbolic, inverse trig and hyperbolic)
  • Standard mathematical constants: pi, e, the golden ratio, Euler's constant (gamma)
  • Less standard constants: Catalan's, Apery's, Khinchin's and Glaisher's constants
  • Lambert W function (all branches)
  • Error function (erf), imaginary and complementary error functions; inverse error function; normal distribution functions
  • Gamma functions (complete and incomplete), factorials, double factorials and binomial coefficients, log gamma function; complete and incomplete beta functions
  • Fibonacci numbers
  • Barnes G-function, super- and hyperfactorials
  • Polygamma functions
  • Riemann zeta function, Hurwitz zeta function, Riemann-Siegel and related functions
  • Bernoulli numbers (fast numerical and exact computation of large Bernoulli numbers)
  • Polylogarithms, Clausen functions
  • Stieltjes constants
  • Bessel functions; Hankel, Struve, Kelvin, Whittaker, Airy, Coulomb functions
  • Exponential and trigonometric integrals
  • Arithmetic-geometric mean
  • Complete elliptic integrals
  • Jacobi elliptic functions and Jacobi theta functions
  • Jacobi, Legendre and Chebyshev and other orthogonal polynomials; associated Legendre functions
  • Generic hypergeometric functions; the Meijer G-function
  • High-level features:
  • Numerical integration (regular, double/triple integrals, oscillatory)
  • Numerical differentiation and differintegration (arbitrary orders)
  • Limits and summation of infinite series (with convergence acceleration)
  • Root-finding (1D and multidimensional; secant method, bisection, modified Newton's method, and other algorithms)
  • Polynomial evaluation and polynomial root-finding
  • Chebyshev approximation
  • ODE solvers
  • Fourier and Taylor series
  • Integer relation detection (constant recognition)
  • Linear algebra functions (linear system solving, LU factorization, matrix inverse, matrix norms)

What is new in this release:

  • Enabled automatic testing with Travis CI.
  • Fixed many doctest issues.
  • Converted line endings to LF.
  • Made polyroots() more robust.

What is new in version 0.17:

  • Compatibility:
  • Python 3 is now supported
  • Dropped Python 2.4 compatibility
  • Fixed Python 2.5 compatibility in matrix slicing code
  • Implemented Python 3.2-compatible hashing, making mpmath numbers hash compatible with extremely large integers and with fractions in Python versions >= 3.2.
  • Special functions:
  • Implemented the von Mangoldt function (mangoldt())
  • Implemented the "secondary zeta function" (secondzeta())
  • Implemented zeta zero counting (nzeros()) and the Backlund S function (backlunds())
  • Implemented derivatives of order 1-4 for siegelz() and siegeltheta()
  • Improved Euler-Maclaurin summation for zeta() to give more accurate results in the right half-plane when the reflection formula cannot be used
  • Implemented the Lerch transcendent (lerchphi())
  • Fixed polygamma function to return a complex NaN at complex infinity or NaN, instead of raising an unrelated exception.

What is new in version 0.13:

  • New special functions:
  • The generalized exponential integral E_n (expint(), e1() for E_1)
  • The generalized incomplete beta function (betainc())
  • Whittaker functions (whitm(), whitw())
  • Struve functions (struveh(), struvel())
  • Kelvin functions (ber(), bei(), ker(), kei())
  • Cyclotomic polynomials (cyclotomic())
  • The Meijer G-function (meijerg())
  • Clausen functions (clsin(), clcos())
  • The Appell F1 hypergeometric function of two variables (appellf1())
  • The Hurwitz zeta function, with nth order derivatives (hurwitz())
  • Dirichlet L-series (dirichlet())
  • Coulomb wave functions (coulombf(), coulombg(), coulombc())
  • Associated Legendre functions of 1st and 2nd kind (legenp(), legenq())
  • Hermite polynomials (hermite())
  • Gegenbauer polynomials (gegenbauer())
  • Associated Laguerre polynomials (laguerre())
  • Hypergeometric functions hyp1f2(), hyp2f2(), hyp2f3(), hyp2f0(), hyperu()
  • Evaluation of hypergeometric functions:
  • Added the function hypercomb() for evaluating expressions containing
  • hypergeometric series, with automatic handling of limits
  • The available hypergeometric series (of orders up to and including 2F3)
  • implement asymptotic expansions with respect to the last argument z, allowing
  • fast and accurate evaluation anywhere in the complex plane. A massive number
  • of functions, including Bessel functions, error functions, etc., have been
  • updated to take advantage of this to support fast and accurate evaluation
  • anywhere in the complex plane.
  • Fixed hyp2f1 to handle z close to and on the unit circle (supporting
  • evaluation anywhere in the complex plane)
  • hyper() handles the 0F0 and 1F0 cases exactly
  • hyper() eventually raises NoConvergence instead of getting stuck in
  • an infinite loop if given a divergent or extremely slowly convergent series
  • Other improvements and bug fixes to special functions:
  • gammainc is much faster for large arguments and avoids catastrophic
  • cancellation
  • Implemented specialized code for ei(x), e1(x), expint(n,x) and gammainc(n,x)
  • for small integers n, making evaluation much faster
  • Extended the domain of polylog
  • Fixed accuracy for asin(x) near x = 1
  • Fast evaluation of Bernoulli polynomials for large z
  • Fixed Jacobi polynomials to handle some poles
  • Some Bessel functions support computing nth order derivatives
  • A set of "torture tests" for special functions is available as
  • tests/torture.py
  • Other:
  • Implemented the differint() function for fractional differentiaton / iterated
  • integration
  • Added functions fadd, fsub, fneg, fmul, fdiv for high-level arithmetic with
  • controllable precision and rounding
  • Added the function mag() for quick order-of-magnitude estimates of numbers
  • Implemented powm1() for accurate calculation of x^y-1
  • Improved speed and accuracy for raising a pure imaginary number to
  • an integer power
  • nthroot() renamed to root(); root() optionally computes any of
  • the non-principal roots of a number
  • Implemented unitroots() for generating all (primitive) roots of unity
  • Added the mp.pretty option for nicer repr output

Requirements:

  • Python 2.4 or higher

Similar Software

colormath
colormath

21 Jul 15

Couchquery
Couchquery

13 May 15

PyICU
PyICU

13 May 15

PyYAML
PyYAML

13 May 15

Other Software of Developer Fredrik Johansson

mpmath
mpmath

12 May 15

Comments to mpmath

Comments not found
Add Comment
Turn on images!