Vous êtes sur la page 1sur 16

Chapitre III

Equations diff erentielles ordinaires


Un probl` eme dint egration, trait e en Chap. I et d ej` a difcile, consiste ` a trouver une fonction y(x),
si une fonction f(x) est donn ee, tel que
y

= f(x) ou y(x) = y
0
+
_
x
x
0
f(t) dt .
Pour un probl` eme d equation diff erentielle nous cherchons une fonction y(x) tel que
y

= f(x, y), y(x


0
) = y
0
ou y(x) = y
0
+
_
x
x
0
f(t, y(t)) dt (0.1)
o` u, cette-fois-ci, la fonction donn ee f(x, y) d epend de x et de y. On peut ausssi avoir des equations
diff erentielles dordre sup erieur, comme par exemple
y

= f(x, y, y

), y(x
0
) = y
0
, y

(x
0
) = v
0
ou
y

= v, y(x
0
) = y
0
,
v

= f(x, y, v), v(x


0
) = v
0
(0.2)
o` u on a ecrit v(x) ` a la place de y

(x). Ceci est un cas sp ecial dun syst` eme d equations diff eren-
tielles
y

1
= f
1
(x, y
1
, y
2
), y
1
(x
0
) = y
10
,
y

2
= f
2
(x, y
1
, y
2
), y
2
(x
0
) = y
20
ou y

= f(x, y), y(x


0
) = y
0
(0.3)
en notation vectorielle. On peut aussi avoir des syst` emes de trois, quatre etc. equations. On peut
encore ecrire x = y
0
(x) avec y

0
= 1 et rajouter ceci comme equation suppl ementaire au syst` eme.
Ce syst` eme devient alors un syst` eme autonome
y

0
= 1 y
0
(x
0
) = x
0
,
y

1
= f
1
(y
0
, y
1
, y
2
), y
1
(x
0
) = y
10
,
y

2
= f
2
(y
0
, y
1
, y
2
), y
2
(x
0
) = y
20
ou y

= f(y), y(x
0
) = y
0
. (0.4)
De passer entre ces diverses notations et analogies, va nous guider dans la recherche et dans
lanalyse des m ethodes num eriques pour ces probl` emes.
Bibliographie sur ce chapitre
J.C. Butcher (1987): The Numerical Analysis of Ordinary Differential Equations. John Wiley & Sons. [MA
65/276]
M. Crouzeix &A.L. Mignot (1984): Analyse Num erique des Equations Diff erentielles. Masson. [MA65/217]
E. Hairer, S.P. Nrsett & G. Wanner (1993): Solving Ordinary Differential Equations I. Nonstiff Problems.
Springer Series in Comput. Math., vol. 8, 2nd edition. [MA 65/245]
60 Equations Diff erentielles Ordinaires
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, 2006): Geometric Numerical Integration ; Structure-Preserving
Algorithms for Ordinary Differential Equations. Springer Series in Comput. Math., vol. 31.
[MA 65/448], [OBSA 2594], [PHYA 5140],; ces trois derniers livres are often described as
the bibles of their elds (SIAM News, Philadelphia Dec. 2003)
P. Henrici (1962): Discrete Variable Methods in Ordinary Differential Equations. John Wiley & Sons. [MA
65/50]
III.1 Exemples d equations diff erentielles
Un probl` eme m ecanique ; un point qui glisse sur une courbe.
Probl` eme. On veut connatre le mouvement dun point de masse glissant, sous effet de la gravit e
et sans frottement, sur une courbe donn ee, par exemple y = (1 x
2
)
2
(voir Fig. III.1, ` a gauche).
1 0 1
1
ds dy
1
f
FIG. III.1: Probl` eme m ecanique ; un corps glissant dans une double vall ee
Solution. Malgr e le fait que tout enfant faisant de la luge connat le probl` eme, la solution ana-
lytique est assez difcile. Prenons la longueur darc s, avec ds =

dx
2
+ dy
2
=

1 + p
2
dx o` u
p =
dy
dx
, comme coordonn ee pour d eterminer la position du corps. La force acc el eratrice f est, par
Thales, f = mg
dy
ds
(voir Fig. III.1, ` a droite), o` u nous posons pour la masse et la constante de
gravitation m = 1 et g = 1. Ainsi f =
dy
ds
=
dy/dx
ds/dx
=
p

1+p
2
. Avec la vitesse v =
ds
dt
, la loi
fondamentale de Newton (1687), remani ee par Euler (1747) en equation diff erentielle, devient
ds
dt
= v
dv
dt
=
p

1 + p
2
.
(1.1)
Cela ne suft pas ; ` a chaque instant nous devons connatre le p, pour notre exemple p = y

= 4x
3

4x, Ce qui n ecessite la connaissance de x. Pour son calcul, nous rajoutons le x avec
dx
dt
=
dx
ds

ds
dt
` a
nos equations diff erentielles comme troisi` eme equation ;
dx
dt
=
v

