Delta-2
Delta-2 est un procédé d'accélération de la convergence de suites en analyse numérique, popularisé par le mathématicien Alexander Aitken en 1926<ref>Alexander Aitken, "On Bernoulli's numerical solution of algebraic equations", Proceedings of the Royal Society of Edinburgh (1926) 46 pp. 289-305.</ref>. C'est l'un des algorithmes d'accélération de la convergence les plus populaires du fait de sa simplicité et de son efficacité. Une première forme de cet algorithme a été utilisée par Seki Kōwa (fin du Modèle:S mini- siècleModèle:Vérification siècle) pour calculer une approximation de Modèle:Math par la méthode des polygones d'Archimède.
Définition
Soit une suite <math>x={(x_n)}_{n\in\N}</math> convergente vers une limite que l'on souhaite déterminer, le procédé Delta-2 de Aitken associe à cette suite une autre suite définie par :
- <math> Ax_{n}=x_{n}-\frac{(\Delta x_{n})^2}{\Delta^2 x_{n}}=x_{n}-\frac{(x_{n+1}-x_{n})^2}{x_{n} -2x_{n+1} + x_{n+2}}</math>
C'est de la première écriture que le procédé tire son nom. Sous certaines conditions, la suite Modèle:Mvar converge plus vite que la suite initiale Modèle:Mvar, ce qui permet d'estimer la limite de la suite avec une meilleure précision et/ou en effectuant moins de calculs.
C'est un algorithme numériquement peu stable : il convient de calculer la suite Modèle:Mvar ainsi que Modèle:Mvar avec un nombre important de chiffres significatifs. Certaines écritures de l'algorithme propagent moins les erreurs d'arrondi, par exemple :
- <math> Ax_{n}=x_{n+1}+\frac{1}{\frac{1}{x_{n+2}-x_{n+1}}-\frac{1}{x_{n+1}-x_{n}}} </math>
La suite Modèle:Mvar étant elle-même une suite numérique, il est possible de lui appliquer le Delta-2, et ainsi de suite : c'est ce qu'on appelle une application itérée du Delta-2.
Propriétés
Le Delta-2 est un algorithme non linéaire d'accélération de la convergence. Mais il vérifie la propriété :
- <math> A(ax_{n} + b) = aA(x_{n}) + b</math>, Modèle:Mvar et Modèle:Mvar constantes réelles.
Le Delta-2 détermine une estimation de la limite de la suite Modèle:Mvar en partant de l'hypothèse que celle-ci vérifie l'équation aux différences suivante :
- <math>a_0(x_n - x_\infty) + a_1(x_{n+1} - x_\infty) = 0,\, a_0 + a_1 \neq 0</math>
En résolvant cette équation aux différences, les suites (dont le Delta-2 détermine de manière immédiate la limite) sont de la forme :
- <math>x_n = x_\infty + a\lambda^n,\, \lambda \neq 1</math>
Il est à noter que même si la suite Modèle:Mvar diverge, c'est-à-dire si |λ| > 1, le Delta-2 converge vers « l'anti-limite » de la suite.
Le théorème de convergence pour le procédé de Aitken est :
Modèle:Théorème{x_{n+1}-x_n}= \lambda \neq 1</math>
alors Modèle:Mvar converge vers Modèle:Math plus vite que Modèle:Mvar. }} Le Delta-2 est donc particulièrement bien adapté aux suites à convergence linéaires (dont l'écart avec leur limite se comporte à l'infini comme une suite géométrique).
Le Delta-2 est un cas particulier de certaines transformations plus générales :
Exemples d'application
Accélération de la convergence d'une série
Le Delta-2 peut être utilisé pour accélérer la convergence des séries en extrayant une suite numérique d'après leur somme partielle.
- Par exemple, la valeur de Modèle:Sfrac peut être calculée d'après la série de Leibniz, connue pour sa convergence très lente :
- <math>\frac{\pi}{4} = \sum_{n=0}^\infty \frac{(-1)^n}{2n+1} \approx 0{,}785\,398</math>
La précision obtenue par le Delta-2 avec seulement 9 termes, serait obtenue en sommant plus de 4000 termes de la suite non accélérée.
Accélération de la convergence des procédés itératifs
Modèle:Ancre La convergence d'un procédé itératif de point fixe du type <math>x_{n+1}=f(x_n)</math> peut être accélérée de plusieurs manières :
- classiquement en calculant le Delta-2 de la suite récurrente ;
- en réinjectant périodiquement le résultat du Delta-2 dans la suite d'origine, afin de « l'aider » à converger.
Cette deuxième stratégie, appliquée systématiquement toutes les 3 itérations, est appelée procédé de Aitken-Steffensen. Il permet dans la plupart des cas de transformer une convergence (ou divergence) linéaire en convergence quadratique, et une convergence quadratique en super-quadratique. Le procédé de Aitken-Steffensen remplace l'itération d'origine <math>x_{n+1}=f(x_n)</math> par
- <math>x_{n+1} = f(x_{n}) + \frac{1}{\frac{1}{f(f(x_{n})) - f(x_{n})} - \frac{1}{f(x_{n}) - x_{n}}}</math>
- Exemple
L'équation (appelée équation de Kepler, liée au calcul d'orbites en astronomie)
- <math>x - a\sin x = M</math>
où x est l'inconnue (M et a étant connus), peut être résolue par exemple par l'itération :
- <math>x_0 = M,\,x_{n+1} = M + a\sin(x_n)</math>
D'après le théorème du point fixe, cette suite converge vers la solution de l'équation de départ, si a < 1. Mais cette suite sera d'autant plus lente à converger que a sera proche de 1 (cas fréquemment rencontré en pratique, car typique des orbites des comètes). Il sera intéressant dans ce cas d'accélérer la convergence avec le Delta-2 ou le procédé d'Aitken-Steffensen.
Par exemple, pour a = 0,9 et M = 0,01 (solution x = Modèle:Unité...), on obtient :
Les colonnes des Delta-2 ont été décalés vers le bas pour mettre sur une même ligne les itérés de base nécessaires à leur calcul, et ainsi mieux visualiser le gain apporté par l'accélération de la convergence vis-à-vis des itérations de base. On constate une nette accélération de la convergence de la suite initiale par le Delta-2. Les applications itérées du Delta-2 l'accélèrent encore davantage, mais le résultat le plus spectaculaire est obtenu par la méthode de Steffensen (les nombres en gras montrent l'application du Delta-2 toutes les 3 itérations). Pour obtenir la même précision que le Delta-2 après 12 itérations, il aurait fallu itérer 50 fois la formule de base, et l'itérer 300 fois pour être équivalent à la méthode de Steffensen.
- Exemple 2
Lorsque l'itération de base a une convergence quadratique (par exemple avec la méthode de Newton), le Delta-2 ou la méthode de Steffensen, quoique accélérant la convergence, présente moins d'intérêt pratique. Le calcul d'une itération de base supplémentaire permet souvent d'obtenir le même résultat que la valeur accélérée.
La valeur de <math>\sqrt{2} \approx 1,4142136</math> peut être calculé par la méthode de Héron, en partant d'une valeur initiale Modèle:Math et la suite récurrente (à convergence quadratique) :
- <math>x_{n+1} = \frac{x_n + \frac{2}{x_n}}{2}. </math>
En partant de x0 = 1 :
n | Valeur itérée xn |
Axn−2 |
0 | 1 | |
1 | Modèle:Unité | |
2 | Modèle:Unité | Modèle:Unité |
3 | Modèle:Unité | Modèle:Unité |
4 | Modèle:Unité | Modèle:Unité |
On constate certes un gain en précision en accélérant la convergence, mais l'itérée de base suivante est du même ordre de précision, pour un moindre coût en calcul.
- Autres applications
Ce procédé est notamment utilisé pour accélérer l'algorithme de décomposition de domaine de type Schwarz (additifs et multiplicatifs). En effet, on peut remarquer que sous certaines conditions, les coefficients de Fourier liés aux solutions itérées obtenus ont une convergence purement linéaire. Par ce principe, on peut réduire le nombre total d'itérations de l'algorithme à 3 ou 5 itérations pour des problèmes 1D ou 2D (respectivement).