Le module Mpmath

Généralités
Le module Mpmath est un module Python de calcul numérique en précision arbitraire (arithmétique multiprécision). Il fonctionne sur toutes les versions de Python à partir de la 2.5. Toutes, y compris les versions de Python 3.x.

Mpmath est aussi un composant standard de Sage. Il peut être utilisé par le biais de Sympy. Ou alors, à condition de l’avoir préalablement installé (la procédure d’installation est très simple), il peut être directement utilisé en tant que module dans Python.

from mpmath import *

Voici quelques exemples simples dont certains sont issus de la documentation (à consulter pour en savoir plus). D’abord des exemples basés sur le type mpf.

>>> mp.dps = 40     # redéfinit la précision
>>> mpf(1) / 6
mpf('0.1666666666666666666666666666666666666666676')
>>> mp.dps = 25
>>> mpf(2) ** mpf('0.5')
mpf('1.414213562373095048801688713')

A partir du moment où x est un objet mpf, toute opération sur x se fera avec la précision souhaitée.

>>> a = mpf(1) / 6
>>> a
mpf('0.16666666666666666')
>>> nstr(a, 8)
'0.16666667'
>>> nprint(a, 8)
0.16666667

Tracés de courbe
Ceux qui trouvent que Matplotlib est un peu lourd pour tracer de simples courbes de fonctions risquent d’être intéressés par ce qui va suivre. Si Matplotlib est installé, Mpmath permet de tracer des courbes de fonctions plus simplement comme le montre les exemples suivants.

plot([sin, cos], [-4, 4])

qui produit
sinus et cosinus

def f(x): return x**2
def g(x): return x
def h(x): return sqrt(x)
def i(x): return 1/x
plot([f, g, h, i], [0, 2], [0, 4])

qui produit
fonctions de référence
Par contre, un inconvénient : pas de solution simple pour insérer des légendes ou adapter la grille.

About Kamel Naroun

Enseignant dans l'académie de Rouen.
This entry was posted in Modules and tagged , , . Bookmark the permalink.

Comments are closed.