Quadratures gaussiennes

Objectifs d'apprentissage

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

  • Expliquer pourquoi le choix des points d'évaluation influence la précision
  • Comprendre l'idée derrière les quadratures gaussiennes (sans mémoriser les preuves)
  • Construire pas à pas la formule de Gauss à 2 points
  • Appliquer le changement de variable pour un intervalle quelconque
  • Savoir quand utiliser Gauss plutôt que Newton-Cotes

Prérequis

  • Formules de Newton-Cotes et quadratures composites (leçons précédentes)
  • Intégration par changement de variable

Le principe en une phrase

💡

Idée centrale des quadratures gaussiennes

Dans Newton-Cotes, les positions des points sont fixées (équidistantes) et on ne cherche que les poids. Dans Gauss, les positions et les poids sont tous les deux des inconnues. On résout un système d'équations pour trouver les positions optimales et les poids correspondants, de manière à maximiser la précision.

Avec nn points, on a nn positions + nn poids = 2n2n inconnues. On peut donc imposer 2n2n conditions d'exactitude, ce qui rend la formule exacte pour les polynômes de degré 2n1\leq 2n - 1. Newton-Cotes, avec seulement nn poids libres, ne peut être exact que jusqu'au degré n1n - 1 (ou nn par symétrie). Gauss double la précision en libérant les positions.

Motivation : le placement des points compte

Pour bien comprendre cet avantage, comparons sur un exemple simple. Imaginons qu'on intègre sur [1,1][-1, 1] avec 2 évaluations. Le trapèze place ses points aux extrémités :

IT=1(1)2[f(1)+f(1)]=f(1)+f(1)I_T = \frac{1-(-1)}{2}[f(-1) + f(1)] = f(-1) + f(1)

Le trapèze est exact pour les polynômes de degré 1\leq 1 (les droites). Mais si la fonction est courbe (degré 2 ou plus), on fait une erreur parce qu'on « manque » ce qui se passe au milieu de l'intervalle.

La question de Gauss : et si, au lieu de placer les 2 points aux extrémités, on les plaçait à des positions optimales ? Comme on va le voir, avec 2 points bien choisis, on peut être exact non seulement pour les droites (degré 1), mais aussi pour les paraboles et les cubiques (degré 3\leq 3). C'est deux degrés de plus que le trapèze, pour le même nombre d'évaluations !


Construction de la formule à 2 points

Construisons pas à pas la formule de Gauss à 2 points. On cherche 4 inconnues : deux positions t1,t2t_1, t_2 et deux poids ω1,ω2\omega_1, \omega_2 tels que :

11f(t)dtω1f(t1)+ω2f(t2)\int_{-1}^{1} f(t)\,dt \approx \omega_1 f(t_1) + \omega_2 f(t_2)

L'idée : imposer l'exactitude

On a 4 inconnues, donc on peut imposer 4 conditions. On demande que la formule soit exacte pour les 4 premiers monômes : 1,t,t2,t31, t, t^2, t^3.

Condition 1 : f(t)=1f(t) = 1 (l'intégrale d'une constante)

111dt=2ω1+ω2=2\int_{-1}^{1} 1\,dt = 2 \quad \Rightarrow \quad \omega_1 + \omega_2 = 2

Les poids doivent sommer à la longueur de l'intervalle. C'est logique : si ff est constante, la somme pondérée doit donner l'aire du rectangle.

Condition 2 : f(t)=tf(t) = t (l'intégrale d'une fonction impaire)

11tdt=0ω1t1+ω2t2=0\int_{-1}^{1} t\,dt = 0 \quad \Rightarrow \quad \omega_1 t_1 + \omega_2 t_2 = 0

L'intégrale d'une fonction impaire sur un intervalle symétrique est nulle. Cela suggère une solution symétrique.

Condition 3 : f(t)=t2f(t) = t^2 (l'intégrale d'une parabole)

11t2dt=23ω1t12+ω2t22=23\int_{-1}^{1} t^2\,dt = \frac{2}{3} \quad \Rightarrow \quad \omega_1 t_1^2 + \omega_2 t_2^2 = \frac{2}{3}

Condition 4 : f(t)=t3f(t) = t^3 (l'intégrale d'une cubique)