1 + p
2
avec p = 4x
3
4x . (1.2)
Les trois equations (1.1) et (1.2) forment un syst` eme d equations diff erentielles pour les trois fonc-
tions s(t), v(t), x(t) ; elles permettent de calculer num eriquement ces fonctions ... ... seulement si
on disposait de m ethodes num eriques pour leur calcul... !
Equations Diff erentielles Ordinaires 61
Deuxi` eme exemple : le circuit de Van der Pol.
Balthasar Van der Pol etait le scientique en chef de la Philips Glooilampenfabrieek ` a Eind-
hoven, un des pionniers du d eveloppement des radios, puis t el eviseurs en de tous les appareils
el ectroniques qui nous entournent quotidiennement. Les ingr ediens qui font tout fonctionner
sont les circuits, dabord avec triodes, plus tard avec transisteurs, et nalement sur les chips . . ..
Retracons donc lhistoire de cette page fondamentale de la civilisation daujourdhui.
Petit excours en el ectronique: Soit I le courant (en Amp` eres) qui passe dans un conducteur, et soit
U (en Volt) la tension entre deux noeuds. Alors on a les lois
R esistance :
R
U = I R (Ohm)
Inductivit e :
L
U = L
dI
dt
(Faraday)
Condensateur :
C
I = C
dU
dt
(Capacit e)
L
C
R
FIG. III.2: Circuit RCL (gauche) ; Fac-simil e du circuit de Van der Pol (1926) (droite)
Si nous avons maintenant un circuit RCL (` a gauche dans la Fig, .III.2), alors sont valables les lois
de Kirchhoff, pour cet exemple I
R
= I
C
= I
L
et U
R
+ U
C
+ U
L
= 0, i.e.,
I R + L
dI
dt
+
1
C

_
I dt = 0
ou, apr` es diff erentiation,
L
d
2
I
dt
2
+ R
dI
dt
+
1
C
I = 0 .
Cette equation est de la forme (si nous prenons LC = 1)
y

+ y

+ y = 0
_
y = e
t
_

2
+ + 1 = 0, y = e

2
x
(c
1
cos x + c
2
sin x),
une oscillation amortie.
Id ee. On rajoute une triode (voir Fig. III.2 ` a droite) et une batterie. Ainsi, la r esistance R (ou ) va
d ependre de y. Ceci a comme effet daugmenter l en ergie pour y petit et nous arrivons ` a
y

+ f(y) y

+ y = 0
f(y) < 0 si y petit ;
f(y) > 0 si y grand.
(1.3)
62 Equations Diff erentielles Ordinaires
Le mod` ele le plus simple est
y

+ (y
2
1)y

+ y = 0 ou
y

= v,
v

= (1 y
2
)v y
(1.4)
o` u > 0 est un param` etre.
1 2
1
2
y
v
Cette equation d etermine, pour chaque point (y, v) donn e, la
vitesse que le point mobile (dans le language de Poincar e
1983) (y(t), z(t)) doit poss` eder. On appelle cela un champs
de vecteurs (voir dessin). Une courbe qui satisfait cette vitesse
` a chaque instant, est solution du probl` eme. Pas question de la
trouver analytiquement!!!
Nous obs ervons un fait int eressant : cette equation
poss` ede un mouvement p eriodique qui sapp` elle (aussi dans
le language de Poincar e) un cycle limite. Cela fait fonctionner
nos appareils.!!!
III.2 M ethode dEuler
1 2
1
2
1 2
1
2
y
v
h = .25
y
v
h = .05
1
1
0
1
t
0
, y
0
t
1
, y
1
t
2
, y
2
h = 1/4
h = 1/8
y

= x
2
+ y
2
Pour calculer une approximation de la solution de
y

= f(x, y), y(x


0
) = y
0
(2.1)
sur lintervalle [x
0
, x], on proc` ede comme suit: on subdivise [x
0
, x] en sous-intervalles dextr emit es
x
0
< x
1
< . . . < x
N
= x, on d enote h
n
= x
n+1
x
n
et on calcule lapproximation y
n
y(x
n
)
par la formule (Euler 1768)
y
n+1
= y
n
+ h
n
f(x
n
, y
n
). (2.2)
Une telle formule sappelle m ethode ` a un pas, car le calcul de y
n+1
utilise uniquement les valeurs
h
n
, x
n
, y
n
et non h
n1
, x
n1
, y
n1
, . . .. Notre but est de d emontrer la convergence de cette m ethode
si les h
n
0. La m eme preuve se laisse aussi adapter pour prouver la convergence des m ethodes
dordre sup erieur.
Erreur locale.
Pour simplier la notation nous consid erons uniquement le premier pas (n = 0) dans (2.2) et nous
notons h
0
= h) :
y
1
= y
0
+ hf(x
0
, y
0
) . (2.3)
Equations Diff erentielles Ordinaires 63
Pour trouver lerreur locale de cette approximation, nous utilisons la s erie de Taylor
y(x
0
+ h) = y
0
+ hy

0
+
h
2
2!
y

0
+
h
3
3!
y

0
+ . . . (2.4)
ou, parfois, la s erie tronqu ee avec la derni` ere d eriv ee evalu ee dans un point interm ediaire (formule
de Lagrange [HW97], Thm. III.7.14). Les d eriv ees sup erieures sont obtenues en d erivant succes-
sivement l equation diff erentielle (2.1). Pour simplier ces calculs, nous absorbons la variable x
dans les y en augmentant la dimension par 1 et d erivons (voir (0.4) ci-dessus) y

(x) = f(y(x)). La
d eriv ee en chane de cette formule donne
y

(x) = f

(y(x))y

(x) = f

(y(x))f(y(x)) (2.5)
o` u f

(y) est la matrice jabobienne de f. En comparant (2.2) et (2.4), nous voyons (la m ethode
dEuler nest rien dautre que les deux premiers termes de la s erie de Taylor)
y(x
0
+ h) y
1
C h
2
o` u C = max
U

f
2!
. (2.6)
Similairement aux formules de quadrature, nous appelons cela une m ethode dordre 1.
Erreur globale.
Contrairement aux int egrales, o` u lerreur globale a et e tout simplement la somme des erreurs lo-
cales, nous avons ici le ph enom` ene du papillon : les erreurs locales peuvent augmenter si on les
propage avec le temps (voir gure III.3).
Th eor` eme 2.1 (Cauchy 1824) Soit y(x) la solution de y

= f(x, y), y(x


0
) = y
0
sur lintervalle
[x
0
, X].
Supposons que
a) lerreur locale satisfasse lestimation (2.6) dans un voisinage U de la solution;
b) la fonction f(x, y) satisfasse une condition de Lipschitz
f(x, y) f(x, z) L y z (2.7)
pour h h
max
dans le m eme voisinage.
Alors, lerreur globale admet pour x
n
X lestimation
y(x
n
) y
n
h
C
L

