Introduction
Vous pouvez effectuer une intégration indéfinie (intégration symbolique) facilement en Python à l’aide de SymPy, une bibliothèque dédiée aux mathématiques symboliques.
Table des matières
Étape 1. Importer les modules nécessaires
1 | import sympy as sp |
Étape 2. Définir le(s) symbole(s)
Commencez par définir la variable d’intégration à l’aide de sp.Symbol ou sp.symbols :
1 | x = sp.Symbol('x') |
Étape 3. Définir la fonction à intégrer
Supposons que nous voulions intégrer ( f(x) = x^2 \times e^x ) :
1 | f = x**2 * sp.exp(x) |
Étape 4. Calculer l’intégrale indéfinie
Utilisez sp.integrate() :
1 2 | F = sp.integrate(f, x) print(F) |
Résultat :
1 | x**2*exp(x) - 2*x*exp(x) + 2*exp(x) |

(SymPy omet par défaut la constante “+ C”.)
Étape 5. (Optionnel) Ajouter la constante d’intégration
Si vous souhaitez l’afficher explicitement :
1 2 3 | C = sp.Symbol('C') F_with_C = F + C print(F_with_C) |
Exemple avec plusieurs variables
Si votre expression contient plusieurs variables, vous pouvez spécifier celle par rapport à laquelle intégrer :
1 2 3 4 5 6 7 | y = sp.Symbol('y') expr = x**2 + sp.sin(y) integral_x = sp.integrate(expr, x) integral_y = sp.integrate(expr, y) print("∫ par rapport à x :", integral_x) print("∫ par rapport à y :", integral_y) |
Exemple : intégrale trigonométrique
1 2 3 | f = sp.sin(x) * sp.cos(x) F = sp.integrate(f, x) print(F.simplify()) |
Résultat :
1 | sin(x)**2/2 |
Afficher les expressions SymPy en LaTeX (Jupyter Notebook)
Dans un notebook Jupyter, vous pouvez afficher les expressions SymPy de manière élégante en LaTeX, grâce aux outils d’affichage intégrés.
Cela permet de présenter les résultats symboliques (intégrales, équations, etc.) sous une forme mathématique bien formatée, améliorant ainsi la lisibilité et la qualité visuelle.
Option 1 : Utiliser sp.init_printing() (recommandé)
Cette commande configure SymPy pour afficher automatiquement les sorties au format LaTeX.
1 2 3 4 5 6 7 8 9 | import sympy as sp sp.init_printing() # active l’affichage LaTeX x = sp.Symbol('x') f = x**2 * sp.exp(x) F = sp.integrate(f, x) F |
Résultat :
Vous verrez quelque chose comme :

Affiché joliment en LaTeX dans la cellule de sortie du notebook.
Option 2 : Utiliser display() et sp.Eq()
Si vous souhaitez afficher le résultat sous forme d’équation :
1 2 3 4 5 6 7 8 | from sympy import symbols, integrate, exp, Eq from IPython.display import display x = symbols('x') f = x**2 * exp(x) F = integrate(f, x) display(Eq(sp.Integral(f, x), F)) |
Résultat :

Option 3 : Utiliser explicitement display(Math(...))
Pour un contrôle total du rendu LaTeX :
1 2 3 | from IPython.display import display, Math display(Math(f"\\int x^2 e^x \\,dx = {sp.latex(F)} + C")) |
Cette méthode utilise la fonction latex() de SymPy pour convertir les expressions symboliques en chaînes LaTeX valides.

Option 4 : (Optionnel) LaTeX en ligne avec une cellule Markdown
Vous pouvez aussi insérer une cellule Markdown et y écrire :
1 | $\int x^2 e^x \,dx = e^x(x^2 - 2x + 2) + C$ |
pour obtenir un rendu de qualité publication.

Références
| Liens | Site |
|---|---|
| https://docs.sympy.org/latest/modules/integrals/integrals.html | Documentation officielle des intégrales SymPy — référence pour integrate(), les objets Integral et l’intégration symbolique. |
| https://docs.sympy.org/latest/tutorial/printing.html | Affichage SymPy (rendu LaTeX) — explique init_printing(), latex() et l’affichage élégant dans Jupyter. |
| https://ipython.readthedocs.io/en/stable/api/generated/IPython.display.html | Module d’affichage IPython — documentation officielle de display(), Math() et du rendu LaTeX enrichi dans les notebooks. |
| https://jupyter-notebook.readthedocs.io/en/stable/examples/Notebook/Working%20With%20Markdown%20Cells.html | Guide Markdown Jupyter Notebook — comment afficher des équations LaTeX dans les cellules Markdown. |
| https://docs.python.org/3/library/sympy.html | Index du module SymPy dans la bibliothèque standard Python — vue d’ensemble de SymPy en tant que bibliothèque de calcul symbolique. |