11t3dt=0ω1t13+ω2t23=0\int_{-1}^{1} t^3\,dt = 0 \quad \Rightarrow \quad \omega_1 t_1^3 + \omega_2 t_2^3 = 0

Résolution du système

Les conditions 2 et 4 (fonctions impaires) donnent zéro à droite. Cela suggère fortement une solution symétrique :

t2=t1etω1=ω2t_2 = -t_1 \quad \text{et} \quad \omega_1 = \omega_2

Vérifions : avec ω1=ω2\omega_1 = \omega_2, la condition 1 donne :

2ω1=2ω1=ω2=12\omega_1 = 2 \quad \Rightarrow \quad \omega_1 = \omega_2 = 1

Les deux poids sont égaux à 1. Avec t2=t1t_2 = -t_1, la condition 2 donne t1t1=0t_1 - t_1 = 0 (automatiquement satisfaite), et la condition 3 :

t12+(t1)2=232t12=23t1=130.5774t_1^2 + (-t_1)^2 = \frac{2}{3} \quad \Rightarrow \quad 2t_1^2 = \frac{2}{3} \quad \Rightarrow \quad t_1 = \frac{1}{\sqrt{3}} \approx 0.5774

On peut vérifier que la condition 4 est aussi satisfaite (par symétrie).

💡

Formule de Gauss à 2 points

11f(t)dtf ⁣(13)+f ⁣(13)\int_{-1}^{1} f(t)\,dt \approx f\!\left(-\frac{1}{\sqrt{3}}\right) + f\!\left(\frac{1}{\sqrt{3}}\right)

Avec seulement 2 évaluations, cette formule est exacte pour tout polynôme de degré 3\leq 3.

À comparer avec le trapèze (2 points, exact degré 1\leq 1) : Gauss gagne 2 degrés de précision gratuitement, simplement en déplaçant les points !

Où sont ces points ?

Les points ±1/3±0.5774\pm 1/\sqrt{3} \approx \pm 0.5774 ne sont ni aux extrémités (comme le trapèze) ni au centre (comme le point milieu). Ils sont situés à environ 58% de la distance entre le centre et les bords. Intuitivement, ils « échantillonnent » l'intervalle de manière à capter à la fois le comportement central et le comportement aux bords.


Construction pour n=3n = 3 points

Refaisons le même exercice avec 3 points. On cherche 6 inconnues : t1,t2,t3t_1, t_2, t_3 et ω1,ω2,ω3\omega_1, \omega_2, \omega_3. On impose l'exactitude pour les 6 monômes 1,t,t2,t3,t4,t51, t, t^2, t^3, t^4, t^5.

Le système

