Accéder au contenu principal

La quadrature décryptée : méthodes numériques pour approximer les intégrales

Découvrez ce qu'est la quadrature, comment l'intégration numérique approxime les intégrales définies, et le fonctionnement de méthodes comme la règle du trapèze, la règle de Simpson et la quadrature gaussienne.
Actualisé 16 oct. 2026  · 10 min lire

Explorez l'IA

ChatGPTClaudePerplexity

Il existe une catégorie d'intégrales définies qui résistent au calcul à la main. Pas parce que vous vous y prenez mal : certaines fonctions, comme e^(−x²) ou sin(x)/x, n'ont tout simplement pas de primitives fermées. Dans ce cas, il faut changer d'angle : évaluer la fonction en quelques points soigneusement choisis et combiner ces valeurs pour estimer l'aire sous la courbe. C'est la quadrature.

Cet article présente ce qu'est la quadrature, son cadre général, et ses principales méthodes : de la règle du point milieu, très intuitive, à l'approche gaussienne, redoutablement précise. Nous verrons aussi les méthodes composites, les sources d'erreur, les stratégies adaptatives et comment choisir la méthode la mieux adaptée au problème que vous avez sous les yeux.

Qu'est-ce que la quadrature ?

Le mot « quadrature » est ancien. Il vient du problème géométrique classique consistant à construire un carré de même aire qu'une figure donnée — autrement dit « trouver l'aire ». Aujourd'hui, le terme désigne l'approximation numérique d'une intégrale définie.

L'idée centrale est un remplacement : au lieu de chercher une primitive exacte, on échantillonne la fonction f(x) en un ensemble de points appelés nœuds, on multiplie chaque valeur par un poids associé, puis on somme le tout :

Formule d'approximation par quadrature

Les termes quadrature et intégration numérique recouvrent essentiellement la même idée. « Quadrature » s'emploie plutôt dans des contextes mathématiques, tandis que « intégration numérique » est le terme courant en calcul scientifique.

Comment fonctionne la quadrature numérique

Chaque règle de quadrature agit sur un intervalle [a, b]. Sur cet intervalle, elle choisit des nœuds xᵢ et leur associe des poids wᵢ. L'approximation est la somme pondérée ci-dessus. Ce qui distingue les méthodes, c'est l'emplacement des nœuds et l'attribution des poids. C'est tout. La règle du trapèze, la règle de Simpson et la quadrature gaussienne ne sont que des variantes de ce même schéma.

