Quadratures composites (trapèze et Simpson)

Objectifs d'apprentissage

À la fin de cette leçon, vous serez en mesure de :

  • Construire les formules composites à partir des formules simples
  • Dériver les erreurs composites à partir des erreurs simples
  • Calculer le nombre de sous-intervalles nécessaire pour une tolérance donnée
  • Comparer l'efficacité du trapèze et de Simpson sur un même problème

Prérequis

  • Règle du trapèze et règles de Simpson (leçon précédente)
  • Erreurs de troncature des formules simples

Le problème des formules simples

Dans la leçon précédente, nous avons vu que les formules de Newton-Cotes simples donnent des résultats médiocres sur un grand intervalle. Pour 0πsin(x)dx=2\int_0^\pi \sin(x)\,dx = 2 :

  • Le trapèze simple donnait 0 (erreur de 100%)
  • Simpson 1/3 donnait 2.094 (erreur de 4.7%)
  • Simpson 3/8 donnait 2.040 (erreur de 2%)

Le problème n'est pas la méthode, c'est que l'intervalle [0,π][0, \pi] est trop large pour être bien approximé par un seul polynôme de degré 1, 2 ou 3.

💡

Idée des quadratures composites

Plutôt que d'augmenter le degré du polynôme (ce qui mène au phénomène de Runge), on découpe l'intervalle en nn sous-intervalles suffisamment petits et on applique la formule simple sur chacun.


Trapèze composite

Construction

On divise [a,b][a, b] en nn sous-intervalles de largeur h=banh = \frac{b-a}{n}, avec les points xi=a+ihx_i = a + ih pour i=0,1,,ni = 0, 1, \ldots, n.

Sur chaque sous-intervalle [xi,xi+1][x_i, x_{i+1}], on applique le trapèze simple :

xixi+1f(x)dxh2(fi+fi+1)\int_{x_i}^{x_{i+1}} f(x)\,dx \approx \frac{h}{2}(f_i + f_{i+1})

En sommant les nn contributions :

abf(x)dxh2[(f0+f1)+(f1+f2)+(f2+f3)++(fn1+fn)]\int_a^b f(x)\,dx \approx \frac{h}{2}\Big[(f_0 + f_1) + (f_1 + f_2) + (f_2 + f_3) + \cdots + (f_{n-1} + f_n)\Big]

Chaque fif_i intermédiaire apparaît deux fois (une fois comme borne droite, une fois comme borne gauche). Seuls f0f_0 et fnf_n n'apparaissent qu'une fois :

💡

Trapèze composite

abf(x)dxh2[f0+2i=1n1fi+fn]\int_a^b f(x)\,dx \approx \frac{h}{2}\left[f_0 + 2\sum_{i=1}^{n-1} f_i + f_n\right]

Les coefficients sont : 1, 2, 2, 2, ..., 2, 1 (divisés par 2).

Dérivation de l'erreur composite

Sur chaque sous-intervalle, l'erreur du trapèze simple est :

Ei=h312f(ξi)pour un ξi[xi,xi+1]E_i = -\frac{h^3}{12}f''(\xi_i) \quad \text{pour un } \xi_i \in [x_i, x_{i+1}]

L'erreur totale est la somme des nn erreurs :

ET=i=0n1Ei=h312i=0n1f(ξi)E_T = \sum_{i=0}^{n-1} E_i = -\frac{h^3}{12} \sum_{i=0}^{n-1} f''(\xi_i)

Nous avons une somme de nn valeurs de ff''. Par le théorème de la valeur intermédiaire généralisé, il existe ξ[a,b]\xi \in [a, b] tel que :

i=0n1f(ξi)=nf(ξ)\sum_{i=0}^{n-1} f''(\xi_i) = n \cdot f''(\xi)

Donc :

ET=nh312f(ξ)E_T = -\frac{n h^3}{12} f''(\xi)

Or n=bahn = \frac{b-a}{h}, d'où nh3=(ba)h2nh^3 = (b-a)h^2 :

