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 o`u "
!
/. # %$ ( * . Voici quelques livres qui traitent de ce sujet. et '&)( *,+-( *
(0.2)
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 Differentialgleichungen. 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 Algorithms 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]
58
Equations Diff´erentielles Ordinaires
III.1 Quelques exemples typiques Pour des e´ quations diff´erentielles d’un int´erˆet pratique on trouve rarement la solution avec une formule exacte. On est alors oblig´e d’utiliser des m´ethodes num´eriques.
exprim´ee
Exemple 1.1 (mod`ele de Lorenz) Une e´ quation tr`es cel`ebre est celle de Lorenz (1979)
, 0213 54 176 6 , 0; < 4-= 0-76 < ? 76@0BAC7
: < 98 = 0ED
(1.1)
8 = H7: avec 1FGD , I et AJE:K7L . La solution est chaotique et ne devient jamais p´eriodique. Voici
8 88N la composante comme fonction de sur l’intervalle M D . 10 0
0
20
40
60
80
100
−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. O 6 < $ La solution peut aussi eˆ tre interpr´et´ee comme une courbe para<
( * m´etrique dans l’espace (avec param`etre ). Leurs projections sur le plan des composantes 76
Î y y
Î y satisfait une condition de Lipschitz dans Lemme 3.2 Si ɬç 0
un voisinage de la solution de , l’expression de (3.7) v´erifie (3.3) avec t t t 6 èA r è èA r r è èA r r ê è ± 4 4 4 t t ÊfËCÌéç ² nÊËCÌ§ç ² ² r r´ r ´ ´ê
Ï ç
D´emonstration. La condition de Lipschitz pour
(3.8)
¦ ¦ Î
appliqu´ee a` r 50 r nous donne y È0 Î y
y ¦ 50 ¦ Î y y
50B
Î y Éç y ¦ 6 50 ¦ 6 Î y y /0 Î;4 è è y ¦ f0 ¦ Î # y 4 Î y 6 É ç )² Éç D ÊfËCÌ7ç ² 6 Ø0
etc. Ces estimations ins´er´ees dans
y
^
Î7 y 0 É
³ v
r
è 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 comment choisir la division? L’id´ee est de choisir les pas afin que l’erreur locale soit partout environ e´ gale 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´et sultat. t
° M´ethode emboˆıt´ee. Soit donn´ee une m´ethode d’ordre º a` ® e´ tages (coefficients r ² r A ). On cherche une approximation d’ordre º º qui utilise les mˆemes e´ valuations de , c.-`a-d., 4 ¦ f4±§4 A ³¦³ 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
474 A ³ ¦³ 4 A ³ ëìU A¦ f
(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 approximation de l’erreur locale (pour la m´ethode d’Euler). ¦ t les r et ëì# en s´erie de Taylor et comparer Pour une m´ethode g´en´erale, il faut d´evelopper ° avec la solution exacte. Comme les r et les ² r sont d´ej`a connus, on obtient un syst`eme lin´eaire pour le A r . e En faisant ce calcul pour la m´ethode “r`egle LK7: ” (ordre º , tableau III.1), les coefficients d L sont d’une m´ethode emboˆıt´ee avec º
A ,A 0
AC6ÝdAC6 4 î í
¥ íª
ACL2& 4 p 6 ¥ ª Ü0 ¥ ª p ^ ¥ ª Chacune de ces formules repr´esente une e´ quation non lin´eaire pour 7 , de la forme 4 (5.14) ¦ hH 4 : 0> p KDH ). On peut r´esoudre ce (par exemple, pour on a hPKD H et syst`eme par les m´ethodes du chapitre VI (m´ethode de Newton) ou simplement par la m´ethode des approximations successives. M´ethodes pr´edicteur-correcteur. La solution de (5.14) est elle-mˆeme seulement une approx imation de . Ainsi, il n’est pas important de r´esoudre (5.14) a` une tr`es grande pr´ecision. L’id´ee est de calculer une premi`ere approximation par une m´ethode explicite et de corriger cette valeur (une ou plusieurs fois) par la formule (5.14). Avec cet algorithme, un pas de la m´ethode prend la forme suivante:
70
Equations Diff´erentielles Ordinaires
t
tUê v t p ! 4 par la m´ethode d’Adams explicite; P: on calcule le pr´edicteur ü est d´ej`a une approximation de 7 ; # 7 E: evaluation de la fonction: on calcule 7 ; 4 7 C: l’approximation corrig´ee est alors donn´ee par ; E: calculer . Cette proc´edure, qu’on d´enote PECE, est la plus utilis´ee. D’autres possibilit´es sont: de faire plusieurs it´erations, par exemple PECECE, ou d’omettre la derni`ere e´ valuation de (c.-`a-d. PEC) et de prendre 7 a` la place de 7 pour le pas suivant.
t M´ethodes BDF (backward differentiation formulas). Au lieu de travailler avec un polynˆome ¦
qui passe par les , on consid`ere le polynˆome de degr´e , d´efini par t t ?
p ê
pour
ú 4 D 0 ¦ 4 D et on d´etermine 7
p ê kkk
de fac¸on telle que
p
p
, 7 Comme dans (5.10), la formule det Newton donne
ê
t v
p
v 0 p r r
Chaque terme de cette somme contient le facteur t et on obtient
ê
tUv
t
p
v 0 p r r
t kû
t
7 # # p #NÇ M
(5.15)
(5.16)
0 . Alors, on calcule facilement
t
# # # p #N # 7 M 7
kû
(5.17)
Pour le cas e´ quidistant, cette formule devient (utiliser (5.5))
ê
tv Des cas particuliers sont:
¦ hDJ& ¦ ,H& ¦ ,L& ¦ e &
D
ú ü
7 0j « 4 ¥ 0H ñ 0±L ¥ e ¥ 0
t
7 U
(5.18)
7 ¥ p 7 « 4 p 0 p 6; 7 ¥ « ª 4 L p 0 p 6 4 p