L'erreur d'approximation est l'écart entre la somme pondérée et la valeur exacte de l'intégrale. Toute méthode en introduit, et la vitesse à laquelle cet écart diminue quand on ajoute des nœuds (ou qu'on rétrécit les intervalles) fait la différence entre une bonne et une excellente méthode. Gardez ce cadre en tête : choisir une méthode de quadrature, c'est choisir comment dépenser vos évaluations de fonction.

Méthodes de quadrature courantes

Les méthodes ci-dessous vont des plus intuitives aux plus sophistiquées.

Schéma comparant l'erreur et les aires d'approximation pour les règles numériques du point milieu, du trapèze et de Simpson.Comparaison visuelle des règles d'intégration du point milieu, du trapèze et de Simpson. Image de l'auteur.

Règle du point milieu

Prenez le milieu de [a, b], évaluez f à cet endroit, et multipliez par la largeur (b − a). On suppose que la valeur au centre représente la moyenne sur tout l'intervalle.

Cela paraît presque trop simple — et sur un seul intervalle, ça l'est. Mais première surprise : la règle du point milieu est exacte pour les fonctions constantes et linéaires, et son erreur est en O(h³) par intervalle, où h = b − a. C'est en fait meilleur que la règle du trapèze sur des fonctions régulières, ce qui déconcerte souvent.

Règle du trapèze

Utilisez les deux extrémités plutôt que le centre seul. Reliez-les par une droite et calculez l'aire du trapèze obtenu : (b − a) · [f(a) + f(b)] / 2. Exacte pour les fonctions linéaires, avec une erreur O(h³) par intervalle, du même ordre que la règle du point milieu, mais avec une constante plus grande.

La règle du trapèze est probablement la méthode de quadrature la plus enseignée, ce qui lui vaut une réputation un peu disproportionnée. Pour des fonctions bien comportées, elle est correcte. Mais la version composite de la règle de Simpson fait presque toujours mieux à coût d'évaluations égal.

Règle de Simpson

Ajustez un polynôme quadratique passant par trois points : les deux extrémités et le milieu. Intégrez ce polynôme exactement :

Formule complète de la règle de Simpson.

L'évaluation supplémentaire au centre coûte un appel de fonction de plus, mais le gain est réel : la règle de Simpson est exacte pour les polynômes jusqu'au degré trois, et l'erreur par intervalle est en O(h⁵), soit deux ordres de mieux que la règle du trapèze. Pour les fonctions régulières, c'est généralement la première méthode à essayer.

Quadrature gaussienne

Là, les choses deviennent vraiment intéressantes. Les règles du point milieu, du trapèze et de Simpson utilisent des nœuds régulièrement espacés. La quadrature gaussienne pose une autre question : et si l'on choisissait à la fois l'emplacement des nœuds et les poids pour maximiser la précision ?

Avec n nœuds, la quadrature gaussienne (en particulier la variante de Gauss-Legendre) intègre exactement tout polynôme de degré jusqu'à 2n − 1. Deux nœuds donnent l'exactitude pour les cubiques ; cinq nœuds couvrent les polynômes de degré 9. Les nœuds sont les zéros des polynômes de Legendre et se resserrent vers les extrémités de l'intervalle plutôt que d'être à intervalles réguliers. La précision supplémentaire vient du fait de laisser bouger les nœuds, pas de leur position finale. Leur concentration près des bords est un sous-produit des mathématiques, et nous verrons pourquoi plus bas.

Voici comment ces quatre méthodes se comparent :

Méthode

Démarche

Erreur par intervalle

Coût de calcul

Idéale pour

Règle du point milieu

Évaluer au centre

O(h³)

1 éval./intervalle

Fonctions simples, régulières

Règle du trapèze

Ajustement linéaire

O(h³)

2 éval./intervalle

Fonctions périodiques

Règle de Simpson

Ajustement quadratique

O(h⁵)

3 éval./intervalle

Fonctions régulières

Quadrature gaussienne

Nœuds + poids optimaux

O(h^(2n+1))

n éval./intervalle

Haute précision, fonctions lisses

Méthodes de quadrature composites

Appliquer une règle une seule fois sur l'intervalle [a, b] ne suffit généralement pas. La solution classique : diviser l'intervalle en n sous-intervalles égaux de largeur h = (b − a)/n et appliquer la règle de base sur chacun.

Règles composites du point milieu et du trapèze

Pour la règle du trapèze composite, évaluez f en n+1 points équidistants et additionnez n trapèzes. L'erreur totale tombe à O(h²). Si vous divisez h par deux, l'erreur est divisée par quatre. La règle du point milieu composite suit la même logique et offre le même ordre d'erreur globale.

Règle de Simpson composite

La version composite requiert un nombre pair de sous-intervalles. Évaluez f en n+1 points et obtenez une erreur globale en O(h⁴). En divisant h par deux, l'erreur est divisée par seize. Voilà pourquoi la règle de Simpson composite est souvent le choix par défaut quand il faut une précision modérée sur une fonction lisse.

Le code Python ci-dessous montre comment l'approximation se resserre quand on ajoute des sous-intervalles pour ∫[0 à π] sin(x) dx (valeur exacte : 2,0) :

import numpy as np

def composite_simpson(func, lower, upper, num_intervals):
    """Approximate integral using composite Simpson's rule."""
    if num_intervals % 2 != 0:
        raise ValueError("num_intervals must be even")
    nodes = np.linspace(lower, upper, num_intervals + 1)
    values = func(nodes)
    h = (upper - lower) / num_intervals
    weights = np.ones(num_intervals + 1)
    weights[1:-1:2] = 4   # odd-indexed interior points
    weights[2:-2:2] = 2   # even-indexed interior points
    return (h / 3) * np.dot(weights, values)

exact = 2.0
for n in [4, 8, 16, 32]:
    approx = composite_simpson(np.sin, 0, np.pi, n)
    print(f"n={n:3d}: approx={approx:.10f}, error={abs(approx - exact):.2e}")

Avec seulement 32 intervalles, l'erreur passe sous 10⁻⁶. C'est une convergence en O(h⁴).

Quadrature gaussienne

L'idée derrière la quadrature gaussienne mérite plus qu'une ligne dans un tableau.

Pourquoi des nœuds équidistants ne sont pas toujours optimaux

Quand les nœuds sont régulièrement espacés, vous dépensez votre budget d'évaluations sans tenir compte de la difficulté locale de l'intégrande. Certaines zones exigent plus de résolution, d'autres gaspillent des évaluations sur des tronçons plats. La quadrature gaussienne contourne cela en choisissant des nœuds qui sont démontrablement optimaux pour le degré de polynôme que l'on peut intégrer exactement.

Pour n nœuds, la règle de Gauss-Legendre sélectionne les n zéros du n-ième polynôme de Legendre Pₙ(x) comme nœuds, puis calcule des poids de sorte que tout polynôme de degré ≤ 2n − 1 soit intégré sans erreur. En pratique, numpy.polynomial.legendre.leggauss(n) renvoie les deux. Les nœuds se resserrent vers les extrémités de [−1, 1], l'intervalle de référence standard, là où l'erreur d'interpolation polynomiale tend à être la plus forte et où une densité d'échantillonnage supplémentaire est la plus utile.

Quand l'utiliser

La quadrature gaussienne excelle quand la fonction est lisse et analytique, et que vous cherchez une très haute précision avec peu d'évaluations. Cinq points de Gauss-Legendre peuvent surpasser la règle de Simpson composite avec des dizaines d'intervalles sur des intégrand(e)s bien comporté(e)s. En revanche, elle convient mal aux fonctions avec cassures, discontinuités, ou si les données ne sont disponibles qu'en points équidistants : dans ces cas, le placement soigné des nœuds devient un handicap.

Erreur et précision en quadrature

Aucune méthode numérique n'est exonérée d'erreur. Deux sources distinctes affectent chaque résultat de quadrature, et les comprendre est essentiel pour savoir quand faire confiance à votre réponse.

Les sources d'erreur incluent :

  • Erreur de discrétisation (aussi appelée erreur de troncature) : écart entre l'intégrale exacte et la valeur renvoyée par votre règle de quadrature en arithmétique parfaite. C'est ce que capturent les formules en O(hᵏ). Elle diminue quand on ajoute des points ou qu'on réduit la largeur des intervalles.
  • Erreur d'arithmétique flottante : un autre problème. Additionner de nombreuses petites quantités en précision finie introduit des arrondis qui ne diminuent pas avec h et peuvent même croître. Avec des règles composites utilisant des milliers de sous-intervalles, vous pouvez atteindre un plancher où le bruit numérique domine et où ajouter des intervalles ne sert plus. Pour la plupart des calculs scientifiques, vous atteindrez votre tolérance souhaitée bien avant ce plancher ; mais il existe.

La régularité de la fonction, la largeur des intervalles et le choix de la méthode influent tous sur l'erreur de discrétisation. Une fonction accidentée avec des singularités marquées nécessite plus d'intervalles ou une approche adaptative.

Quadrature adaptative

Une grille uniforme gaspille des évaluations quand l'intégrande est lisse presque partout mais complexe à quelques endroits.

Principe de fonctionnement

Appliquez une règle de quadrature sur un intervalle, puis appliquez une règle d'ordre supérieur (ou la même règle sur deux moitiés) et comparez. La différence estime l'erreur locale. Si elle est sous la tolérance, on accepte l'intervalle. Sinon, on le divise et on recommence sur chaque moitié. Répétez jusqu'à ce que chaque sous-intervalle respecte la tolérance.

Le gain d'efficacité par rapport à un raffinage uniforme peut être considérable quand l'intégrande présente des caractéristiques localisées : un pic étroit, une cassure, une oscillation rapide au milieu de zones lisses. Les méthodes adaptatives concentrent les évaluations là où la fonction l'exige.

scipy.integrate.quad()

En Python, scipy.integrate.quad() implémente une quadrature gaussienne adaptative (plus précisément l'algorithme DQAGSE de QUADPACK). Passez votre fonction et les bornes ; vous obtenez l'estimation et une borne d'erreur. Pour la plupart des intégrales unidimensionnelles, c'est l'outil adéquat, sans réglage manuel.

from scipy import integrate
import numpy as np

# Integrate a function with a peak near x=0.5
def peaked_func(x):
    return np.exp(-100 * (x - 0.5)**2)

result, error_bound = integrate.quad(peaked_func, 0, 1)
print(f"Estimate: {result:.10f}")
print(f"Error bound: {error_bound:.2e}")

quad() gère très bien ce pic étroit. Une règle de Simpson uniforme nécessiterait des centaines de sous-intervalles pour s'aligner.

Comment choisir une méthode de quadrature

En Python, commencez avec scipy.integrate.quad() pour les intégrales unidimensionnelles, sauf raison contraire. C'est adaptatif, précis et éprouvé. Tout ce qui suit est pertinent si vous implémentez vous-même une méthode, travaillez dans un langage sans bonne bibliothèque adaptative ou optimisez pour un cas particulier.

  • Fonctions lisses et analytiques avec formule connue : la quadrature gaussienne offre le meilleur ratio précision/évaluations. Si vous visez une précision modérée et la simplicité, la règle de Simpson composite est un excellent choix par défaut.
  • Fonctions avec cassures ou discontinuités : les méthodes à pas régulier (trapèze, Simpson) surpassent généralement la quadrature gaussienne ici, car le placement fixe des nœuds n'est pas perturbé par les irrégularités. Scindez l'intervalle d'intégration aux discontinuités connues et traitez chaque partie séparément.
  • Données sur des points équidistants fixes : la quadrature gaussienne est à proscrire. Vous ne pouvez pas évaluer la fonction en des nœuds arbitraires ; utilisez plutôt les règles composites du trapèze ou de Simpson.
  • Intégrales de dimension supérieure : la quadrature subit très vite la malédiction de la dimension. Avec n points par dimension et d dimensions, il faut nᵈ évaluations au total. Dix dimensions avec dix points chacune, c'est 10¹⁰ évaluations, infaisable. Monte Carlo s'adapte bien mieux au-delà d'environ cinq dimensions : c'est là que le relais s'opère.

Quadrature et méthodes numériques voisines

La quadrature n'agit pas en vase clos. Il est utile de la situer par rapport aux autres outils susceptibles d'être envisagés.

Quadrature vs intégration analytique

L'intégration analytique trouve une primitive exacte ; la quadrature approxime un nombre. Si une primitive exacte existe et que vous pouvez la trouver, utilisez-la. La quadrature prend le relais quand l'intégration exacte est impossible ou peu pratique.

Quadrature vs intégration Monte Carlo

Les deux approximent des intégrales définies, mais différemment. La quadrature est déterministe : elle évalue f en des nœuds prédéfinis, avec une convergence liée à la régularité de la fonction et au nombre de nœuds. Monte Carlo tire des échantillons aléatoires et les moyenne, avec une erreur en O(1/√N) quelle que soit la dimension. C'est plus lent à basse dimension, mais indépendant de la dimension, ce qui en fait le choix pratique au-delà d'environ cinq dimensions.

Quadrature vs interpolation

Certaines règles de quadrature, dont celle de Simpson, procèdent en ajustant un polynôme aux points d'évaluation puis en l'intégrant exactement. Mais l'objectif diffère de l'interpolation. L'interpolation reconstitue la fonction ; la quadrature cherche uniquement une valeur numérique. Le polynôme est un moyen, pas une fin.

Conclusion

Ce qui est satisfaisant avec la quadrature, c'est tout ce qu'on obtient à partir d'une idée directrice unique. Chaque méthode présentée — point milieu, trapèze, Simpson, Gauss — n'est qu'une réponse différente à la même question : avec un budget d'évaluations de fonction, où les placer et comment les pondérer ?

Ajuster de meilleurs polynômes aux points d'évaluation fait chuter l'erreur rapidement. Déplacer les nœuds de manière optimale extrait encore plus de précision à budget constant. Les méthodes adaptatives bouclent la boucle en orientant les évaluations exactement là où la fonction en a besoin.

En Python, scipy.integrate.quad() est le bon choix par défaut pour les problèmes 1D. Le reste de cet article sert à comprendre ce qui se passe « sous le capot » ou à implémenter vous-même une solution. Pour continuer à développer vos compétences numériques avec SciPy, suivez notre cours Introduction to Optimization in Python.

FAQs

What is quadrature in mathematics?

La quadrature est l'approximation numérique d'une intégrale définie. Plutôt que de trouver analytiquement une primitive, on évalue la fonction en un ensemble de points choisis (nœuds) et l'on combine ces valeurs avec des poids pour estimer l'intégrale. Le terme vient du problème classique consistant à trouver l'aire sous une courbe.

What’s the difference between the trapezoidal rule and Simpson’s rule?

La règle du trapèze approxime l'intégrande par une droite entre les extrémités — elle est exacte pour les fonctions linéaires. La règle de Simpson ajuste un quadratique à trois points (les deux bornes plus le milieu), ce qui la rend exacte jusqu'aux polynômes de degré trois. Pour des fonctions lisses, la règle de Simpson converge bien plus vite : son erreur est en O(h⁵) par intervalle contre O(h³) pour la règle du trapèze.

When should I use Gaussian quadrature instead of composite Simpson’s rule?

Utilisez la quadrature gaussienne si vous pouvez évaluer f en n'importe quel point et que vous voulez une haute précision avec peu d'évaluations — en particulier pour des fonctions lisses et analytiques. La règle de Simpson composite fonctionne généralement mieux lorsque vos données sont sur des points équidistants fixes, ou quand la fonction présente des cassures ou discontinuités qui perturberaient le placement des nœuds gaussiens. Pour la plupart des cas pratiques, des méthodes adaptatives comme scipy.integrate.quad() font ce choix pour vous.

What does “adaptive quadrature” mean?

Plutôt que de répartir uniformément les points d'évaluation, la quadrature adaptative les concentre là où l'erreur d'approximation est forte. Elle estime l'erreur locale sur chaque sous-intervalle, subdivise ceux qui dépassent une tolérance, et répète jusqu'à atteindre l'erreur totale visée. C'est très efficace quand l'intégrande est lisse presque partout mais présente des zones difficiles isolées.

How do I compute a numerical integral in Python?

L'outil standard est scipy.integrate.quad(). Passez la fonction et les bornes d'intégration ; la fonction renvoie l'approximation et une estimation de l'erreur. Pour des bornes infinies, passez np.inf ou -np.inf. Pour des intégrales multidimensionnelles, utilisez dblquad() ou tplquad().

Why does quadrature fail for high-dimensional integrals?

Les règles de quadrature placent des nœuds sur une grille, de sorte que le nombre total d'évaluations de la fonction croît comme nᵈ — n étant le nombre de points par dimension et d le nombre de dimensions. En 10 dimensions avec 10 points chacune, cela fait 10¹⁰ évaluations. Cette explosion exponentielle est la malédiction de la dimension. L'intégration Monte Carlo la contourne car son taux d'erreur est en O(1/√N) quelle que soit la dimension, où N est le nombre total d'échantillons aléatoires.

What’s the difference between quadrature and Monte Carlo integration?

La quadrature est déterministe : elle évalue la fonction en des nœuds prédéfinis, avec des vitesses de convergence qui dépendent de la méthode et de la régularité de la fonction — typiquement de O(h²) à O(h⁵) pour les règles composites. Monte Carlo est aléatoire : échantillonnage uniforme et moyennage, avec erreur en O(1/√N). La quadrature l'emporte en une ou deux dimensions. Monte Carlo devient le choix pratique aux alentours de cinq à dix dimensions.

What are Gaussian nodes and weights?

Les nœuds gaussiens sont les zéros de polynômes orthogonaux spécifiques ; pour la quadrature de Gauss-Legendre, ce sont les racines du n-ième polynôme de Legendre. Les poids sont choisis pour intégrer exactement les polynômes jusqu'au degré 2n − 1. Contrairement aux grilles équidistantes, les nœuds gaussiens se concentrent vers le centre de l'intervalle et s'éloignent des bords. Vous n'avez pas à les calculer à la main : numpy.polynomial.legendre.leggauss() les fournit directement.

Sujets
Science des données

Learn with DataCamp

Cours

Introduction à la modélisation linéaire en Python

4 h
27K
Explorez les concepts et applications des modèles linéaires avec Python pour décrire, prédire et dégager des tendances à partir des données.
Voir les détailsRight Arrow
Commencer Le Cours
Voir plusRight Arrow
Contenus associés

Tutoriel

Tableaux Python

Tableaux Python avec exemples de code. Découvrez comment créer et imprimer des tableaux à l'aide de Python NumPy dès aujourd'hui.
DataCamp Team's photo

DataCamp Team

3 min

Tutoriel

Régression MCO : Les idées clés expliquées

Gagnez en confiance dans la régression par les MCO en maîtrisant ses fondements théoriques. Découvrez comment réaliser des mises en œuvre simples dans Excel, R et Python.
Josef Waples's photo

Josef Waples

8 min

Tutoriel

Comment élever un nombre au carré en Python : méthodes de base et avancées

Mettre un nombre au carré en Python, c’est simple : utilisez l’opérateur ** intégré ou essayez NumPy, pow(), math.pow(), les opérateurs binaires et d’autres fonctions pour des solutions plus polyvalentes.
Allan Ouko's photo

Allan Ouko

11 min

Tutoriel

Arrondir à 2 décimales en Python : 7 méthodes expliquées

Découvrez comment arrondir un nombre à deux décimales en Python avec round(), les f-strings, format(), le module decimal, NumPy et plus — avec un tableau comparatif des méthodes.
Allan Ouko's photo

Allan Ouko

7 min

Tutoriel

Séquence de Fibonacci en Python : Apprenez et explorez les techniques de codage

Veuillez découvrir le fonctionnement de la suite de Fibonacci. Veuillez explorer ses propriétés mathématiques et ses applications concrètes.
Laiba Siddiqui's photo

Laiba Siddiqui

6 min

Tutoriel

AVERAGE() dans Excel : une fonction essentielle expliquée

Apprenez à utiliser la fonction AVERAGE() d’Excel, y compris ses variantes conditionnelles et logiques.
Josef Waples's photo

Josef Waples

3 min

Voir PlusVoir Plus