_
e
L(xnx
0
)
1
_
(2.8)
o` u h = max
i
h
i
, sous la condition que h soit sufsamment petit. La convergence est donc assur ee.
D emonstration. Lid ee est d etudier linuence de lerreur locale, commise au i
` eme
pas, sur
lapproximation y
n
. Ensuite, on va additionner les erreurs accumul ees.
Propagation de lerreur. Soient {y
n
} et {z
n
} deux solutions num eriques avec pour valeurs initiales
y
0
et z
0
, respectivement. En utilisant y
n+1
= y
n
+ h
n
f(x
n
, y
n
) et z
n+1
= z
n
+ h
n
f(x
n
, z
n
) et la
condition de Lipschitz (2.7), leur diff erence peut etre estim ee comme
y
n+1
z
n+1
y
n
z
n
+ h
n
Ly
n
z
n
= (1 + h
n
L)y
n
z
n
e
hnL
y
n
z
n
. (2.9)
R ecursivement, on obtient alors
y
n
z
n
e
h
n1
L
e
h
n2
L
. . . e
h
i
L
y
i
z
i
= e
L(xnx
i
)
y
i
z
i
.
64 Equations Diff erentielles Ordinaires
y
0
x
0
x
1
x
2
x
3
x
n
= X
solution exacte
polygones dEuler
y
n
E
1
E
2
.
.
.
E
n1
E
n
= e
n
e
1
e
2
e
n1
y(x
n
)
y
1
y
2
y
3
FIG. III.3: Lady Windermeres Fan, Estimation de lerreur globale
et lerreur propag ee E
i
(voir la g. III.3) satisfait
E
i
e
L(xnx
i
)
e
i
Ch
2
i1
e
L(xnx
i
)
. (2.10)
Accumulation des erreurs propag ees. Lin egalit e du triangle, ainsi que (2.10) nous donne (voir la
g. III.4 pour lestimation de la somme)
y(x
n
) y
n

n

i=1
E
i
C
n

i=1
h
2
i1
e
L(xnx
i
)
Ch
_
h
0
e
L(xnx
1
)
+ h
1
e
L(xnx
2
)
+ . . . + h
n2
e
L(xnx
n1
)
+ h
n1
_
Ch
_
xn
x
0
e
L(xnt)
dt = Ch
1
L
e
L(xnt)

xn
x
0
=
Ch
L
_
e
L(xnx
0
)
1
_
.
x
0
x
1
x
2
x
n1 x
n
x
e
L(xnx)
FIG. III.4: Estimation de la somme de Riemann
Il reste ` a justier lapplication de (2.7) dans (2.9), car lestimation (2.7) nest valable que dans
un voisinage U = {(x, y) | y y(x) b} de la solution exacte. Si lon suppose que h soit
sufsamment petit, plus pr ecisement si h est tel que
Ch
L
_
e
L(Xx
0
)
1
_
b,
on est s ur que toutes les solutions num eriques de la g. III.3 restent dans U.
III.3 M ethodes Predictor-Corrector
Pour la d erivation dautres m ethodes num eriques, int egrons (2.1) de x
0
` a x
0
+ h
y(x
0
+ h) = y
0
+
_
x
0
+h
x
0
f(t, y(t)) dt. (3.1)
Equations Diff erentielles Ordinaires 65
Id ee g eniale : remplacer lint egrale de (3.1) par une formule de quadrature dordre plus elev e.
Que nous donne, par exemple, la r` egle du trap` eze :
y

1
= y
0
+
h
2
_
f(x
0
, y
0
) + f(x
0
+ h, y(x
0
+ h))
_
, (3.2)
pour laquelle nous savons que
y(x
0
+ h) y

