Passer au contenu principal
AnalyseMéthode · Glossaire

méthode d'Adams-Bashforth

Les méthodes d'Adams-Bashforth sont des méthodes numériques explicites pour approcher la solution d'une équation différentielle ordinaire ; les cas d'ordre au moins égal à deux sont à plusieurs pas. Elles extrapolent la dérivée à partir de valeurs déjà calculées, puis l'intègrent pour avancer. Leur forme classique suppose un second membre assez régulier, un pas fixe et suffisamment de valeurs de départ ; elle réutilise ainsi les calculs passés sans résoudre d'équation implicite.
Calcul Adams-Bashforth à deux pas Les pentes f zéro et f un sont pondérées pour calculer y deux. Adams–Bashforth à deux pas f₀ = 1 f₁ = 1,105 (3/2)f₁ − (1/2)f₀ = 1,1575 y₂ = 1,105 + 0,1 × 1,1575 = 1,22075 t₀ = 0 t₁ = 0,1 t₂ = 0,2
Les pentes 1 et 1,105 donnent la pente pondérée 1,1575, puis l'accroissement 0,11575 ajouté à y₁.
Sommaire

Ce que vous allez apprendre

  • Relier la méthode aux dérivées calculées aux pas précédents.
  • Appliquer et contrôler la formule d'Adams-Bashforth à deux pas.
  • Savoir comment produire les valeurs nécessaires au démarrage.
  • Repérer les difficultés dues au pas variable, à la raideur et au manque de régularité.

En clair

Imaginez que vous suiviez une quantité qui évolue toutes les 0,1 seconde. Pour estimer sa prochaine valeur, la méthode d'Adams-Bashforth ne regarde pas seulement sa vitesse actuelle : elle réutilise aussi les vitesses calculées aux instants précédents.
Avec deux vitesses, par exemple, la plus récente pèse davantage et l'ancienne corrige la tendance. Le prochain point s'obtient alors sans résoudre une nouvelle équation. Il faut toutefois disposer dès le départ des premiers points nécessaires.

Définition

Une méthode d'Adams-Bashforth approche la solution du problème de valeur initiale y′(t) = f(t, y(t)), avec une valeur de départ y(t0) connue. Les instants tn sont d'abord supposés régulièrement espacés d'un pas h, et yn désigne l'approximation de y(tn).
Dans la version à k pas, les k valeurs déjà calculées de la dérivée sont combinées avec des coefficients bj :
yn+1=yn+hj=0k1bjf(tnj,ynj)y_{n+1}=y_n+h\sum_{j=0}^{k-1}b_j f(t_{n-j},y_{n-j})
Ces coefficients proviennent de l'intégration du polynôme qui interpole les dérivées passées. Le calcul est explicite, car la valeur inconnue yn+1 n'apparaît pas dans le membre de droite.
Avec k = 1, on retrouve la méthode d'Euler explicite. Avec k = 2, les coefficients sont 3/2 et −1/2 ; la méthode est d'ordre 2 lorsque la solution est assez régulière et que la valeur de démarrage a la précision requise. Des ordres supérieurs utilisent davantage d'historique. Pour des pas variables, les coefficients constants du cas régulier ne conviennent plus.

Le principe

Pour appliquer Adams-Bashforth à deux pas, on connaît deux approximations successives yn−1 et yn, ainsi que les dérivées fn−1 = f(tn−1, yn−1) et fn = f(tn, yn). Avec un pas constant h, la valeur suivante est :
yn+1=yn+h(32fn12fn1)y_{n+1}=y_n+h\left(\frac{3}{2}f_n-\frac{1}{2}f_{n-1}\right)
On évalue ensuite f(tn+1, yn+1), on décale l'historique d'un rang, puis on répète jusqu'au dernier instant demandé.

Quand l'utiliser

La méthode s'applique à un problème de valeur initiale dont le second membre f peut être évalué aux points déjà obtenus. Sur l'intervalle calculé, on suppose notamment f continue par rapport au temps et localement lipschitzienne par rapport à la solution, afin d'assurer localement existence et unicité. Pour obtenir l'ordre annoncé, la solution doit aussi posséder assez de dérivées continues.
Une formule à k pas exige k valeurs de solution cohérentes avant sa première application. Elles sont souvent produites par une méthode à un pas d'ordre suffisant. Les coefficients affichés ici supposent en outre un pas h constant.
Si seule y0 est connue, Adams-Bashforth à deux pas est bloquée : il manque y1. On peut calculer ce premier point par Heun ou Runge–Kutta, puis commencer la récurrence. Si les pas changent, il faut recalculer des coefficients adaptés au maillage.