⚠️

Erreur du trapèze composite

ET(ba)h212maxx[a,b]f(x)|E_T| \leq \frac{(b-a)\,h^2}{12} \max_{x \in [a,b]} |f''(x)|

L'erreur composite est en O(h2)O(h^2), pas O(h3)O(h^3) comme l'erreur simple ! On « perd » un ordre car on somme n1/hn \propto 1/h erreurs.

Exemple : 0πsin(x)dx\int_0^\pi \sin(x)\,dx avec n=4n = 4

Avec h=π/4h = \pi/4 et les points xi=0,π/4,π/2,3π/4,πx_i = 0, \pi/4, \pi/2, 3\pi/4, \pi :

ixᵢsin(xᵢ)
000
1π/4\pi/4220.7071\frac{\sqrt{2}}{2} \approx 0.7071
2π/2\pi/21
33π/43\pi/4220.7071\frac{\sqrt{2}}{2} \approx 0.7071
4π\pi0
AT=π/42[0+2(0.7071)+2(1)+2(0.7071)+0]A_T = \frac{\pi/4}{2}\left[0 + 2(0.7071) + 2(1) + 2(0.7071) + 0\right]
=π8[1.4142+2+1.4142]=π8×4.82841.8961= \frac{\pi}{8}\left[1.4142 + 2 + 1.4142\right] = \frac{\pi}{8} \times 4.8284 \approx 1.8961

Erreur : 21.896=0.104|2 - 1.896| = 0.104

Borne d'erreur théorique : pour sin(x)\sin(x), f(x)=sin(x)f''(x) = -\sin(x) donc maxf=1\max|f''| = 1.

ETπ×(π/4)212×1=π31920.162|E_T| \leq \frac{\pi \times (\pi/4)^2}{12} \times 1 = \frac{\pi^3}{192} \approx 0.162

L'erreur réelle (0.104) est bien en dessous de la borne théorique (0.162).

Combien de sous-intervalles pour une erreur <104< 10^{-4} ?

On veut :

(ba)h212maxf<104\frac{(b-a)\,h^2}{12} \max|f''| < 10^{-4}

Pour 0πsin(x)dx\int_0^\pi \sin(x)\,dx avec maxf=1\max|f''| = 1 :

πh212<104h2<12×104π3.82×104\frac{\pi \cdot h^2}{12} < 10^{-4} \quad \Rightarrow \quad h^2 < \frac{12 \times 10^{-4}}{\pi} \approx 3.82 \times 10^{-4}
h<0.01955n>π0.01955160.7h < 0.01955 \quad \Rightarrow \quad n > \frac{\pi}{0.01955} \approx 160.7
🚨

Trapèze : n ≥ 161 sous-intervalles

Pour atteindre une erreur de 10410^{-4} avec le trapèze composite, il faut au moins 161 sous-intervalles (soit 162 évaluations de ff). C'est beaucoup ! Peut-on faire mieux ?


Simpson 1/3 composite

Construction

Pour appliquer Simpson 1/3 par morceaux, chaque application nécessite 3 points (un sous-intervalle de largeur 2h2h). On regroupe donc les sous-intervalles par paires.

Conséquence : nn doit être pair.

Sur chaque paire [x2i,x2i+2][x_{2i}, x_{2i+2}] :

x2ix2i+2f(x)dxh3(f2i+4f2i+1+f2i+2)\int_{x_{2i}}^{x_{2i+2}} f(x)\,dx \approx \frac{h}{3}(f_{2i} + 4f_{2i+1} + f_{2i+2})

En sommant les n/2n/2 paires, on observe que :

  • Les points extrêmes (f0f_0 et fnf_n) ont un coefficient 1
  • Les points impairs (f1,f3,f5,f_1, f_3, f_5, \ldots) ont un coefficient 4 — ce sont les milieux de chaque paire
  • Les points pairs intérieurs (f2,f4,f6,f_2, f_4, f_6, \ldots) ont un coefficient 2 — ce sont les frontières entre paires