1
C h
3
(3.3)
puisque cette formule de quadrature est dordre 2 (voir I.2). H elas !... La valeur de la solution
exacte y(x
0
+ h), indispensable dans (3.2) ` a droite, nest, bien s ur, pas connue : nous sommes en
train de la calculer...
Id ee. On pr edit (Predictor) la valeur manquante, quon appellera u
2
1
, par un pas dEuler et
on utilise (3.2) pour corriger la solution (Corrector) :
u
2
= y
0
+ hf(x
0
, y
0
)
y
1
= y
0
+
h
2
_
f(x
0
, y
0
) + f(x
0
+ h, u
2
)
_
R` egle du trap` eze explicite.
ou
u
2
= y
0
+
h
2
f(x
0
, y
0
)
y
1
= y
0
+ hf(x
0
+
h
2
, u
2
) .
R` egle du point milieu expl.
(3.4)
Ces deux m ethodes, invent ees par Runge en 1895, marquent le d ebut dun long d eveloppement des
m ethodes modernes.
Th eor` eme 3.1 Les deux m ethodes de Runge sont de lordre 2, i.e., leur erreur locale satisfait
y(x
0
+ h) y
1
C h
3
. (3.5)
Preuve. On soustrait (3.2) et la deuxi` eme ligne de (3.4) :
y

1
y
1
=
h
2
f(x
0
+h, y(x
0
+h)) f(x
0
+h, u
2
)
Lh
2
y(x
0
+h) u
2

Lh
2
C h
2
en utilisant (2.6). La preuve se termine par laddition de cette in egalit e ` a (3.3). Le clou de la
preuve : lerreur du predictor est multipli ee par un h suppl ementaire. Q.E.D.
La m ethode de Heun dordre 3. Car
_
1
0
x
_
x
2
3
_
dx = 0 ,
la formule de quadrature (dite de Radau)
_
1
0
g(t) dt
_
1
4
g(0) +
3
4
g(
2
3
)
_
est, par superconvergence (voir I.3), dordre 3. Pour en faire une m ethode pour equations diff eren-
tielles du m eme ordre, nous devons pr edire la valeur de y(x
0
+
2
3
h) au moins ` a lordre 2. Faisons
le avec la m ethode du point milieu avec h remplac e par
2h
3
. Cela donne (Heun 1900) :
u
2
= y
0
+
h
3
f(x
0
, y
0
)
u
3
= y
0
+
2h
3
f(x
0
+
h
3
, u
2
)
y
1
= y
0
+ h
_
1
4
f(x
0
, y
0
) +
3
4
f(x
0
+
2h
3
, u
3
)
_
(3.6)
1
on comprendra plus tard pourquoi nous ecrivons u
2
et non u
1
.
66 Equations Diff erentielles Ordinaires
Par une preuve similaire ` a la pr ec edente, on voit que cette m ethode est dordre 3.
Remarque historique. Le premier programme, qui a tourn e sur le premier ordinateur (am ericain,
i.e., lanc etre direct de tous nos ordinateurs), fut une equation diff erentielle r esolue par la m ethode
de Heun.
Pour une interpr etation g eom etrique de ces trois m ethodes, voir gure III.5.
1
1
1
1
1
1
x
y
y
0
1
2
u
2
y
1
expl. trap. rule
x
y
y
0
1
2
u
2
y
1
expl. midp. rule
x
y
y
0
1
3
2
3
1
4
u
2
u
3
y
1
Heun 1900
FIG. III.5: M ethodes de Runge-Kutta pour y

= x
2
+ y
2
, y
0
= 0.46, h = 1; pointill e: solution
exacte.
10
2
10
4
10
6
10
8
10
2
10
3
10
4
10
2
10
4
10
6
10
8
10
2
10
3
10
4
erreur de y
1
fe
Euler
Runge
Heun
RK4
erreur de y
2
fe
Euler
Runge
Heun
RK4
RK classique (tableau III.2, ` a gauche)
r` egle 3/8 de Kutta (tableau III.2, ` a droite)
FIG. III.6: Erreur globale par rapport au travail num erique (chaque 4` eme bille correspond ` a h
h
2
).
Exp erience num erique. Consid erons les trois m ethodes ci-dessus, ainsi que les deux m ethodes
Runge-Kutta dordre 4 du paragraphe suivant (Tableau III.2) ; comparons leur performance pour
le probl` eme de Van der Pol (voir III.1)
y

1
= y
2
y
1
(0) = 2.00861986087484313650940188
y

2
= (1 y
2
1
)y
2
y
1
y
2
(0) = 0
(3.7)
Les valeurs initiales ont et e choisies pour rendre la solution p eriodique. Nous subdivisons lintervalle
de p eriodicit e [0, T], o` u T = 6.6632868593231301896996820305, en n parties equidistantes et ap-
pliquons n fois la m ethode. Le travail (nombre total d evaluations de f) est alors dessin e en fonc-
tion de lerreur ` a la n de lintervalle (g. III.6). Comme dans la g. I.5 (int egration num erique),
on peut constater que log
10
(fe) d epend lin eairement de log
10
(err) et que cette droite est de pente
1/p, o` u p est lordre de la m ethode. Il est donc important dutiliser des m ethodes dordre elev e.
Equations Diff erentielles Ordinaires 67
III.4 M ethodes de Runge-Kutta
La m ethode pour equations diff erentielles fut, presque pendant un si` ecle, la m ethode de Runge-
Kutta dordre 4, trouv ee par W. Kutta 1901 en g en eralisant les m ethodes de Runge et de Heun.
Aucun texte danalyse num erique ne peut se passer de donner ces formules c el` ebres
u
1
= y
0
u
2
= y
0
+
h
2
f(x
0
, u
1
)
u
3
= y
0
+
h
2
f(x
0
+
h
2
, u
2
)
u
4
= y
0
+ hf(x
0
+
h
2
, u
3
)
y
1
= y
0
+ h
_
1
6
f(x
0
, u
1
) +
2
6
f(x
0
+
h
2
, u
2
) +
2
6
f(x
0
+
h
2
, u
3
) +
1
6
f(x
0
+ h, u
4
)
_
(4.1)
pratiquement aucun texte nexplique au lecteur, comment ces formules ont et e trouv ees.

