Comment effectuer une intégration indéfinie (symbolique) en Python avec SymPy ?

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.

É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)

Comment effectuer une intégration indéfinie (symbolique) en Python avec SymPy
Comment effectuer une intégration indéfinie (symbolique) en Python avec SymPy

(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 :

Comment effectuer une intégration indéfinie (symbolique) en Python avec SymPy
Comment effectuer une intégration indéfinie (symbolique) en Python avec SymPy

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 :

Comment effectuer une intégration indéfinie (symbolique) en Python avec SymPy
Comment effectuer une intégration indéfinie (symbolique) en Python avec SymPy

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.

Comment effectuer une intégration indéfinie (symbolique) en Python avec SymPy
Comment effectuer une intégration indéfinie (symbolique) en Python avec SymPy

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.

Comment effectuer une intégration indéfinie (symbolique) en Python avec SymPy
Comment effectuer une intégration indéfinie (symbolique) en Python avec SymPy

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.
Image

of