Un exemple, pas à pas

Approchons la solution de y′ = y avec y(0) = 1 et un pas h = 0,1. Une étape de Heun fournit la valeur de démarrage y1 = 1,105 à l'instant t1 = 0,1. Nous calculons y2 à t2 = 0,2 par Adams-Bashforth à deux pas.
Données :
y0 = 1 et f0 = f(0 ; 1) = 1 ;
y1 = 1,105 et f1 = f(0,1 ; 1,105) = 1,105 ;
h = 0,1.
1. Pondérer les deux dérivées : (3/2) × 1,105 − (1/2) × 1 = 1,1575.
2. Multiplier par le pas : 0,1 × 1,1575 = 0,11575.
3. Ajouter cet accroissement à y1 : y2 = 1,105 + 0,11575 = 1,22075.
Le résultat est donc y(0,2) ≈ 1,22075. Comme la solution exacte de ce problème est et, le contrôle donne e0,2 ≈ 1,22140 : l'écart est d'environ 0,00065. Le calcul peut être refait en vérifiant successivement 1,1575 puis 0,11575.

En pratique

Pour une intégration longue à pas fixe, Adams-Bashforth réutilise des dérivées déjà calculées. Ce choix devient intéressant lorsque chaque évaluation de f coûte cher et que la solution reste régulière.
Au démarrage, une méthode de Runge–Kutta ou de Heun fournit les premières valeurs. Si l'on veut changer fréquemment de pas, une méthode à un pas avec contrôle d'erreur est souvent plus simple à piloter.
Dans un schéma prédicteur-correcteur, Adams-Bashforth peut proposer la prochaine valeur, puis une formule implicite d'Adams-Moulton la corrige. Le correcteur est préféré lorsque l'on accepte un calcul supplémentaire pour améliorer le contrôle local.

À ne pas confondre

La méthode d'Euler explicite n'utilise qu'une dérivée passée. Elle coïncide avec Adams-Bashforth à un pas ; dès que deux valeurs antérieures interviennent avec les poids 3/2 et −1/2, il s'agit de la formule d'Adams-Bashforth à deux pas.
Une méthode d'Adams-Moulton fait intervenir la dérivée au nouvel instant et est donc implicite. Le test est direct : si f(tn+1, yn+1) figure dans la formule à résoudre, ce n'est pas Adams-Bashforth.
Une méthode de Runge–Kutta à plusieurs étages calcule plusieurs pentes intermédiaires dans l'intervalle courant. Adams-Bashforth réutilise au contraire les pentes d'intervalles antérieurs ; la présence ou non d'un historique sépare les deux familles.

Limites et pièges

Démarrage incomplet. Une formule à k pas ne part pas d'une seule valeur : elle en exige k. Pour k = 2, l'absence de y1 bloque le premier calcul ; il faut obtenir ce point par une méthode à un pas de précision compatible.
Changement de pas sans nouveaux coefficients. Les poids 3/2 et −1/2 supposent deux intervalles de même longueur. Si le logiciel modifie h tout en conservant ces poids, l'ordre attendu n'est plus garanti ; il faut employer la formule à pas variable correspondante.
Problème raide. Les méthodes d'Adams-Bashforth ont une région de stabilité bornée. Des oscillations ou une croissance numérique peuvent apparaître alors que la solution exacte décroît ; il faut réduire le pas ou choisir une méthode implicite adaptée.
Historique devenu peu représentatif. Une discontinuité, un événement ou un manque de régularité rend les anciennes dérivées trompeuses et peut faire chuter l'ordre. Il convient de redémarrer l'historique après l'événement et d'adapter le pas.

Pour aller plus loin

La fiche méthode d'Euler détaille le cas à un pas qui sert de point de comparaison.
La méthode de Runge–Kutta présente une famille à un pas utile pour démarrer le calcul ou changer le pas.
L'interpolation polynomiale de Lagrange éclaire la construction des poids appliqués aux dérivées passées.
Continuez avec Tangente

Explorez les mathématiques autrement

Retrouvez nos magazines, podcasts et jeux pour explorer les mathématiques autrement.

Découvrir les offres