💡

Simpson 1/3 composite

abf(x)dxh3[f0+4f1+2f2+4f3+2f4++4fn1+fn]\int_a^b f(x)\,dx \approx \frac{h}{3}\left[f_0 + 4f_1 + 2f_2 + 4f_3 + 2f_4 + \cdots + 4f_{n-1} + f_n\right]

Les coefficients suivent le motif : 1, 4, 2, 4, 2, ..., 4, 2, 4, 1 (divisés par 3).

Condition : nn doit être pair.

Dérivation de l'erreur composite

Sur chaque paire de sous-intervalles, l'erreur de Simpson simple est :

Ei=h590f(iv)(ξi)E_i = -\frac{h^5}{90}f^{(iv)}(\xi_i)

Il y a n/2n/2 paires. En sommant :

ES=i=0n/21Ei=h590i=0n/21f(iv)(ξi)=n2h590f(iv)(ξ)E_S = \sum_{i=0}^{n/2-1} E_i = -\frac{h^5}{90} \sum_{i=0}^{n/2-1} f^{(iv)}(\xi_i) = -\frac{n}{2} \cdot \frac{h^5}{90} f^{(iv)}(\xi)

Or n=bahn = \frac{b-a}{h}, d'où n2h5=(ba)2h4\frac{n}{2} h^5 = \frac{(b-a)}{2} h^4 :

⚠️

Erreur de Simpson 1/3 composite

ES(ba)h4180maxx[a,b]f(iv)(x)|E_S| \leq \frac{(b-a)\,h^4}{180} \max_{x \in [a,b]} |f^{(iv)}(x)|

L'erreur composite est en O(h4)O(h^4), soit deux ordres de mieux que le trapèze composite (O(h2)O(h^2)).

Exemple : 0πsin(x)dx\int_0^\pi \sin(x)\,dx avec n=4n = 4

Avec les mêmes 5 points que pour le trapèze (n=4n = 4 est pair, tout va bien) :

AS=π/43[sin0+4sinπ4+2sinπ2+4sin3π4+sinπ]A_S = \frac{\pi/4}{3}\left[\sin 0 + 4\sin\frac{\pi}{4} + 2\sin\frac{\pi}{2} + 4\sin\frac{3\pi}{4} + \sin\pi\right]
=π12[0+4×0.7071+2×1+4×0.7071+0]= \frac{\pi}{12}\left[0 + 4 \times 0.7071 + 2 \times 1 + 4 \times 0.7071 + 0\right]
=π12[2.8284+2+2.8284]=π12×7.65692.0046= \frac{\pi}{12}\left[2.8284 + 2 + 2.8284\right] = \frac{\pi}{12} \times 7.6569 \approx 2.0046

Erreur : 22.0046=0.0046|2 - 2.0046| = 0.0046

Comparons : avec les mêmes 5 points, le trapèze donnait une erreur de 0.104 et Simpson donne 0.0046 — c'est 23 fois plus précis !

Borne d'erreur théorique : pour sin(x)\sin(x), f(iv)(x)=sin(x)f^{(iv)}(x) = \sin(x) donc maxf(iv)=1\max|f^{(iv)}| = 1.

ESπ×(π/4)4180×1=π5180×2560.0066|E_S| \leq \frac{\pi \times (\pi/4)^4}{180} \times 1 = \frac{\pi^5}{180 \times 256} \approx 0.0066

L'erreur réelle (0.0046) est bien en dessous de la borne (0.0066).

Combien de sous-intervalles pour une erreur <104< 10^{-4} ?

πh4180<104h4<180×104π5.73×103\frac{\pi \cdot h^4}{180} < 10^{-4} \quad \Rightarrow \quad h^4 < \frac{180 \times 10^{-4}}{\pi} \approx 5.73 \times 10^{-3}
h<(5.73×103)1/40.275n>π0.27511.4h < (5.73 \times 10^{-3})^{1/4} \approx 0.275 \quad \Rightarrow \quad n > \frac{\pi}{0.275} \approx 11.4