Evidemment,
dans une des meilleures universit es dEurope
2
et dans un des meilleurs cours de la facult e
3
, on
est oblig e den faire exception ....:-)
Forme g en erale dune m ethode de Runge-Kutta. Dans lesprit des formules de quadrature de
Gauss, on introduit des coefcients arbitraires b
i
, a
ij
et c
i
=

j
a
ij
. Pour simplier les formules
et la preuve, nous rajoutons la variable x aux variables y avec x

= 1, comme nous avons d ej` a fait


en (0.4) et en III.2. Ainsi lalgorithme est
u
1
= y
0
u
2
= y
0
+ ha
21
f(u
1
)
u
3
= y
0
+ h
_
a
31
f(u
1
) + a
32
f(u
2
)
_
u
4
= y
0
+ h
_
a
41
f(u
1
) + a
42
f(u
2
) + a
43
f(u
3
)
_
. . . . . .
y
1
= y
0
+ h
_
b
1
f(u
1
) + b
2
f(u
2
) + b
3
f(u
3
) + b
4
f(u
4
) + . . .
_
(4.2)
On a lhabitude de repr esenter les coefcients ` a laide du sch ema
c
i
a
ij
b
i
Exemples. La m ethode dEuler, ainsi que des m ethodes de Runge et de Heun sont donn ees dans
le tableau III.1. Deux m ethodes de Kutta dans le tableau III.2.
TAB. III.1: Les premi` eres m ethodes de Runge-Kutta
0
1
0
1 1
1/2 1/2
0
1/2 1/2
0 1
0
1/3 1/3
2/3 0 2/3
1/4 0 3/4
2
paroles du Recteur ...
3
paroles du Doyen ...
68 Equations Diff erentielles Ordinaires
TAB. III.2: M ethodes de Kutta (1901)
0
1/2 1/2
1/2 0 1/2
1 0 0 1
1/6 2/6 2/6 1/6
La m ethode de Runge-Kutta
0
1/3 1/3
2/3 1/3 1
1 1 1 1
1/8 3/8 3/8 1/8
r` egle 3/8
Conditions dordre pour m ethodes RK
Probl` eme. Trouver des conditions pour les coefcients b
i
, a
ij
et c
i
=

j
a
ij
pour que (4.2)
repr esente une m ethode dordre p, i.e., sassurer que lerreur locale est de C h
p+1
.
Lid ee est simple : calculer les d eriv ees successives de y
1
, qui est d enie par cet amalgame de
formules, par rapport ` a h et sassurer que ces d eriv ees sont les m emes que celles de la solution
exacte.
Seulement, lex ecution de ce plan est loin d etre triviale, si on ne fait pas attention. Pour convaincre
le lecteur, nous repr esentons en gure III.7 deux pages (de huit en total) du calcul de la sixi` eme
d eriv ee pour une m ethode avec s = 8 par Hu

ta (1956).
FIG. III.7: Sixi` eme d eriv ee de y
1
dune m ethode avec s = 8 calcul ee par Hu

ta (1956) (extrait)
Equations Diff erentielles Ordinaires 69
Pour l el egance il fallait attendre les travaux de Merson (1957) et surtout de John Butcher (travaux
de 19631972), M. Crouzeix, E. Hairer et Chr. Lubich. Nous ecrivons la m ethode sous la forme
u

= y
0
+ h

i
a
i
f(u
i
) , y
1
= y
0
+ h

i
b
i
f(u
i
) .
(4.3)
Nous calculons les d eriv ees de u

; pour celles de y
1
il suft ensuite de remplacer le a
i
par b
i
.
La fonction (de h) u

est de la forme h g(h), dont les d eriv ees sont, par Leibniz,
u

= 1 g(h) + hg

(h), u

= 2 g

(h) + hg

(h), u

= 3 g

(h) + hg

(h), . . . (4.4)
Pour h = 0, seulement les premiers termes restent non nuls. Ainsi, par (4.3),
u

= 1

i
a
i
f
(4.5)
o` u u

est evalu e en h = 0 et f en y
0
. La deuxi` eme d eriv ee devient par (4.4) et (4.3)
u

