Méthodes d'Adams-Bashforth

Cet article est une ébauche concernant l’analyse.

Vous pouvez partager vos connaissances en l’améliorant (comment ?) selon les recommandations des projets correspondants.

Les méthodes d'Adams-Bashforth sont des méthodes de résolution numérique des équations différentielles, basées sur un schéma à pas multiple. Contrairement aux méthodes de Runge-Kutta qui n'utilisent qu'un pas mais nécessitent plusieurs calculs, les méthodes d'Adams-Bashforth permettent d'alléger les calculs tout en gardant un ordre similaire.

Description

Soit l'équation différentielle à résoudre : y = f ( t , y ) {\displaystyle y'=f(t,y)}

On considère une suite de temps (tn) pour lesquelles on calcule les valeurs (yn). Pour cela, les méthodes usuelles utilisent un schéma utilisant une relation entre yn et tn pour le calcul de yn + 1. Les méthodes d'Adams-Bashforth vont quant à elles utiliser plusieurs valeurs yn, yn – 1,...,ynr.

Soit z une solution exacte de l'équation. On a alors : z ( t n + 1 ) = z ( t n ) + t n t n + 1 f ( t , y ) d t . {\displaystyle z(t_{n+1})=z(t_{n})+\int _{t_{n}}^{t_{n+1}}f(t,y)\,\mathrm {d} t.}

On suppose que les points (z(tni)) et les pentes (fni) = (f(tni, z(tni))) soient connues pour 0 ≤ ir.

On calcule alors le polynôme d'interpolation de Lagrange de ces points : P n , r ( t ) = i = 0 r f n i L n , i , r ( t ) , {\displaystyle P_{n,r}(t)=\sum _{i=0}^{r}f_{n-i}L_{n,i,r}(t),} avec les polynômes de Lagrange suivants L n , i , r ( t ) = 0 j r , j i t t n j t n i t n j . {\displaystyle L_{n,i,r}(t)=\prod _{0\leq j\leq r,j\neq i}{\frac {t-t_{n-j}}{t_{n-i}-t_{n-j}}}.}

On fait alors l'approximation : z ( t n + 1 ) z ( t n ) + t n t n + 1 i = 0 r f n i L n , i , r ( t ) d t = z ( t n ) + i = 0 r f n i t n t n + 1 L n , i , r ( t ) d t . {\displaystyle z(t_{n+1})\simeq z(t_{n})+\int _{t_{n}}^{t_{n+1}}\sum _{i=0}^{r}f_{n-i}L_{n,i,r}(t)\,\mathrm {d} t=z(t_{n})+\sum _{i=0}^{r}f_{n-i}\int _{t_{n}}^{t_{n+1}}L_{n,i,r}(t)\,\mathrm {d} t.}

La méthode d'Adams-Bashforth à r+1 pas s'écrit donc : { y n + 1 = y n + Δ t n i = 0 r f n i b n , i , r t n + 1 = t n + Δ t n f n + 1 = f ( t n + 1 , y n + 1 ) . {\displaystyle {\begin{cases}y_{n+1}&=y_{n}+\Delta t_{n}\sum _{i=0}^{r}f_{n-i}b_{n,i,r}\\t_{n+1}&=t_{n}+\Delta t_{n}\\f_{n+1}&=f(t_{n+1},y_{n+1}).\end{cases}}} avec b n , i , r = 1 t n + 1 t n t n t n + 1 L n , i , r ( t ) d t . {\displaystyle b_{n,i,r}={\frac {1}{t_{n+1}-t_{n}}}\int _{t_{n}}^{t_{n+1}}L_{n,i,r}(t)\,\mathrm {d} t.}

On remarque alors qu'à chaque étape, alors que les méthodes de Runge-Kutta demandaient plusieurs évaluations de f à chaque étape, les méthodes d'Adams-Bashforth n'en nécessitent qu'une seule[1].

Exemples

Le tableau suivant donne les valeurs des coefficients b n , i , r = Δ t   b i , r {\displaystyle b_{n,i,r}=\Delta t\ b_{i,r}} dans le cas où le pas est constant :

r {\displaystyle r} b 0 , r {\displaystyle b_{0,r}} b 1 , r {\displaystyle b_{1,r}} b 2 , r {\displaystyle b_{2,r}} b 3 , r {\displaystyle b_{3,r}}
0 1
1 3 2 {\displaystyle {\tfrac {3}{2}}} 1 2 {\displaystyle -{\tfrac {1}{2}}}
2 23 12 {\displaystyle {\tfrac {23}{12}}} 16 12 {\displaystyle -{\tfrac {16}{12}}} 5 12 {\displaystyle {\tfrac {5}{12}}}
3 55 24 {\displaystyle {\tfrac {55}{24}}} 59 24 {\displaystyle -{\tfrac {59}{24}}} 37 24 {\displaystyle {\tfrac {37}{24}}} 9 24 {\displaystyle -{\tfrac {9}{24}}}

On reconnaît pour r=0 la méthode d'Euler.

Erreur de la méthode

Cette section est vide, insuffisamment détaillée ou incomplète. Votre aide est la bienvenue ! Comment faire ?

On peut vérifier que l'erreur de consistance d'une méthode d'Adams-Bashforth à r+1 pas satisfait : | e n | = | z ( t n + 1 ) y n + 1 | max [ t 0 , t 0 + T ] | z ( r + 2 ) | Δ t n max n ( Δ t n ) r + 1 {\displaystyle |e_{n}|=\left|z(t_{n+1})-y_{n+1}\right|\leq \max _{[t_{0},t_{0}+T]}|z^{(r+2)}|\cdot \Delta t_{n}\cdot \max _{n}(\Delta t_{n})^{r+1}} Il s'agit donc d'une méthode d'ordre r+1, pour peu que les r premières valeurs soient calculées par une méthode de Runge-Kutta d'ordre suffisant.

La stabilité de la méthode est cependant assez médiocre :

Théorème — Si f est k-lipschitzienne en y et qu'il existe une constante βr indépendante de n vérifiant : i = 0 r | b n , i , r | β r {\displaystyle \sum _{i=0}^{r}|b_{n,i,r}|\leq \beta _{r}} alors la méthode d'Adams-Bashforth à r+1 pas est stable, de constante de stabilité exp ( β r k T ) . {\displaystyle \exp(\beta _{r}kT).}

Cependant, les valeurs de βr augmentent avec r. Dans la pratique, on se limitera au cas r=1 ou 2, ou il faudra alors envisager une méthode à pas variable.

Références

  1. Jean-Pierre Demailly, Analyse numérique et équations différentielles, Les Ulis, EDP Sciences, coll. « Grenoble Sciences », , 343 p. (ISBN 2-86883-891-X)

Voir aussi

v · m
Recherche de zéro
Transformations de matrice
Résolutions de systèmes
Intégration numérique
Équations différentielles
Interpolation numérique
  • icône décorative Portail de l'analyse