Sommaire
SymPy est une bibliothèque Python a usage scientifique notamment mathématiques utilisée pour le calcul formel.
Cette bibliothèque permet de réaliser du calcul symbolique ou formel. Sur des aspects purement mathématiques, il permet l’écriture et le traitement d’équations, la simplification, le calcul de dérivées, d’intégrales, de limites, de séries…
Vous trouverez également des informations sur la page de SymPy : https://www.sympy.org/
Installation de la bibliothèque
Sympy est installée par défaut avec la plupart des distributions Python (comme Anaconda). Elle peut cependant être installé sur Python par l’une des commandes suivantes (dépendant de votre distribution) :
pip install sympy conda install sympy
Importation de la bibliothèque
Afin de pouvoir utiliser la bibliothèque Sympy dans vos scripts sous Python, il est indispensable de l’importer dans votre programme :
import sympy as smp
Le calcul formel, c’est quoi ?
Calcul sur un ordinateur
Par défaut, si on demande à un calculateur de réaliser une opération, le programme vous fournira la valeur finale du calcul.
Par exemple, si on réalise les calculs suivants avec la bibliothèque math (résultat équivalent avec Numpy) :
import math math.sqrt(9) math.sqrt(8) m = 3/2
On obtiendra le résultat suivant : 3.0 et 2.828427… m = 1.5. Ce qui correspond aux valeurs du calcul fourni à la machine.
Calcul formel
Si on réalise ces mêmes calculs de manière formelle, comme suit :
import sympy sympy.sqrt(9) sympy.sqrt(8) k = sympy.Rational(3/2)
On va alors obtenir les résultats suivants : $$3$$ $$2\sqrt(2)$$ $$k = 3/2$$
Par l’utilisation du calcul formel, on voit qu’on conserve la valeur exacte dans tout le calcul.
Expressions mathématiques
Il est alors possible de traiter avec cette bibliothèque des expressions mathématiques contenant des variables mathématiques.
Variables symboliques
Pour cela, il faut au préalable déclarer les variables qui resteront symboliques :
x, y = sympy.symbols('x y')
Expressions symboliques
Il est alors possible de décrire des expressions. Pour cela, il faut les déclarer de la façon suivante :
expr = x**2 4 * x + 5