On montre ici diverses méthodes pratiques pour calculer, de manière approchée, des intégrales : les méthodes d'Euler, puis de Gauss, enfin de Romberg-Richardson.
En cours...
On doit calculer ∫baf(x)w(x)dx où :
Il existe un unique polynôme de degré n, noté Pn, orthogonal à Rn−1[X]. Il est à racines simples.
On note encore :
où li(x)=(x−x0)...(x−xi−1)(x−xi+1)...(x−xn)(xi−x0)...(xi−xi−1)(xi−xi+1)...(xi−xn)
est le polynôme interpolateur de Lagrange : li(xj)=δij. Alors ∫baf(x)w(x)dx≈∑ni=0λif(xi)
On a égalité pour tous les polynômes de degré inférieur ou égal à 2n+1 : on parle de méthode d'ordre 2n+1.
Pour f∈ C2n+2, l'erreur est majorée par : |∫baf(x)w(x)dx−∑ni=0λif(xi)|⩽
où
Cette approximation permet donc d'approcher une intégrale par une somme de n termes, et de connaître l'erreur commise.
Le type de quadrature est déterminé par le domaine d'intégration et la fonction de pondération w.
domaine | w(x) | polynômes |
[-1,1] | 1 | Legendre |
]-1,1[ | \frac{1}{\sqrt{1-x^2}} | Tchebychev |
\mathbb{R}^+ | e^{-x} | Laguerre |
\mathbb{R} | e^{-x^2} | Hermite |
Pour ces situations communes, les valeurs de \lambda_i et de x_i sont tabulées (on ne les calcule pas, on les récupère dans des tableaux).
Par exemple, pour la méthode de Gauss-Legendre (polynômes de Legendre),
n | P_n | x_0, ..., x_n | \lambda_0, ..., \lambda_n |
1 | X | 0 | 2 |
2 | X^2-\frac{1}{3} | \pm \frac{1}{\sqrt{3}} | 1,1 |
3 | X^3-\frac{3}{5} X | -\sqrt{\frac{3}{5}}, 0, \sqrt{\frac{3}{5}} | \frac{5}{9}, \frac{8}{9}, \frac{5}{9} |
Et, pour Gauss-Tchebychev :
\lambda_i = \frac{\pi}{n+1},~ x_i = cos \left( \frac{2i+1}{2n+2} \pi \right)
Intégrer sur [a,b] ou sur [0,1], c'est pareil : il suffit de faire un changement de variables.
En effet, \int_a^b f(t) dt = \frac{b-a}{2} \int_{-1}^1 f \left( \frac{b-a}{2} x + \frac{a+b}{2} \right) dx
D'où, \displaystyle{\int_a^b f(t) dt \approx \frac{b-a}{2} \sum_{i=0}^n \lambda_i f \left( \frac{b-a}{2} x_i + \frac{a+b}{2} \right)}
Passons à la pratique : supposons que l'on souhaite calculer \displaystyle{\int_{I} g(x) dx}. On choisit l'une des méthodes de Gauss, en fonction de notre intervalle I, ce qui nous donne un poids w.
A ce stade, on connaît g et w. On pose f(x) = \frac{g(x)}{w(x)}. Donc \displaystyle{\int_{I} g(x) dx = \int_{I} f(x) w(x) dx} \approx \sum_{i=0}^n \lambda_i f(x_i) avec \lambda_i et x_i correspondant à la méthode choisie.
Par exemple, supposons que l'on souhaite calculer \displaystyle{\int_{]-1,1[} g(x) dx}, où g est donc connu. Cet intervalle nous fait penser à la méthode de Gauss-Tchebychev.
Posons alors f(x) = \frac{g(x)}{w(x)} = g(x) \sqrt{1-x^2}. Donc
\displaystyle{\int_{]-1,1[} g(x) dx = \int_{]-1,1[} f(x) w(x) dx = \sum_{i=0}^n \lambda_i f(x_i)}
Mais, pour Gauss-Tchebychev, \lambda_i = \frac{\pi}{n+1},~ x_i = cos \left( \frac{2i+1}{2n+2} \pi \right). Donc
\displaystyle{\int_{]-1,1[} g(x) dx} \approx \sum_{i=0}^n \frac{\pi}{n+1} f\left( cos \left( \frac{2i+1}{2n+2} \pi \right)\right) \approx \sum_{i=0}^n \frac{\pi}{n+1} g \left( cos \left( \frac{2i+1}{2n+2} \pi \right) \right) \sqrt{1-\left(\frac{2i+1}{2n+2}\pi\right)^2}
Il nous reste à remplacer g par son expression, et à calculer la somme de ces n+1 termes, pour avoir une bonne approximation de l'intégrale.
On souhaite obtenir une approximation de \pi. Pour ce faire, on utilise le fait que
\displaystyle{\int_{-1}^1 \frac{4}{1+x^2} dx = \left[ 4 \times Arctan(x) \right]_{-1}^1 = \pi}
Calculons une valeur approchée de l'intégrale de g(x) = \frac{4}{1+x^2} sur [-1,1] : cela nous donnera notre approximation de \pi. L'intervalle nous fait penser à une méthode de Gauss-Legendre : le poids vaut w(x) = 1, donc f(x) = \frac{g(x)}{w(x)} = g(x). Si on prend trois points (n=3), alors
\displaystyle{\int_{-1}^1 \frac{4}{1+x^2} dx} \approx \displaystyle{\sum_{i=0}^2 \lambda_i f(x_i)} = \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) = \frac{57}{18}
avec f(x) = \frac{4}{1+x^2}. D'où \pi \approx \frac{57}{18} = 3,17
On peut améliorer cette approximation en prenant plus de points, et avoir une estimation de l'erreur faite.
La méthode de Gauss consiste, en gros, à remplacer l'intégrale par une moyenne pondérée de la fonction en des points bien choisis.
Les points de Legendre (i.e. les zéros des polynômes de Legendre, les (x_0, ..., x_n) de la méthode de Gauss-Legendre) sont équitablement répartis sur [-1,1]. Les points de Tchebychev, quant à eux, se concentrent aux bords de ]-1,1[
Ainsi, quand on a à faire l'intégrale d'une fonction continue sur [-1,1], il suffit de faire une moyenne pondérée de la fonction sur des points équirépartis sur [-1,1]
Quand, par contre, la fonction n'est définie que sur ]-1,1[, et ne se prolonge pas par continuité sur tout le segment, c'est parce qu'elle éclate aux bornes : il est donc normal de concentrer ses évaluations aux bornes !