Comme nn doit être pair : n=12n = 12 suffit (soit 13 évaluations de ff).

💡

Coût total pour une erreur de 10⁻⁴

Comparons le coût réel des deux méthodes. Chaque méthode requiert des évaluations de ff (le coût dominant) et des opérations arithmétiques (additions, multiplications) :

Trapèze (n = 161)Simpson 1/3 (n = 12)
Évaluations de ffn+1=162n + 1 = 162n+1=13n + 1 = 13
Multiplicationsn1=160n - 1 = 160 (les coeff. ×2)n1=11n - 1 = 11 (les coeff. ×4 ou ×2)
Additionsn=161n = 161n=12n = 12

Simpson utilise des coefficients légèrement plus variés (1, 4, 2 au lieu de 1, 2), mais le surcoût par point est négligeable. Le facteur dominant est le nombre d'évaluations de ff : 162 contre 13, soit un facteur ~12.

En pratique, évaluer ff est souvent l'opération la plus coûteuse (surtout si ff provient d'une simulation ou d'une mesure expérimentale). L'avantage de Simpson est donc réel.


Simpson 3/8 composite et complémentarité avec Simpson 1/3

Le problème de la parité

Simpson 1/3 composite exige que nn soit pair. Mais en pratique, on ne choisit pas toujours nn librement :

  • Les données peuvent provenir de mesures avec un nombre fixe de points
  • Un capteur peut fournir 8 points (7 intervalles — impair !)
  • Un algorithme adaptatif peut raffiner localement et produire un nombre quelconque de sous-intervalles

C'est là que Simpson 3/8 devient utile : il nécessite que nn soit multiple de 3.

Construction

Pour Simpson 3/8 composite, on regroupe les sous-intervalles par triplets :

💡

Simpson 3/8 composite

abf(x)dx3h8[f0+3f1+3f2+2f3+3f4+3f5+2f6++fn]\int_a^b f(x)\,dx \approx \frac{3h}{8}\left[f_0 + 3f_1 + 3f_2 + 2f_3 + 3f_4 + 3f_5 + 2f_6 + \cdots + f_n\right]

Les coefficients suivent le motif : 1, 3, 3, 2, 3, 3, 2, ..., 3, 3, 1 (multipliés par 3/8).

Condition : nn doit être multiple de 3.

Erreur

Par le même raisonnement que pour Simpson 1/3, on somme n/3n/3 erreurs simples de 3h5/80-3h^5/80 :

E3/8(ba)h480maxf(iv)(x)|E_{3/8}| \leq \frac{(b-a)\,h^4}{80} \max |f^{(iv)}(x)|

L'erreur est aussi en O(h4)O(h^4), mais avec un coefficient plus grand que Simpson 1/3 (1/801/80 vs 1/1801/180). À hh égal, Simpson 1/3 est donc environ 2.25 fois plus précis.

Combiner les deux Simpson

L'intérêt principal de Simpson 3/8 est de compléter Simpson 1/3 quand nn n'est ni pair ni multiple de 3. En combinant les deux, on peut traiter tout n3n \geq 3 :

nStratégieExplication
pairSimpson 1/3 partoutCas idéal
multiple de 3Simpson 3/8 partoutAlternatif
impair, non mult. de 3Simpson 3/8 sur les 3 premiers + Simpson 1/3 sur le resten3n - 3 est pair

Par exemple, avec n=7n = 7 : on applique Simpson 3/8 sur [x0,x3][x_0, x_3] (3 intervalles), puis Simpson 1/3 sur [x3,x7][x_3, x_7] (4 intervalles, pair). Les deux méthodes se « raccordent » au point x3x_3 sans perte de précision.

En résumé

Simpson 1/3 est la méthode de choix quand on contrôle nn. Simpson 3/8 est le complément qui permet de gérer les cas où nn n'est pas pair. Ensemble, ils couvrent tous les cas avec une erreur en O(h4)O(h^4).