{ω1+ω2+ω3=2(f=1)ω1t1+ω2t2+ω3t3=0(f=t)ω1t12+ω2t22+ω3t32=23(f=t2)ω1t13+ω2t23+ω3t33=0(f=t3)ω1t14+ω2t24+ω3t34=25(f=t4)ω1t15+ω2t25+ω3t35=0(f=t5)\begin{cases} \omega_1 + \omega_2 + \omega_3 = 2 & (f = 1) \\ \omega_1 t_1 + \omega_2 t_2 + \omega_3 t_3 = 0 & (f = t) \\ \omega_1 t_1^2 + \omega_2 t_2^2 + \omega_3 t_3^2 = \frac{2}{3} & (f = t^2) \\ \omega_1 t_1^3 + \omega_2 t_2^3 + \omega_3 t_3^3 = 0 & (f = t^3) \\ \omega_1 t_1^4 + \omega_2 t_2^4 + \omega_3 t_3^4 = \frac{2}{5} & (f = t^4) \\ \omega_1 t_1^5 + \omega_2 t_2^5 + \omega_3 t_3^5 = 0 & (f = t^5) \end{cases}

C'est un système non linéaire à 6 équations et 6 inconnues — beaucoup plus difficile que pour n=2n = 2. Mais la symétrie nous aide encore.

Résolution par symétrie

Les équations pour les monômes impairs (t,t3,t5t, t^3, t^5) donnent zéro à droite. Cela suggère une configuration symétrique :

t1=t3,t2=0,ω1=ω3t_1 = -t_3, \quad t_2 = 0, \quad \omega_1 = \omega_3

Avec cette hypothèse, notons t3=at_3 = a, ω1=ω3=w\omega_1 = \omega_3 = w et ω2=v\omega_2 = v. Le système se simplifie :

  • Eq. 1 : 2w+v=22w + v = 2
  • Eq. 3 : 2wa2=232wa^2 = \frac{2}{3}, soit wa2=13wa^2 = \frac{1}{3}
  • Eq. 5 : 2wa4=252wa^4 = \frac{2}{5}, soit wa4=15wa^4 = \frac{1}{5}

En divisant l'équation 5 par l'équation 3 :

wa4wa2=a2=1/51/3=35a=350.7746\frac{wa^4}{wa^2} = a^2 = \frac{1/5}{1/3} = \frac{3}{5} \quad \Rightarrow \quad a = \sqrt{\frac{3}{5}} \approx 0.7746

Puis : w=13a2=13×3/5=590.5556w = \frac{1}{3a^2} = \frac{1}{3 \times 3/5} = \frac{5}{9} \approx 0.5556 et v=22w=2109=890.8889v = 2 - 2w = 2 - \frac{10}{9} = \frac{8}{9} \approx 0.8889.

💡

Formule de Gauss à 3 points

11f(t)dt59f ⁣(35)+89f(0)+59f ⁣(35)\int_{-1}^{1} f(t)\,dt \approx \frac{5}{9}\,f\!\left(-\sqrt{\frac{3}{5}}\right) + \frac{8}{9}\,f(0) + \frac{5}{9}\,f\!\left(\sqrt{\frac{3}{5}}\right)

Exacte pour tout polynôme de degré 5\leq 5. Le point central a le poids le plus fort (8/98/9), les points latéraux ont des poids plus faibles (5/95/9).


Généralisation à nn points

Le principe

Pour nn quelconque, on a 2n2n inconnues (nn positions + nn poids) et on impose l'exactitude pour les 2n2n monômes 1,t,t2,,t2n11, t, t^2, \ldots, t^{2n-1}.

💡

Quadrature de Gauss-Legendre à n points

11f(t)dt=i=1nωif(ti)\int_{-1}^{1} f(t)\,dt = \sum_{i=1}^{n} \omega_i\, f(t_i)

est exacte pour tout polynôme de degré 2n1\leq 2n - 1.

Le problème : le système devient vite insoluble à la main

Pour n=2n = 2 et n=3n = 3, la symétrie nous a permis de résoudre le système. Mais pour n4n \geq 4, le système non linéaire est trop complexe pour être résolu directement. Il faut une approche plus puissante.

La solution : les polynômes de Legendre

Il existe un résultat mathématique remarquable qui résout le problème d'un seul coup :

Les positions optimales t1,,tnt_1, \ldots, t_n sont exactement les racines du polynôme de Legendre Pn(t)P_n(t) de degré nn.

Que sont les polynômes de Legendre ? Ce sont des polynômes orthogonaux sur [1,1][-1, 1], définis par la relation de récurrence :

(n+1)Pn+1(t)=(2n+1)tPn(t)nPn1(t)(n+1)\,P_{n+1}(t) = (2n+1)\,t\,P_n(t) - n\,P_{n-1}(t)

en partant de P0(t)=1P_0(t) = 1 et P1(t)=tP_1(t) = t. Cette récurrence permet de calculer PnP_n pour tout nn :

  • P0(t)=1P_0(t) = 1
  • P1(t)=tP_1(t) = t
  • P2(t)=12(3t21)P_2(t) = \frac{1}{2}(3t^2 - 1)
  • P3(t)=12(5t33t)P_3(t) = \frac{1}{2}(5t^3 - 3t)
  • P4(t)=18(35t430t2+3)P_4(t) = \frac{1}{8}(35t^4 - 30t^2 + 3)

Une propriété fondamentale : PnP_n possède exactement nn racines réelles, toutes dans l'intervalle ouvert ]1,1[]-1, 1[. Ce sont ces racines qui donnent les positions optimales pour la quadrature.

Autrement dit, au lieu de résoudre un système non linéaire à 2n2n équations, il suffit de :

  1. Trouver les racines de Pn(t)P_n(t) — c'est un problème beaucoup plus simple (trouver les zéros d'un seul polynôme)
  2. Calculer les poids par la formule :
