# Méthodes d'Adams-Bashforth

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)$
On considère une suite de temps (t$_n$) pour lesquelles on calcule les valeurs (y$_n$). Pour cela, les méthodes usuelles utilisent un schéma utilisant une relation entre y$_n$ et t$_n$ pour le calcul de y$_{n+1}$. Les méthodes d'Adams-Bashforth vont quant à elles utiliser plusieurs valeurs y$_n$, y$_{n–1}$,...,y$_{n–r}$.
Soit z une solution exacte de l'équation. On a alors : $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(t$_{n–i}$)) et les pentes (f$_{n–i}$) = (f(t$_{n–i}$, z(t$_{n–i}$))) soient connues pour 0 ≤ i ≤ r.
On calcule alors le polynôme d'interpolation de Lagrange de ces points : $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)=\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})\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 : ${\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}={\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.

## Exemples

Le tableau suivant donne les valeurs des coefficients $b_{n,i,r}=\Delta t\ b_{i,r}$ dans le cas où le pas est constant :
| $r$ | $b_{0,r}$ | $b_{1,r}$ | $b_{2,r}$ | $b_{3,r}$ |
| 0 | 1 |
| 1 | ${\tfrac {3}{2}}$ | $-{\tfrac {1}{2}}$ |
| 2 | ${\tfrac {23}{12}}$ | $-{\tfrac {16}{12}}$ | ${\tfrac {5}{12}}$ |
| 3 | ${\tfrac {55}{24}}$ | $-{\tfrac {59}{24}}$ | ${\tfrac {37}{24}}$ | $-{\tfrac {9}{24}}$ |
On reconnaît pour r=0 la méthode d'Euler.

## Erreur de la méthode

On peut vérifier que l'erreur de consistance d'une méthode d'Adams-Bashforth à r+1 pas satisfait : $|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 : $\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(\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.