Comparaison sur 0πsin(x)dx\int_0^\pi \sin(x)\,dx

Voici les résultats pour différentes valeurs de nn :

nTrapèzeErreurSimpson 1/3Erreur
41.89610.10392.00460.0046
81.97420.02582.000270.00027
161.99360.00642.00001650.0000165

Observons le comportement quand on double nn (et donc divise hh par 2) :

  • Trapèze (O(h2)O(h^2)) : l'erreur est divisée par 22=42^2 = 4 à chaque doublement
  • Simpson (O(h4)O(h^4)) : l'erreur est divisée par 24=162^4 = 16 à chaque doublement

Vérification de l'ordre

C'est un test pratique pour vérifier l'ordre d'une méthode : si l'erreur est divisée par ~4 quand on double nn, la méthode est d'ordre 2. Si elle est divisée par ~16, elle est d'ordre 4.


Guide pratique : déterminer nn pour une tolérance donnée

Méthode générale

Pour une tolérance ε\varepsilon, on résout l'inégalité de la borne d'erreur :

Trapèze composite :

n(ba)312εmaxfn \geq \sqrt{\frac{(b-a)^3}{12\varepsilon} \max|f''|}

(obtenue en remplaçant h=(ba)/nh = (b-a)/n dans la borne d'erreur)

Simpson 1/3 composite :

n((ba)5180εmaxf(iv))1/4n \geq \left(\frac{(b-a)^5}{180\varepsilon} \max|f^{(iv)}|\right)^{1/4}

et nn doit être arrondi au prochain entier pair.

Exemple : 01exdx\int_0^1 e^x\,dx avec ε=106\varepsilon = 10^{-6}

La valeur exacte est e11.71828e - 1 \approx 1.71828.

Pour f(x)=exf(x) = e^x sur [0,1][0, 1] : toutes les dérivées sont exe^x, donc maxf=maxf(iv)=e2.718\max|f''| = \max|f^{(iv)}| = e \approx 2.718.

Trapèze :

n13×2.71812×106=2.7181.2×105=226500476n \geq \sqrt{\frac{1^3 \times 2.718}{12 \times 10^{-6}}} = \sqrt{\frac{2.718}{1.2 \times 10^{-5}}} = \sqrt{226500} \approx 476

Simpson 1/3 :

n(15×2.718180×106)1/4=(2.7181.8×104)1/4=(15100)1/411.1n \geq \left(\frac{1^5 \times 2.718}{180 \times 10^{-6}}\right)^{1/4} = \left(\frac{2.718}{1.8 \times 10^{-4}}\right)^{1/4} = (15100)^{1/4} \approx 11.1

Donc n=12n = 12 (pair).

Bilan : pour une erreur de 10610^{-6}, le trapèze a besoin de 476 sous-intervalles alors que Simpson n'en a besoin que de 12. L'écart se creuse encore plus pour des tolérances plus serrées.


Résumé

Trapèze compositeSimpson 1/3 composite
Coefficients1, 2, 2, ..., 2, 11, 4, 2, 4, ..., 4, 1
ErreurO(h2)O(h^2)O(h4)O(h^4)
Borne(ba)h212maxf\frac{(b-a)h^2}{12}\max|f''|(ba)h4180maxf(iv)\frac{(b-a)h^4}{180}\max|f^{(iv)}|
Contraintenn quelconquenn pair
Quand utiliserSimplicité, base de RombergMeilleur rapport précision/effort

Pour aller plus loin

Simpson 1/3 composite est la méthode de choix pour la plupart des applications courantes. Mais peut-on faire encore mieux sans augmenter le nombre de points ?

Dans la leçon suivante, nous verrons la méthode de Romberg, qui part du trapèze composite et applique l'extrapolation de Richardson de manière itérative. Résultat : la première étape de Richardson redonne exactement Simpson, et les étapes suivantes atteignent des précisions encore supérieures (O(h6),O(h8),O(h^6), O(h^8), \ldots).