Chapitre III
Equations Diff´erentielles Ordinaires
Ce chapitre est consacr´e `a la r´esolution num´erique d’un syst`eme d’´equations diff´erentielles ordi-
naires
...
(0.1) En notation vectorielle, ce syst`eme s’´ecrit
!
(0.2)
o`u" # %$ et'&)(*,+-(*
/.
(*
. Voici quelques livres qui traitent de ce sujet.
Bibliographie sur ce chapitre
K. Burrage (1995): Parallel and sequential methods for ordinary differential equations. The Clarendon Press, Oxford University Press. [MA 65/369]
J.C. Butcher (1987): The Numerical Analysis of Ordinary Differential Equations. John Wiley & Sons. [MA 65/276]
J.C. Butcher (2003): Numerical Methods for Ordinary Differential Equations. John Wiley & Sons. [MA 65/470]
M. Crouzeix & A.L. Mignot (1984): Analyse Num´erique des Equations Diff´erentielles. Masson. [MA 65/217]
P. Deuflhard & F. Bornemann (1994): Numerische Mathematik II. Integration gew¨ohnlicher Differential- gleichungen. Walter de Gruyter. [MA 65/309]
E. Hairer, S.P. Nørsett & G. Wanner (1993): Solving Ordinary Differential Equations I. Nonstiff Problems.
Springer Series in Comput. Math., vol. 8, 2nd edition. [MA 65/245]
E. Hairer & G. Wanner (1996): Solving Ordinary Differential Equations II. Stiff and Differential-Algebraic Problems. Springer Series in Comput. Math., vol. 14, 2nd edition. [MA 65/245]
E. Hairer, C. Lubich & G. Wanner (2002): Geometric Numerical Integration. Structure-Preserving Algo- rithms for Ordinary Differential Equations. Springer Series in Comput. Math., vol. 31, 2nd edition in preparation. [MA 65/448]
P. Henrici (1962): Discrete Variable Methods in Ordinary Differential Equations. John Wiley & Sons. [MA 65/50]
A. Iserles (1996): A First Course in the Numerical Analysis of Differential Equations. Cambridge Texts in Applied Mathematics, Cambridge University Press.
J.D. Lambert (1991): Numerical Methods for Ordinary Differential Equations. John Wiley & Sons. [MA 65/367]
A.M. Stuart & A.R. Humphries (1996): Dynamical Systems and Numerical Analysis. Cambridge Univ.
Press. [MA 65/377]
III.1 Quelques exemples typiques
Pour des ´equations diff´erentielles d’un int´erˆet pratique on trouve rarement la solution exprim´ee avec une formule exacte. On est alors oblig´e d’utiliser des m´ethodes num´eriques.
Exemple 1.1 (mod`ele de Lorenz) Une ´equation tr`es cel`ebre est celle de Lorenz (1979)
,0213
54
176
98
,0:
6
,0;
<
4-=
0-76 6
98
>:
<
?
76@0BAC7< <
98
=
0ED
(1.1)
avec 1FGD 8 ,= IH7: etAJE:K7L . La solution est chaotique et ne devient jamais p´eriodique. Voici
la composante comme fonction de sur l’intervalle M8 D 88N.
0 20 40 60 80 100
−10 0 10
Les m´ethodes classiques comme les m´ethodes de Runge–Kutta (voir le paragraphe III.2) ou les m´ethodes multipas (paragraphe III.5) nous permettent de trouver sans difficult´es des bonnes approximations.
La solution O 6 < $ peut aussi ˆetre interpr´et´ee comme une courbe para- m´etrique dans l’espace (*
<
(avec param`etre ). Leurs projections sur le plan des composantes
76 et < sont dessin´ees dans la figure III.1. L’intervalle d’int´egration est M8 HP N. La valeur initiale est marqu´ee par un point noir ´epais.
−20 −10 0 10 20
10 20
−20
−10
−20 −10 0 10 20
30 40
10
valeur initiale
6
7<
FIG. III.1: Deux vues de la solution QRSUT5V?RWQ
RSUTCXYQ
6
RSZTCXYQ
<
RSUTCT
$ du probl`eme de Lorenz (1.1)
When the equations represent the behaviour of a system containing a number of fast and slow reactions, a forward integration of these equations becomes difficult. (H.H. Robertson 1966) Exemple 1.2 (r´eactions chimiques) L’exemple suivant de Robertson (1966) est devenu c´el`ebre comme ´equation test pour des ´etudes num´eriques (Willoughby 1974): la r´eaction chimique
[
\C]
0^0
. _
(lente)
_ 4 _
<`
a
0^0
. b 4 _
(tr`es rapide)
_ 4 b
Zc
0^0
. [ 4 b
(rapide) conduit au syst`eme d’´equations diff´erentielles raides
[ & d0
88e f4
D 8 ] 67<
g8
hD
_ &
6
8i8e
0ED 8 ]
76<20jLlk)D 8nm
6
6
6 g8
8
b &
<
Llk)D
8nm
6
6
<
g8
8
(1.2) Si on utilise une m´ethode classique (par exemple, la m´ethode de Runge–Kutta DOPRI5) on est oblig´e de prendre des pas d’int´egration tr`es petits pour obtenir une approximation correcte (voir la figure III.2). Dans le paragraphe III.9 nous ´etudierons des m´ethodes num´eriques adapt´ees `a ce type de probl`emes (dont un repr´esentant est RADAU5). Elles donnent une grande pr´ecision avec des grands pas d’int´egration.
.0 .1 .2 .3 .4 .5
.000032 .000034 .000036
6
transient
solution DOPRI5: 345 steps, ToloD 8np
6
337 steps, TolhD 8 p
<
solution RADAU5: 14 steps, ToloD 8np
6
FIG. III.2: Solution num´erique pour (1.2) obtenue par une m´ethode classique (DOPRI5) et par une m´ethode pour des ´equations diff´erentielles raides (RADAU5)
Exemple 1.3 (int´egration `a long terme du syst`eme plan´etaire) Comme dernier exemple, consi- d´erons le probl`eme `a q corps qui est important aussi bien dans l’astronomie (mouvement des plan`etes) que dans la biologie mol´eculaire (mouvement des atomes). Les ´equations sont
r
s tuv
rw
t t
0x
r
y t
0j
r y <
(1.3) o`u r{z (*
<
est la position du | `eme corps,
w r
sa masse, et s la constante gravitationnelle.
En introduisant la vitesse} r ~ r comme nouvelle variable, on obtient un syst`eme d’´equations diff´erentielles pour les r et} r de dimensionq o`uq est le nombre des corps consid´er´es.
Comme exemple concret, consid´erons le mouvement de cinq plan`etes ext´erieures autour du soleil (q corps).1 La figure III.3 montre la diff´erence entre une m´ethode classique (m´ethode d’Euler explicite) et une m´ethode adapt´ee `a ce probl`eme; voir le paragraphe III.10 pour une expli- cation.
1La constante , les masses est les valeurs initiales pour les positions et vitesses sont donn´ees dans le para- graphe I.2.3 du livre Geometric Numerical Integration de Hairer, Lubich & Wanner (2002).
J S U
N P
explicit Euler, hD 8
J S
U N P
symplectic Euler, oD 88
FIG. III.3: Solution num´erique pour (1.3) obtenue par une m´ethode classique (m´ethode d’Euler explicite) et par une m´ethode ´etudi´ee au paragraphe III.10
Avant de discuter la r´esolution num´erique des ´equations diff´erentielles, nous rappelons un th´eo- r`eme sur l’existence et l’unicit´e de la solution (pour une d´emonstration, voir le cours d’Analyse II).
Th´eor`eme 1.4 Soit une fonction continˆument diff´erentiable dans un voisinage de . Alors, il existe 8 tel que le probl`eme , ! poss`ede exactement une solution sur l’intervalle 0 #4 .
III.2 M´ethodes de Runge-Kutta
Pour calculer une approximation de la solution de
)d
!
(2.1)
sur l’intervalle M#N, on proc`ede comme suit: on subdiviseM#N en sous-intervalles d’extr´emit´es
OBI B
, on d´enote 0 et on calcule l’approximation par une formule de type
4
n
n
(2.2)
Une telle formule s’appelle “m´ethode `a un pas”, car le calcul de7 utilise uniquement les valeurs
et non p U# p p .
M´ethode d’Euler (1768). La m´ethode la plus simple est
!
@4
1
−1 0 1
U
6
76
V?
V
(pour simplifier la notation nous consid´erons uniquement le premier pas ( 8 dans (2.2)) et nous notons
). Elle est obtenue en remplac¸ant la solution par sa tangente au point . Le dessin `a droite montre la solution num´erique pour le probl`eme
6 4 6
0D
P7d0D ie
et pour DK e , D K7: , etc. On peut observer la con- vergence vers une fonction qui, comme on verra dans le paragraphe III.3, est la solution du probl`eme.
Pour la d´erivation d’autres m´ethodes num´eriques, int´egrons (2.1) de `a@4
4
@4 W
¡
£¢
£ (2.3)
Si l’on remplace l’int´egrale de (2.3) par , on obtient la m´ethode d’Euler. L’id´ee ´evidente est d’approcher cette int´egrale par une formule de quadrature ayant un ordre plus ´elev´e.
M´ethode de Runge (1895). On prend la formule du point milieu
4
@
4
@4o¤
¥ @4o¤
¥
1 1
¦
6 ¦ 6
et on remplace la valeur inconnue @4 K§H par la m´ethode d’Euler. Ceci nous donne
4
¨4©¤
¥ @4©¤
¥
M´ethode de Heun (1900). On prend une formule de quadrature d’ordreL
4
@
4o¤
ª
4
L
¡¨4
¥ ¤
« 4
¥ ¤
«
(2.4)
et on remplace la valeur inconnue 4 H K7L par l’approximation de la m´ethode de Runge. Ceci nous donne
4o¤
ª
4
L
@4
¥ ¤
« 4
¥ ¤
«
@4©¤
« 4o¤
«
(2.5) En g´en´eralisant cette id´ee `a une formule de quadrature plus g´en´erale et en introduisant la no- tation ¦ r ¬ pour les expressions de qui apparaissent, on est conduit `a la d´efinition suivante (Kutta 1901).
D´efinition 2.1 Une m´ethode de Runge-Kutta `a® ´etages est donn´ee par
¦
¦
6¯
4±°
6 4
)² 6 ¦
¦
<¯
@4±°
< 4
² < ¦ f4
²
<C6
¦
6#
¦³
@4±°
³ 4
² ³ ¦
54± §4
²
³U´³ p
¦³
p
4
A ¦
f4±§4
A
³¦³
(2.6)
o`u° r ² r
t A t
sont des coefficients. On la repr´esente `a l’aide du sch´ema
° r ² rt
A r
Exemples. Les m´ethoded d’Euler, de Runge et de Heun sont donn´ees par les tableaux suivants:
8 D 8
D K7H D K7H
8 D 8
D K§L D K7L
HK§L
8
HK7L
D K
e 8
LK
e
Par la suite nous supposerons toujours que les° r satisfont
°
8 ° r rp
tUv
² rt | dH
®
(2.7) Ceci signifie que ¦ r µ 4¶° r ·4¶° r # 4¶¸¹
6
. Nous ´etendons maintenant la notion de l’ordre (voir la D´efinition I.1.2 pour les formules de quadrature) aux m´ethodes de Runge-Kutta.
D´efinition 2.2 On dit que la m´ethode (2.6) a l’ordre º si, pour chaque probl`eme » ,
(avec suffisamment diff´erentiable), l’erreur apr`es un pas satisfait
0j 4
¸¹
n¼
pour
.
8 (2.8)
La diff´erence (2.8) s’appelle erreur locale de la m´ethode.
La m´ethode d’Euler est une m´ethode d’ordreº µD , car
4
@4
4¸F
6
! 4
4±¸¹
6
!
f4¸F
6
La m´ethode de Runge est bas´ee sur la formule du point milieu qui est une formule de quadrature d’ordreH :
4
!
¨4
¨4 ¤¥ ½¨4 ¤¥
4¸F
<
En remplac¸ant 4 K7H7 par la valeur ·4I K§HU de la m´ethode d’Euler, on ajoute un terme d’erreur qui est de¸F
<
grˆace au facteur devant . Ainsi, cette m´ethode a l’ordreº dH . De la mˆeme mani`ere on voit que la m´ethode de Heun a l’ordreº ,L .
Pour construire des m´ethodes d’ordre plus ´elev´e, il faut d´evelopper la solution exacte f4 et la solution num´erique ¾ en s´erie de Taylor autour de 8 . Une comparaison des coefficients de
r
pour | D º donne des conditions pour les param`etres ² r
t
et A r. L’id´ee est simple, mais l’ex´ecution de ce plan est loin d’ˆetre triviale (: conditions pour l’ordre º e ,
H
88 pourº o: et DH 8 P pourº ¿D 8 ). Mais c’est de cette mani`ere que Kutta (1901) a trouv´e des m´ethodes d’ordree . Les plus c´el`ebres sont donn´ees dans le tableau III.1. Celle de gauche est bas´ee sur la formule de Simpson, l’autre sur la formule de quadrature de Newton.
TAB. III.1: M´ethodes de Kutta (1901)
8
D K§H D K7H
D K§H
8
D K7H
D 8 8 D
D K
HK
HK
D K
“La” m´ethode de Runge-Kutta
8
D K7L D K7L
HK7L 0ÀD K§L D
D D 0ÀD D
D K7: LK7: LK7: DK7:
r`egle 3/8
Les m´ethodes de Runge-Kutta, qui sont actuellement les plus utilis´ees, ont ´et´e construites au- tour de 1980 par Dormand et Prince (Angleterre). Pour des m´ethodes d’ordreº P avec ® et d’ordreº o: avec ® ¿DH , des programmes informatiques DOPRI5 et DOP853 sont disponibles sur la page internet http://www.unige.ch/Á hairer .
Exp´erience num´erique. Consid´erons les cinq m´ethodes vues jusqu’`a maintenant (Euler, Runge, Heun et les deux m´ethodes du tableau III.1 de Kutta) et comparons leurs performances pour le probl`eme (´equation Van der Pol)
!76
98
,H i88
: DÂ:
8 :Ã
e : e
L)DL
P 8 Â e78
D::
6
D0j
6 96@0-
6 98
8 (2.9)
La valeur initiale est choisie pour que la solution soit p´eriodique de p´eriode
LH7:
:PÂ7LHL)DL
8
D:Â
ÂÂ
:H 8 L 8 P
Nous subdivisons l’intervalle M82N en parties ´equidistantes et appliquons fois la m´ethode.
L’erreur `a la fin de l’intervalle est alors dessin´ee en fonction du travail (nombre total d’´evaluations de ) dans la figure III.4.
102 103 104 10−9
10−6 10−3
102 103 104
10−9 10−6 10−3
erreur pour
fe Euler
Runge Heun RK4
erreur pour6
fe Euler Runge
Heun RK4
RK classique (tableau III.1, `a gauche) r`egle 3/8 de Kutta (tableau III.1, `a droite) FIG. III.4: Erreur globale en fonction du travail num´erique
Comme dans la fig. I.4 (int´egration num´erique), on peut constater que ÄiÅÆ err d´epend lin´e- airement deÄiÅÆ fe et que cette droite est de pente0 º , o`uº est l’ordre de la m´ethode. Il est donc important d’utiliser des m´ethodes d’ordre ´elev´e.
III.3 Convergence des m´ethodes de Runge-Kutta
Dans la figure III.4, on a constat´e que pour un calcul avec des pas constants, l’erreur globale se comporte comme ÄÇÅ7Æ errÈ
b 0 º k
ÄiÅÆ
fe , ce qui est ´equivalent `a err
b
fe p ¼
b 6
n¼ . Ceci montre que la solution num´erique converge vers la solution exacte si
. 8
. Dans ce paragraphe, nous allons d´emontrer ce r´esultat.
Nous appliquons une m´ethode `a un pas
7
? 4
3
n (3.1)
`a une ´equation diff´erentielle , , et nous cherchons `a estimer l’erreur globale
^0j .
Th´eor`eme 3.1 Soit la solution de , , sur M#N. Supposons que a) l’erreur locale satisfasse pour z M#N et"ÉÊfËCÌ
y
Í4
Í0-
^0
y É b k ¼
(3.2) b) la fonction satisfasse une condition de Lipschitz
y
50±
Î
y ÉdÏ
k y /0
Î y
(3.3)
pour"ÉÊfËCÌ et Î dans un voisinage de la solution.
Alors, l’erreur globale admet pour É l’estimation
y
^0-
y
ÉE3¼
k bÏ k ÐUÑÒ
WÓ p Ô
0ED (3.4)
o`u dÕÈÖ× r r, sous la condition que soit suffisamment petit.
6 <
kkk
Ø
solution exacte
m´ethode de Runge-Kutta
Ù Ù 6
.. .
Ù p
Ù
ØdÐZ
Ð
ÐU6
ÐZ
p
76
<
FIG. III.5: Estimation de l’erreur globale
D´emonstration. L’id´ee est d’´etudier l’influence de l’erreur locale, commise au | `eme pas, sur l’approximation . Ensuite, on va additionner les erreurs accumul´ees.
Propagation de l’erreur. Soient Ú 3Û et Ú Î 3Û deux solutions num´eriques obtenues par (3.1) avec pour valeurs initiales et ÎU , respectivement. En utilisant la condition de Lipschitz (3.3), leur diff´erence peut ˆetre estim´ee comme
y
0 Î
7
y É y
Ü0
Î y 4 Ï y
Ý0
Î y D 4 Ï y
Ý0
Î y É Ð Ó Ñ y
¯0 Î y
(3.5) R´ecursivement, on obtient alors
y
Ý0
Î y É Ð
ÓßÞ7à ÑÈkÐ
ÓÞá ÑÈk
kÐ
â
Ñ y r 0 Î r y dÐUÑ)Ò
WÓ
p âÔ y r 0 Î r y
et l’erreur propag´eeÙ r (voir la figure III.5) satisfait
y Ù r y É
ÐUÑ)Ò
Ó p âÔ y Ð r y É b ¼ rp ÐUÑ)Ò
Ó p âÔ
(3.6) Accumulation des erreurs propag´ees. L’in´egalit´e du triangle et l’estimation (3.6) nous donnent
y
n^0-
y É
rv y Ù r y É b rv ¼
r p ÐUÑ)Ò
Ó p âÔ
É b
3¼ ÐUÑÒ
Ó p à Ô
4± 74
p 6ÐUÑ)Ò
Ó pãä
Þ7àÔ 4 p
>
6
kkk
p
Ð
Ñ)Ò
Ó p Ô
É b
3¼
Ó
W
ÐUÑ)Ò
Ó på
Ô ¢ b
n¼
D
0 Ï ÐUÑ)Ò
Ó på
Ô
WÓ
b
n¼
Ï
ÐUÑ)Ò
Ó p Ô 0ED
Cette estimation montre que, pour suffisamment petit, la solution num´erique ne sort pas du voisinage o`u satisfait `a une condition de Lipschitz. Ceci justifie les estimations dans (3.5).
Supposons maintenant que (3.1) repr´esente une m´ethode de Runge-Kutta et v´erifions les hy- poth`eses du th´eor`eme pr´ec´edent. La condition (3.2) est satisfaite pour une m´ethode d’ordreº (par d´efinition de l’ordre). Il reste `a v´erifier la condition de Lipschitz (3.3) pour la fonction
³
rv A r ¦ r
(3.7)
o`u
¦ r
d æ4±°
r 4 rp
tUv
² rt ¦ t
# .
Lemme 3.2 Si satisfait une condition de Lipschitz
y
Í0>
Î
y
ɬç
y
0 Î y
dans un voisinage de la solution de , l’expression de (3.7) v´erifie (3.3) avec
Ï ç r èA r è
4
ÊfËCÌéç
r ´t èA r ² rt è 4
nÊËÇç
6 r ´t ´ê èA r ² rt ² t ê è
4±
(3.8) D´emonstration. La condition de Lipschitz pour appliqu´ee `a ¦ r 50 ¦ r Î nous donne
y ¦
50
¦
Î
y y
50B Î
y
Éç
y
È0 Î y
y ¦ 6
50
¦ 6
Î
y
Éç
y
/0 Î;4
)²
6
¦
f0
¦
Î
#
y
Éç D 4
ÊfËCÌ7ç
è² 6 è y
Ø0 Î y
etc. Ces estimations ins´er´ees dans
y
^0
Î7
y É ³
rv èA r è k y ¦ r 50
¦ r
9Î
y
impliquent (3.3) avecÏ donn´e par (3.8).
III.4 Un programme `a pas variables
Pour r´esoudre un probl`eme r´ealiste, un calcul `a pas constants est en g´en´eral inefficace. Mais com- ment choisir la division? L’id´ee est de choisir les pas afin que l’erreur locale soit partout environ
´egale `a Tol (fourni par l’utilisateur). A cette fin, il faut connaˆıtre une estimation de l’erreur locale.
Inspir´e par le programme TEGRAL pour l’int´egration num´erique (voir le paragraphe I.6), nous construisons une deuxi`eme m´ethode de Runge-Kutta avec comme approximation num´erique, et nous utilisons la diff´erence 0j comme estimation de l’erreur locale du moins bon r´esultat.
M´ethode emboˆıt´ee. Soit donn´ee une m´ethode d’ordre º `a ® ´etages (coefficients ° r ² r
t A t
). On cherche une approximation d’ordreº º qui utilise les mˆemes ´evaluations de , c.-`a-d.,
4
A ¦
f4±§4
A
³¦³
o`u les
¦ r
sont donn´es par la m´ethode (2.6). Pour avoir plus de libert´e, on ajoute souvent un terme avec ëì , qu’il faut en tous cas calculer pour le pas suivant, et on cherche de la forme
4
A ¦
f474
A
³¦³
4 A ³
ëìU
(4.1) Exemple. Pour la m´ethode de Runge, bas´ee sur la r`egle du point milieu, on peut prendre la m´ethode d’Euler comme m´ethode emboˆit´ee. L’expression err
¦
60
¦
est donc une approxi- mation de l’erreur locale (pour la m´ethode d’Euler).
Pour une m´ethode g´en´erale, il faut d´evelopper les¦ r et ëì# en s´erie de Taylor et comparer avec la solution exacte. Comme les ° r et les ² r
t
sont d´ej`a connus, on obtient un syst`eme lin´eaire pour leA r.
En faisant ce calcul pour la m´ethode “r`egle LK7: ” (ordreº e , tableau III.1), les coefficients d’une m´ethode emboˆıt´ee avecº dL sont
A ,A
0 í
¥ ª
AC6ÝdAC6 4 í
î
AC<Ý,A<¨0¬í
î A ]
A
]
0Gí
î
ACïÝðí
ñ
(4.2) et avec° µD on obtient donc
err ¥¤ª 0 ¦ ^4 L ¦ 6@0±L ¦ <¨0!L ¦ ]@4!e ëìU (4.3)
comme estimation de l’erreur locale.
Calcul du ò “optimal”. Si l’on applique la m´ethode avec une certaine valeur , l’estimation de l’erreur satisfait (º º )
0
0j 4
#
4 4
^0
¸¹
n¼
4±¸¹
¼
b k ¼
(4.4) Le “optimal”, not´e par opt, est celui o`u cette estimation est proche de Tol:
Tol
b k ¼
opt
(4.5)
En ´eliminant
b
de (4.4) et de (4.5), on obtient
opt
8
Â;k
k ¼
Tol
y 0 y
(4.6) Le facteur 8Â est ajout´e pour rendre le programme plus sˆur. En g´en´eral on supose en plus une restriction du type8H ÀÉE opt É P pour ´eviter des grandes variations dans .
Pour la norme dans (4.6) on utilise en g´en´eral
y 0 y D
rv r 0 r
scr
6
o`u scr hD 4 ÕÖ×
è r è è r è
(4.7) ( r r r est la | `eme composante de , respectivement). Ceci repr´esente un m´elange entre erreur relative et erreur absolue.
5 10 15
1 2 3 4
5 10 15
10−1 100
10−6 10−5 10−4 10−3
solutions
76
accepted step sizes
rejected step sizes
initial
local error estimate exact local error global error
FIG. III.6: S´election du pas, TolV?ó p
]
, 96 pas accept´esô 32 pas rejet´es
Algorithme pour la s´election automatique du pas. Au d´ebut, l’utilisateur fournit un sous- programme qui calcule la valeur de , les valeurs initiales et un premier choix de .
A) Avec , calculer , err
y 0 y
et optde (4.6).
B) If err É Tol (le pas est accept´e) then
&Ç
@4
&Ç
&ÇdÕÈõiö opt
#
end
0
else (le pas est rejet´e)
&i
opt end if
C) Si endon a termin´e, sinon on recommence en (A) et on calcule le pas suivant.
Exemple num´erique. Cet algorithme a ´et´e programm´e (en utilisant la “r`egleLK§: ” et l’estimation de l’erreur (4.3)) et il a ´et´e appliqu´e au probl`eme (une r´eaction chimique, le “Brusselator”)
µD
4 6 6@0
e g8
µD P
6
dL
0j
6
C6 6
g8
dL
(4.8) sur l’intervalle M8 H 8N. Les r´esultats obtenus avec TolµD 8np
]
sont pr´esent´es dans la figure III.6 : i) en haut, les deux composantes de la solution avec tous les pas accept´es;
ii) au milieu les pas; les pas accept´es ´etant reli´es, les pas rejet´es ´etant indiqu´es par + ;
iii) les dessin du bas montre l’estimation de l’erreur locale err, ainsi que les valeurs exactes de l’erreur locale et de l’erreur globale.
III.5 M´ethodes multipas (multistep methods)
D´ej`a longtemps avant la parution des premi`eres m´ethodes de Runge-Kutta, J.C. Adams a r´esolu num´eriquement des ´equations diff´erentielles (1855, publi´e dans un livre de Bashforth 1883). Son id´ee ´etait d’utiliser l’information de plusieurs pas pr´ec´edents (en particulier p p
ê
) pour obtenir une approximation pr´ecise de 7 . C’est la raison pour laquelle ces m´ethodes s’appellent aujourd’hui m´ethodes multipas (contrairement aux m´ethodes `a un pas).
M´ethodes d’Adams explicites. Soit donn´ee une division O 7 F de l’intervalle sur lequel on cherche `a r´esoudre l’´equation diff´erentielle ÷ et supposons qu’on connaisse des approximations p p ê de la solution pour ¦ pas cons´ecutifs (
t
ø t
). Comme pour la d´erivation des m´ethodes de Runge-Kutta, on int`egre l’´equation diff´erentielle pour obtenir
7
4 ÓUùà
WÓ
¢
(5.1)
Mais, au lieu d’appliquer une formule de quadrature standard `a l’int´egrale de (5.1), on remplace
par le polyn ˆomeº de degr´e
¦
0D qui satisfait (on utilise l’abr´eviation
t
d
t t
)
º
t
d
t
pour
ú
0ED
0 ¦ 4 D p ê
kkk
p
p ê p º
L’approximation de est alors d´efinie par
7
?
4 Óùà
WÓ
º
)¢
£ (5.2)
Si l’on repr´esente le polyn ˆomeº par la formule de Newton (voir le paragraphe II.1)
º
@ ê p
tUv
t p
r v 0 p r kû
t M
#
p
##
p t N
(5.3) la m´ethode (5.2) devient
? 4 ê p
tUv
ÓUùà
Ó t p
r v 0 p r )¢
kû t M
p
#
p t
N (5.4)
Cas ´equidistant. Dans la situation
t
¨4
ú les diff´erences divis´ees peuvent ˆetre ´ecrites sous la forme
û t M
#
p
##
p t N ýü
t
ú3þ
t
(5.5) o`u
ü
Ø ,
ü
ØÜ0B
p
,
ü 6 Ø
ü ü
3Ü0±H
p
f4
p 6
sont les diff´erences finies r´egressives (`a distinguer des diff´erences finies progressivesÿ Ào 0> ). La formule (5.4) devient alors (poser 4 ® )
4 ê p
tUv
t ü t
(5.6)
o`u
t D
úþ
t p
rv | 4 ® )¢
®
® 4 ú
0ED
ú ¢ ®
(5.7) Les premiers coefficients
t
sont donn´es dans le tableau III.2.
TAB. III.2:Coefficients pour les m´ethodes d’Adams explicites
ú 8 D H L e P Ã :
t D
¥
¥ «î
¥
¥
¥îî
î
ñ ª î
¥
¥î
«ñ¥îî
Des cas particuliers sont:
¦
hDJ&
!
4 (m´ethode d’Euler)
¦
,H&
!
4 «¥
Ü0
¥
p
¦
,L&
! 4
¥«
¥
Ü0 ñ
¥ p
54
¥ p 6
¦ e &
! 4
¥ ª Ü0
¥ ª p 54
«
¥ ª p 6¨0
¥ ª p <
Si l’on veut appliquer cette m´ethode (par exemple avec ¦ L ) `a la r´esolution de ,
;,
, il faut connaˆıtre trois approximations initiales et6 . Ensuite, on peut utiliser la formule r´ecursivement pour calculer< ] , etc. Adams a calcul´e la s´erie de Taylor de la solution exacte (autour de la valeur initiale) pour d´eterminer les approximations initiales qui manquent.
Evidemment, on peut aussi les obtenir par une m´ethode `a un pas.
Remarque. Dans la construction de la m´ethode (5.4), on a utilis´e le polyn ˆome d’interpolationº en-dehors de l’intervalle M p ê # N. On sait bien (voir le chapitre II) que ceci peut provoquer de grandes erreurs. La modification suivante est aussi due `a J.C. Adams (1855).