ωi=2(1ti2)[Pn(ti)]2\omega_i = \frac{2}{(1 - t_i^2)\,[P_n'(t_i)]^2}

Vérification sur nos exemples

Pour n=2n = 2 : P2(t)=12(3t21)=0P_2(t) = \frac{1}{2}(3t^2 - 1) = 0 donne t2=1/3t^2 = 1/3, donc t=±1/3t = \pm 1/\sqrt{3} — exactement ce qu'on a trouvé !

Pour n=3n = 3 : P3(t)=12(5t33t)=t2(5t23)=0P_3(t) = \frac{1}{2}(5t^3 - 3t) = \frac{t}{2}(5t^2 - 3) = 0 donne t=0t = 0 ou t2=3/5t^2 = 3/5, soit t=0,±3/5t = 0, \pm\sqrt{3/5} — encore une fois, exactement notre résultat !

Les polynômes de Legendre ne tombent donc pas du ciel : ils encodent la solution du système d'exactitude.

L'essentiel à retenir

Les polynômes de Legendre sont un outil pour trouver les points optimaux sans résoudre le système non linéaire à la main. En pratique, il suffit de :

  1. Savoir que PnP_n a exactement nn racines dans ]1,1[]-1, 1[
  2. Consulter une table de racines et de poids précalculés
  3. Appliquer la formule de quadrature avec ces valeurs

Table des racines et poids

En pratique, on utilise cette table :

nPoints tᵢPoids ωᵢDegré exact
2±0.5773502692\pm 0.57735026921.00000000003
300.88888888895
±0.7745966692\pm 0.77459666920.5555555556
4±0.3399810436\pm 0.33998104360.65214515497
±0.8611363116\pm 0.86113631160.3478548451
500.56888888899
±0.5384693101\pm 0.53846931010.4786286705
±0.9061798459\pm 0.90617984590.2369268850

Remarquons que les poids sont toujours positifs et que les points sont toujours symétriques par rapport à l'origine. Ce n'est pas un hasard : c'est une conséquence de la symétrie de l'intervalle [1,1][-1, 1].


Changement de variable pour [a,b][a, b] quelconque

Les formules de Gauss sont définies sur [1,1][-1, 1]. Pour intégrer sur un intervalle [a,b][a, b] quelconque, on effectue un changement de variable linéaire :

x=(ba)t+(a+b)2x = \frac{(b-a)\,t + (a+b)}{2}

Ce changement envoie t=1t = -1 sur x=ax = a et t=1t = 1 sur x=bx = b. Le Jacobien est dx=ba2dtdx = \frac{b-a}{2}\,dt.

En substituant :

abf(x)dx=ba211f ⁣((ba)t+(a+b)2)dt\int_a^b f(x)\,dx = \frac{b-a}{2} \int_{-1}^{1} f\!\left(\frac{(b-a)\,t + (a+b)}{2}\right) dt

On applique alors la formule de Gauss à l'intégrale sur [1,1][-1, 1] :

💡

Formule de Gauss-Legendre sur [a, b]

abf(x)dxba2i=1nωif ⁣((ba)ti+(a+b)2)\int_a^b f(x)\,dx \approx \frac{b-a}{2} \sum_{i=1}^{n} \omega_i\, f\!\left(\frac{(b-a)\,t_i + (a+b)}{2}\right)

tit_i et ωi\omega_i sont lus dans la table ci-dessus.

Recette pratique

Pour appliquer Gauss à nn points sur [a,b][a, b] :

  1. Choisir nn (nombre de points) dans la table
  2. Pour chaque point tit_i, calculer xi=(ba)ti+(a+b)2x_i = \frac{(b-a)\,t_i + (a+b)}{2}
  3. Évaluer f(xi)f(x_i)
  4. Calculer Iba2i=1nωif(xi)I \approx \frac{b-a}{2} \sum_{i=1}^{n} \omega_i\, f(x_i)

Exemple détaillé : 00.52πex2dx\int_0^{0.5} \frac{2}{\sqrt{\pi}} e^{-x^2}\,dx

Cette intégrale est la fonction d'erreur erf(0.5)\text{erf}(0.5), qui n'a pas de forme analytique simple. C'est exactement le type de problème où les méthodes numériques sont indispensables.

Étape 1 : changement de variable

Avec a=0a = 0 et b=0.5b = 0.5 :

x=0.5t+0.52=t+14,dx=0.52dt=0.25dtx = \frac{0.5 \cdot t + 0.5}{2} = \frac{t + 1}{4}, \qquad dx = \frac{0.5}{2}\,dt = 0.25\,dt

Étape 2 : points de Gauss (n=3n = 3)

On lit dans la table les 3 points et poids, puis on calcule les xix_i :

itᵢ (table)ωᵢ (table)xᵢ = (tᵢ + 1)/4f(xᵢ) = (2/√π)·exp(−xᵢ²)
1−0.77460.55560.05641.1248
200.88890.25001.0600
30.77460.55560.44360.9268

Étape 3 : calcul

I0.25×[0.5556×1.1248+0.8889×1.0600+0.5556×0.9268]I \approx 0.25 \times [0.5556 \times 1.1248 + 0.8889 \times 1.0600 + 0.5556 \times 0.9268]
=0.25×[0.6249+0.9422+0.5149]=0.25×2.0820=0.5205= 0.25 \times [0.6249 + 0.9422 + 0.5149] = 0.25 \times 2.0820 = 0.5205

Étape 4 : vérification

La valeur exacte est erf(0.5)=0.520500...\text{erf}(0.5) = 0.520500.... Avec seulement 3 évaluations, Gauss donne un résultat correct à 4 décimales ! Pour obtenir la même précision avec le trapèze composite, il faudrait des dizaines de sous-intervalles.


Erreur de la quadrature gaussienne

Pour une fonction suffisamment dérivable, l'erreur de Gauss-Legendre à nn points est :

En=22n+1(n!)4(2n+1)[(2n)!]3f(2n)(ξ)|E_n| = \frac{2^{2n+1}\,(n!)^4}{(2n+1)\,[(2n)!]^3}\,|f^{(2n)}(\xi)|

pour un certain ξ[1,1]\xi \in [-1, 1].

Ce qu'il faut retenir sur l'erreur

La formule exacte est complexe, mais l'essentiel est :

  • L'erreur dépend de la dérivée d'ordre 2n2n de ff
  • Pour n=2n = 2 : l'erreur dépend de f(4)f^{(4)}, comme Simpson — mais avec moins de points
  • Pour n=3n = 3 : l'erreur dépend de f(6)f^{(6)} — Gauss atteint un ordre très élevé rapidement
  • Le coefficient devant f(2n)f^{(2n)} décroît très vite avec nn

Gauss vs Newton-Cotes : quand utiliser quoi ?

CritèreNewton-CotesGauss
Points imposés (mesures)Oui — on prend les données telles quellesNon — on ne peut pas choisir où mesurer
On peut évaluer f librementPossible mais sous-optimalOui — c'est le cas idéal pour Gauss
Points équidistantsRequisNon — les points sont irréguliers
Précision par pointDegré n1n-1 (ou nn)Degré 2n12n-1
Raffinement facileOui (doubler n, réutiliser les points)Non (les points changent complètement)
⚠️

Limitation importante de Gauss

Quand on passe de Gauss à nn points à Gauss à n+1n+1 points, tous les points changent. On ne peut pas réutiliser les évaluations précédentes. Avec Newton-Cotes composite, doubler nn permet de réutiliser les points déjà calculés. C'est un avantage pratique important de Newton-Cotes pour le raffinement adaptatif (cf. Romberg).

En résumé

  • Données expérimentales (points imposés, équidistants) → Newton-Cotes
  • Fonction évaluable et on veut maximiser la précision par évaluation → Gauss
  • Raffinement progressif (on ne sait pas combien de points seront nécessaires) → Newton-Cotes composite ou Romberg

Résumé

  • Les quadratures gaussiennes optimisent le placement des points d'évaluation
  • Avec nn points, Gauss est exact pour les polynômes de degré 2n1\leq 2n - 1, soit le double de Newton-Cotes
  • Les points optimaux sont les racines des polynômes de Legendre — en pratique, on les lit dans une table
  • Un changement de variable linéaire permet de passer de [1,1][-1, 1] à n'importe quel [a,b][a, b]
  • Gauss est idéal quand on peut choisir librement les points d'évaluation ; Newton-Cotes reste préférable quand les points sont imposés par les données