Une dérivée à recalculer, une équation du second degré à résoudre, une intégrale qui traîne depuis le lycée. Avant, tu sortais la calculette ou tu rouvrais un vieux cours. Maintenant, tu peux laisser Python s'en charger avec SymPy, la bibliothèque de calcul symbolique de référence. La nuance clé : SymPy ne travaille pas avec des nombres approchés comme NumPy. Il manipule des expressions exactes. La racine de 2 reste une racine de 2, et une dérivée reste une formule que tu peux relire à l'écran. En sept étapes, tu vas dériver, factoriser, résoudre et intégrer sans toucher un stylo.
Étape 1 — Installe SymPy
SymPy s'installe comme n'importe quel paquet Python. Aucune dépendance lourde, une seule ligne suffit.
pip install sympyÉtape 2 — Déclare tes symboles
La base du calcul symbolique, ce sont les symboles. Ce sont des variables que Python traite comme des inconnues mathématiques, pas comme des nombres. Dès que tu les as, tu écris des expressions et tu les transformes.
from sympy import symbols, expand
x, y = symbols("x y")
expr = (x + y) ** 2
print(expr) # (x + y)**2
print(expand(expr)) # x**2 + 2*x*y + y**2expand développe l'expression. Tu remarques tout de suite que SymPy affiche des maths propres, pas des flottants approximatifs.
Étape 3 — Dérive sans papier ni brouillon
La dérivée est la porte d'entrée classique. Une ligne, et tu obtiens la formule exacte.
from sympy import symbols, diff
x = symbols("x")
f = x**3 + 2*x**2 - 5*x + 1
df = diff(f, x)
print(df) # 3*x**2 + 4*x - 5Pour dériver plusieurs fois, passe l'ordre en plus : diff(f, x, 2) te donne la dérivée seconde.
Étape 4 — Résous une équation en une ligne
solve est la fonction qui règle les équations. Tu lui donnes une expression, elle te rend toutes les solutions.
from sympy import symbols, solve
x = symbols("x")
print(solve(x**2 - 5*x + 6, x)) # [2, 3]Deux racines, deux solutions, sans discriminant à calculer. solve gère aussi les systèmes d'équations si tu lui passes une liste.
Étape 5 — Factorise et simplifie
La factorisation fait le travail inverse de expand. Pratique pour repérer les racines d'un polynôme, ou pour nettoyer une formule avant de la montrer à quelqu'un.
from sympy import symbols, factor, simplify
x = symbols("x")
print(factor(x**2 - 5*x + 6)) # (x - 3)*(x - 2)
print(simplify((x**2 - 1) / (x - 1))) # x + 1Étape 6 — Intègre, en indéfinie comme en définie
L'intégration est le pendant inverse de la dérivation. integrate gère les deux cas : la primitive simple, ou l'intégrale bornée avec un intervalle.
from sympy import symbols, integrate
x = symbols("x")
print(integrate(2*x, x)) # x**2
print(integrate(x**2, (x, 0, 2))) # 8/3Remarque le résultat exact 8/3, pas 2.666666. C'est tout l'intérêt du calcul symbolique.
Étape 7 — La limite que tout le monde connaît
sin(x)/x en 0, c'est la limite célèbre qui vaut 1. SymPy la calcule proprement.
from sympy import symbols, limit, sin
x = symbols("x")
print(limit(sin(x) / x, x, 0)) # 1Bonus — les matrices et leurs valeurs propres
SymPy sait aussi faire de l'algèbre linéaire exacte. Déterminant, inverse, valeurs propres : tout reste symbolique.
from sympy import Matrix
M = Matrix([[1, 2], [3, 4]])
print(M.det()) # -2
print(M.inv()) # Matrix([[-2, 1], [3/2, -1/2]])
print(M.eigenvals()) # {5/2 - sqrt(33)/2: 1, 5/2 + sqrt(33)/2: 1}SymPy ne remplace pas ton cerveau, il te débarrasse du calcul mécanique. Tu gardes la compréhension, tu délègues l'exécution. Et comme tout reste exact, tu peux vérifier tes résultats sans craindre les erreurs d'arrondi. La prochaine fois qu'une dérivée ou une équation te barre la route, tu sais quoi faire : pip install sympy, et on n'en parle plus.