= 2

i
a
i
(f(u
i
))

= 2

i
a
i
f

i
.
(4.6)
Dans cette formule, nous devons ins erer u

i
de (4.5). Pour eviter une confusion des indices, nous
faisons le shift i j, i. Cela donne
u

= 2 1

i,j
a
i
a
ij
f

f et y

1
= 2 1

i,j
b
i
a
ij
f

f .
(4.7)
Nous avons vu en III.2, formule (2.5), que la deuxi` eme d eriv ee de la solution exacte est y

= f

f,
pr ecis ement la formule pour la deuxi` eme d eriv ee de la solution num erique sans les facteurs 2 1
et

i,j
b
i
a
ij
. Cela donne d ej` a notre premier th eor` eme :
Th eor` eme 4.1 La m ethode (4.2) est de lordre 2 ssi

i
b
i
= 1 et

i,j
b
i
a
ij
=
1
2
.
`
A cause de c
i
=

j
a
ij
, la deuxi` eme condition devient

i
b
i
c
i
= 1/2 . On peut ainsi v erier que
les deux m ethodes de Runge sont effectivement dordre 2.
La troisi` eme d eriv ee. La troisi` eme d eriv ee devient par (4.4) et (4.3)
u

= 3

i
a
i
(f(u
i
))

= 3

i
a
i
(f

i
)

= 3

i
a
i
_
f

(u

i
, u

i
) + f

i
_
(4.8)
Dans cette formule, nous devons ins erer u

i
de (4.5) et u

i
de (4.7) avec, de nouveau, des shifts
dindices appropri es. Cela donne
u

= 3 1 1

i,j,k
a
i
a
ij
a
ik
f

(f, f) + 3 2 1

i,j,k
a
i
a
ij
a
jk
f

(f

(f))
(4.9)
et la formule analogue pour y

1
. Avant que ces calculs ne tournent au cauchemar, nous observons
une belle analogie de ces formules avec les arbres orient es
. . .
70 Equations Diff erentielles Ordinaires
de mani` ere suivante :
y

1
= 3 1 1

i,j,k
b
i
a
ij
a
ik
f

(f, f) + 3 2 1

i,j,k
b
i
a
ij
a
jk
f

(f

(f))

3
1 1
i
j
k
f

f f
3
2
1
i
j
k
f

f
Nous appelons ordre dun arbre le nombre de ses noeud. La troisi` eme d eriv ee est repr esent ee par
tous les arbres dordre 3. On y voit apparatre trois facteurs :
Un produit de nombres entiers (les ordres de tous les sous-arbres) ;
une somme de produits a
jk
, o` u les indices jk sont connectes dans la m eme facon que les
noeuds de larbre ; le premier facteur etant b
i
;
les d eriv ees f
(q)
interconnect ees comme applications multilin eaires comme les noeuds cor-
respondants de larbre.
Le troisi` eme facteur (qui pour les ordres plus el ev es contient encore un entier suppl ementaire)
apparat aussi dans la solution exacte. Nous avons donc :
Th eor` eme 4.2 La m ethode est dordre p ssi le produit du premier et deuxi` eme facteur est 1 pour
chaque arbre dont le nombre de noeuds est p.
Exemple 4.3 Pour larbre suivant dordre 9 nous avons

i,j,k,l,m,n,p,q,r
b
i
a
ij
a
jm
a
in
a
ik
a
kl
a
lq
a
lr
a
kp
=
1
9 2 5 3
ou bien, par

j
a
ij
= c
i
,

i,j,k,l
b
i
c
i
a
ij
c
j
a
ik
c
k
a
kl
c
2
l
=
1
270
.
i
j
k
l
m
n
p
q r
III.5 Construction de m ethodes dordre 4
Le but est de d eterminer les coefcients a
ij
, b
j
et c
i
=

j
a
ij
an que lerreur locale soit C h
5
. Il
existent huit arbres dordre 4 et nous avons :
Th eor` eme 5.1 (conditions dordre) La m ethode de Runge-Kutta (4.2) a lordre 4 si les coef-
cients satisfont

i
b
i
= 1 (= b
1
+ b
2
+ b
3
+ b
4
) (5.1a)

i
b
i
c
i
= 1/2 (= b
2
c
2
+ b
3
c
3
+ b
4
c
4
) (5.1b)

i
b
i
c
2
i
= 1/3 (= b
2
c
2
2
+ b
3
c
2
3
+ b
4
c
2
4
) (5.1c)

i,j
b
i
a
ij
c
j
= 1/6 (= b
3
a
32
c
2
+ b
4
(a
42
c
2
+ a
43
c
3
)) (5.1d)

i
b
i
c
3
i
= 1/4 (= b
2
c
3
2
+ b
3
c
3
3
+ b
4
c
3
4
) (5.1e)

i,j
b
i
c
i
a
ij
c
j
= 1/8 (= b
3
c
3
a
32
c
2
+ b
4
c
4
(a
42
c
2
+ a
43
c
3
)) (5.1f)

i,j
b
i
a
ij
c
2
j
= 1/12 (= b
3
a
32
c
2
2
+ b
4
(a
42
c
2
2
+ a
43
c
2
3
)) (5.1g)

i,j,k
b
i
a
ij
a
jk
c
k
= 1/24 (= b
4
a
43
a
32
c
2
). (5.1h)
(entre parenth` eses on a explicit e les expressions pour s = 4).
Equations Diff erentielles Ordinaires 71
R esolution du syst` eme (5.1) pour s = 4. Kutta (dans sa th` ese 1901) donne les solutions de ces 8
equations nonlin eaires ` a 10 inconnues sans le moindre commentaire. Mais si plus tard on d esirait
passer ` a lordre 5 (17 equations) ou 6 (37 equations) ou 8 (200 equations) ou m eme 10 (1206
equations), il vaut mieux s equiper de quelques id ees et de regarder un peu plus attentivement
la structure de ces equations. La clef sont les conditions suivantes, d ecouverte par John Butcher
1963:
q 1
q
q 1
q
s

j=1
a
ij
c
q1
j
=
c
q
i
q
s

i=1
b
i
c
q1
i
a
ij
=
b
j
q
(1 c
q
j
)
Ces conditions permettent de r eduire la condition pour larbre de gauche ` a celui des arbres de
droite (essayez un exemple). Nous utilisons ici la deuxi` eme condition pour q = 1 :
s

i=j+1
b
i
a
ij
= b
j
(1 c
j
). (5.2)
c.-` a-d.
b
2
(1 c
2
) = b
3
a
32
+ b
4
a
42
(5.3a)
b
3
(1 c
3
) = b
4
a
43
(5.3b)
b
4
(1 c
4
) = 0. (5.3c)
Un calcul direct montre que les trois conditions (5.1d,g,h) peuvent etre remplac ees par (5.3a,b,c)
sans changer de solutions. Grand avantage : si les b
i
et les c
i
sont choisis, ces equations sont
lin eaires.
Algorithme. Poser c
1
= 0, c
4
= 1; c
2
et c
3
sont des param` etres libres; calculer b
1
, b
2
, b
3
, b
4
tels
que la formule de quadrature soit dordre 4 (conditions (5.1a,b,c,e)); calculer a
43
de (5.3b), a
42
et
a
32
du syst` eme lin eaire (5.1f)(5.3a); nalement calculer a
21
, a
31
, a
41
de c
i
pour i = 2, 3, 4.
Parmi cette classe de m ethodes dordre 4, les plus cel` ebres sont donn ees dans le tableau III.2.
La RK solution de la g. III.6 a et e obtenue par la m ethode de gauche. Elle est bas ee sur la
formule de Simpson.
La lutte pour des m ethodes dordre sup erieur.
La table III.3 r esume les r esultats principaux de cette lutte, qui s etend sur presquun si` ecle. Cette
table est reprise dun article sur lhistoire des RK par ButcherWanner (1996).
III.6 Un programme ` a pas variables
Pour r esoudre un probl` eme r ealiste, un calcul ` a pas constants est en g en eral inefcace. Mais
comment choisir la division? Lid ee est de choisir les pas an que lerreur locale soit partout
environ egale ` a Tol (fourni par lutilisateur). A cette n, il faut connatre une estimation de lerreur
locale. Inspir e par le programme TEGRAL pour lint egration num erique (voir I.6), nous cons-
truisons une deuxi` eme m ethode de Runge-Kutta avec y
1
comme approximation num erique, et
nous utilisons la diff erence y
1
y
1
comme estimation de lerreur locale du moins bon r esultat.
72 Equations Diff erentielles Ordinaires
TAB. III.3: Successive derivations of high order Runge-Kutta methods
p s Auteur Ann ee Nr. d equ.
2 2 Coriolis 1837 (Trapezoidal rule method) 2
2 2 Runge 1895 (rediscovery of Trap. rule method) 2
2 2 Runge 1895 (Midpoint rule method) 2
3 4 Runge 1895 4
3 3 Heun 1900 4
4 8 Heun 1900 8
4 4 Kutta 1901 (Table III.2) 8
5 6 Kutta 1901 17
5 6 Nystr om 1925 (correction to a method of Kutta) 17
6 8 Hu

ta 1956 37
6 7 Butcher 1964 37
7 9 Butcher (known since approximately 1968) 85
8 11 Curtis 1970 200
8 11 CooperVerner 1972 (ann. 1969 in Verners thesis) 200
10 18 Curtis 1975 1205
10 17 Hairer 1978 1205
M ethode embot ee. Soit donn ee une m ethode dordre p ` a s etages (coefcients c
i
, a
ij
, b
j
). On
cherche une approximation y
1
dordre p < p qui utilise les m emes evaluations de f, c.-` a-d.,
y
1
= y
0
+ h(

b
1
k
1
+ . . . +

b
s
k
s
) (6.1)
o` u les k
i
sont donn es par la m ethode (??). Pour avoir plus de libert e, on ajoute souvent un terme
contenant f(x
1
, y
1
) ` a la formule (il faut en tous cas calculer f(x
1
, y
1
) pour le pas suivant) et on
cherche y
1
de la forme
y
1
= y
0
+ h
_

b
1
k
1
+ . . . +

b
s
k
s
+

b
s+1
f(x
1
, y
1
)
_
. (6.2)
Exemple. Prenons une m ethode dordre p = 4 ` a s = 4 etages et cherchons une m ethode embot ee
dordre p = 3 qui soit de la forme (6.2). Les conditions dordre sont obtenues par le th eor` eme du
paragraphe III.5 (on augmente s de 1 et on ajoute un (s + 1)
` eme
etage avec pour coefcients
a
s+1,i
= b
i
pour i = 1, . . . , s) :

b
1
+

b
2
+

b
3
+

b
4
+

b
5
= 1 (6.3a)

b
2
c
2
+

b
3
c
3
+

b
4
+

b
5
= 1/2 (6.3b)

b
2
c
2
2
+

b
3
c
2
3
+

b
4
+

b
5
= 1/3 (6.3c)

b
3
a
32
c
2
+

b
4
(a
42
c
2
+ a
43
c
3
) +

b
5
/2 = 1/6. (6.3d)
Ceci repr esente un syst` eme lin eaire de 4 equations pour 5 inconnues. On peut arbitrairement
choisir

b
5
et r esoudre le syst` eme pour les autres variables. Pour le choix

b
5
= 1/6, on obtient ainsi
:

b
1
= 2b
1
1/6,

b
2
= 2(1 c
2
)b
2
,

b
3
= 2(1 c
3
)b
3
,

b
4
= 0,

b
5
= 1/6.
(6.4)
Equations Diff erentielles Ordinaires 73
Calcul du h optimal. Si lon applique la m ethode avec une certaine valeur h, lestimation de
lerreur satisfait ( p < p)
y
1
y
1
= (y
1
y(x
0
+ h)) + (y(x
0
+ h) y
1
) = O(h
p+1
) + O(h
p+1
) C h
p+1
. (6.5)
Le h optimal, not e par h
opt
, est celui o` u cette estimation est proche de Tol:
Tol C h
p+1
opt
. (6.6)
En eliminant C de (6.5) et de (6.6), on obtient
h
opt
= 0.9 h
p+1

Tol
y
1
y
1

(6.7)
(le facteur 0.9 est ajout e pour rendre le programme plus s ur).
Algorithme pour la s election automatique du pas. Au d ebut, lutilisateur fournit un sous-
programme qui calcule la valeur de f(x, y), les valeurs initiales x
0
, y
0
et un premier choix de h.
A) Avec h, calculer y
1
, err = y
1
y
1
et h
opt
de (6.7).
B) If err Tol (le pas est accept e) then
x
0
:= x
0
+ h, y
0
:= y
1
, h := min(h
opt
, x
end
x
0
)
else (le pas est rejet e)
h := h
opt
end if
C) Si x
0
= x
end
on a termin e, sinon on recommence en (A) et on calcule le pas suivant.
Remarques. Il est recommand e de remplacer (6.7) par
h
opt
= h min
_
5, max(0.2, 0.9(Tol/err)
1/( p+1)
)
_
.
Pour la norme dans (6.7) on utilise en g en eral
y
1
y
1
=

_
1
n
n

i=1
_
y
i1
y
i1
sc
i
_
2
o` u sc
i
= 1 + max(|y
i0
|, |y
i1
|) (6.8)
(y
i0
, y
i1
, y
i1
est la i
` eme
composante de y
0
, y
1
, y
1
, respectivement). Ceci repr esente un m elange
entre erreur relative et erreur absolue.
Exemple num erique. Cet algorithme a et e programm e (en utilisant la r` egle 3/8 et la m ethode
embot ee (6.4)) et il a et e appliqu e au probl` eme (une r eaction chimique, le Brusselator)
y

1
= 1 + y
2
1
y
2
4y
1
y
1
(0) = 1.5
y

2
= 3y
1
y
2
1
y
2
y
2
(0) = 3
(6.9)
sur lintervalle [0, 20]. Les r esultats obtenus avec Tol = 10
4
sont pr esent es dans la g. III.8:
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 lestimation de lerreur locale err, ainsi que les valeurs exactes de
lerreur locale et de lerreur globale.
74 Equations Diff erentielles Ordinaires
5 10 15
1
2
3
4
5 10 15
10
1
10
0
10
6
10
5
10
4
10
3
solutions
y
1
y
2
accepted step sizes
rejected step sizes
initial h
local error estimate exact local error
global error
FIG. III.8: S election du pas, Tol = 10
4
, 96 pas accept es + 32 pas rejet es
Les m ethodes de Dormand et Prince.
Les m ethodes actuellement les plus utilis ees et les plus ` a conseiller (de loin) pour des calculs de
type g en eral sont celles de Dormand et Prince. La m ethode DOPRI5, dordre 5 et dordre embot ee
4, se distingue dun choix particuli` erement astucieux des param` etres libres (voir [HNW93], p. 178).
On ne va pas apprendre les coefcients par cur, mais t el echarger le code depuis
http://www.unige.ch/math/folks/hairer/software.html .
Une deuxi` eme m ethode DOPRI8 (1989), dordre 8(6), a recu sa derni` ere am elioration par E. Hairer
(1993) et est devenue le code DOP853 (voir [HNW93], p. 181-185).

Vous aimerez peut-être aussi