Vous êtes sur la page 1sur 16

Chapitre III

´

Equations differentielles´

ordinaires

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

y = f ( x)

ou

Pour un probleme`

d’equation´

differentielle´

y = f ( x, y ) ,

y ( x 0 ) = y 0

x

y ( x) = y 0 + f ( t) dt .

x

0

nous cherchons une fonction y ( x) tel que

ou

x

y ( x) = y 0 + f ( t, y ( t))

x

0

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´

differentielles´

d’ordre superieur´

, comme par exemple

y = f ( x, y, y ) ,

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

ou

y = v,

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

y ( x 0 ) = y 0 ,

(0.2)

o`u on a ecrit´ tielles

v ( x) a` la place de y ( x) . Ceci est un cas sp´ecial d’un systeme`

d’equations´

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

differen-´

(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 systeme` autonome

y 0 = 1

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

y 0 ( x 0 ) = x 0 ,

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 l’analyse 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 Numerique´ des Equations Differentielles.´ Masson. [MA 65/217]

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]

60

Equations Differentielles´

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 fields” (SIAM News, Philadelphia Dec. 2003)

P.

Henrici (1962): Discrete Variable Methods in Ordinary Differential Equati ons . John Wiley & Sons. [MA

65/50]

III.1

Exemples d’equations´

differentielles´

Un probleme`

mecanique´

; un point qui glisse sur une courbe.

Probleme.`

et sans frottement, sur une courbe donn´ee, par exemple y = (1 x 2 ) 2 (voir Fig. III.1, a` gauche).

On veut connaˆıtre le mouvement d’un point de masse glissant, sous effet de la gravit´e

1 −1 0 1
1
−1
0
1
ds f
ds
f

dy

1

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 connaˆıt le probl`eme, la solution ana- lytique est assez difficile. Prenons la longueur d’arc s , avec ds = dx 2 + dy 2 = 1 + p 2 dx o`u p = dy , comme coordonn´ee pour d´eterminer la position du corps. La force acc´el´eratrice f est, par Thales, f = mg · dy (voir Fig. III.1, a` droite), o`u nous posons pour la masse et la constante de

= 1+ p 2 . Avec la vitesse v = ds , la loi

fondamentale de Newton (1687), remani´ee par Euler (1747) en equation´ diff´erentielle, devient

gravitation m = 1 et g = 1 . Ainsi f =

dx

ds

dy

ds

= dy/dx

ds/dx

p

dt

ds

dt

dv

dt

= v

=

p 1 + p 2 .

(1.1)

Cela ne suffit pas ; a` chaque instant nous devons connaˆıtre le p , pour notre exemple p = y = 4 x 3

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

nos equations´

a`

= dx · ds

dt

dt

ds

diff´erentielles comme troisi`eme equati´

on ;

dx

dt

=

v + p 2

1

avec p = 4 x 3 4 x .

(1.2)

Les trois equations´

tions s ( t) , v ( t) , x( t) ; elles permettent de calculer num´eriquement ces fonctions

on disposait de m´ethodes num´eriques pour leur calcul

(1.1) et (1.2) forment un systeme`

d’equations´

!

differentielles´

pour les trois fonc- seulement si

Equations Differentielles´

Ordinaires

Deuxieme`

exemple : le circuit de Van der Pol.

61

Balthasar Van der Pol etait´ le scientifique en chef de la ”Philips Glooilampenfabrieek” a` Eind- hoven, un des pionniers du d´eveloppement des radios, puis tel´´ eviseurs en de tous les appareils el´´ ectroniques qui nous entournent quotidiennement. Les ingr´ediens qui font tout fonctionner sont les circuits, d’abord avec triodes, plus tard avec transisteurs, et finalement sur les chips Retrac¸ons donc l’histoire de cette page fondamentale de la civilisation d’aujourd’hui.

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

Petit excours en el´ ectronique:´

R´esistance :

Inductivit´e :

Condensateur :

ectronique:´ R´esistance : Inductivit´e : Condensateur : R L C U = I · R (Ohm)

R

R´esistance : Inductivit´e : Condensateur : R L C U = I · R (Ohm) U
L
L

C

U

=

I · R

(Ohm)

U

= L · dI dt

(Faraday)

I = C · dU dt

(Capacit´e)

C

R L
R
L
(Faraday) I = C · d U dt (Capacit´e) C R L F IG . III.2:

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 +

C 1 · I dt =

0

ou, apr`es diff´erentiation,

L · d dt 2 I 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 α x ( c 1 cos ωx + c 2 sin ωx) ,

2

une oscillation amortie.

Idee.´

d´ependre de y . Ceci a comme effet d’augmenter l’en´ ergie´

On rajoute une triode (voir Fig. III.2 a` droite) et une batterie. Ainsi, la r´esistance R (ou α ) va

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 Differentielles´

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. 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 s’app`elle (aussi dans le language de Poincar´e) un cycle limite. Cela fait fonctionner nos appareils.!!!

v 2 1 1 2 y
v
2
1
1
2
y
III.2 Methode´ d’Euler v v 2 2 1 1 1 2 y 1 2 h
III.2
Methode´
d’Euler
v
v
2
2
1
1
1
2
y 1
2
h = .25
h = .05

y

Pour calculer une approximation de la solution de

y ′ = x 2 + y 2 h = 1/4 1 h = 1/8
y ′ = x 2 + y 2
h = 1/4
1
h = 1/8
t 2 , y 2
0
1
−1
t 0 , y 0

t 1 , y 1

y = f ( x, y ) ,

y ( x 0 ) = y 0

(2.1)

sur l’intervalle [x 0 , x¯ ], on proc`ede comme suit: on subdivise [x 0 , x¯ ] en sous-intervalles d’extr´emit´es

x 0 < x 1 <

par la formule (Euler 1768)

(2.2)

Une telle formule s’appelle “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 n 1 , x n 1 , y n 1 ,

si les h n 0 . La mˆeme preuve se laisse aussi adapter pour prouver la convergence des m´ethodes d’ordre sup´erieur.

Erreur locale.

Pour simplifier la notation nous consid´erons uniquement le premier pas (n = 0 ) dans (2.2) et nous notons h 0 = h) :

y n +1 = y n + h n f ( x n , y n ) .

= x¯ , on d´enote h n = x n +1 x n et on calcule l’approximation y n y ( x n )

< x N

Notre but est de d´emontrer la convergence de cette m´ethode

Equations Differentielles´

Ordinaires

63

Pour trouver l’erreur 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 simplifier 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 chaˆıne 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 d’Euler n’est rien d’autre 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 f

2!

.

(2.6)

Similairement aux formules de quadrature, nous appelons cela une methode´

Erreur globale.

Contrairement aux int´egrales, o`u l’erreur 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 figure III.3).

d’ordre 1.

Theor´

[x 0 , X ]. Supposons que

eme`

2.1 (Cauchy 1824) Soit y ( x) la solution de y = f ( x, y ) , y ( x 0 ) = y 0 sur l’intervalle

a) l’erreur locale satisfasse l’estimation (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

pour h h max dans le memeˆ

voisinage.

(2.7)

Alors, l’erreur globale admet pour x n X l’estimation

y ( x n ) y n h · C · e L(x n x 0 ) 1

L

(2.8)

ou` h = max i h i , sous la condition que h soit suffisamment petit. La convergence est donc assuree.´

Demonstration.´ L’id´ee est d’´etudier l’influence de l’erreur locale, commise au i eme` pas, sur l’approximation y n . Ensuite, on va additionner les erreurs accumul´ees. Propagation de l’erreur. 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 L y n z n =

(1 + h n L) y n z n e h n L y n z n . (2.9)

R´ecursivement, on obtient alors

y n z n e h n 1 L · e h n 2 L ·

· e h i L y i z i = e L(x n x i ) y i z i .

64

Equations Differentielles´

Ordinaires

y ( x n ) solution exacte E n = e n y 0 E
y
( x n )
solution exacte
E n = e n
y 0
E n − 1
e 1
.
y 1
e 2
e n − 1
.
.
y 2
E
2
y 3
E
1
y n
polygones d’Euler
x 0
x 1
x 2
x 3
·
·
·
x n = X

FIG. III.3: “Lady Windermere’s Fan”, Estimation de l’erreur globale

et l’erreur propag´ee E i (voir la fig. III.3) satisfait

E i e L(x n x i ) e i Ch

(2.10)

L’in´egalit´e du triangle, ainsi que (2.10) nous donne (voir la

i 2 1 e L(x n x i ) .

Accumulation des erreurs propagees.´

fig. III.4 pour l’estimation de la somme)

y ( x n ) y n

n n

i=1

E i C

i=1

h

2

i

1 e L(x n x i )

Ch h 0 e L(x n x 1 ) + h 1 e L(x n x 2 ) +

+ h n 2 e L(x n x n 1 ) + h n 1

x n 1 x = Ch n −L e L(x n − t) ≤ Ch
x n
1
x
= Ch
n
−L e L(x n − t)
≤ Ch
e L(x n − t) dt = Ch
x
L
x
0
0
e L(x n − x )
x
x 0
x 1
x 2
·
·
·
x n − 1
x n

e L(x n x 0 ) 1 .

FIG. III.4: Estimation de la somme de Riemann

Il reste a` justifier l’application de (2.7) dans (2.9), car l’estimation (2.7) n’est valable que dans un voisinage U = { ( x, y ) | y y ( x) b} de la solution exacte. Si l’on suppose que h soit suffisamment petit, plus pr´ecisement si h est tel que

Ch

L

e L(X x 0 ) 1 b,

on est sˆur que toutes les solutions num´eriques de la fig. III.3 restent dans U .

III.3

Methodes´

“Predictor-Corrector”

dans U . III.3 Methodes´ “Predictor-Corrector” Pour la d´erivation d’autres m´ethodes num´eriques,

Pour la d´erivation d’autres m´ethodes num´eriques, int´egrons (2.1) de x 0 a` x 0 + h

y ( x 0 + h) = y 0 +

x

x 0 + h

0

f

( t, y ( t)) dt.

(3.1)

Equations Differentielles´

Ordinaires

65

Id´ee “g´eniale” : remplacer l’int´egrale de (3.1) par une formule de quadrature d’ordre plus elev´´ e. Que nous donne, par exemple, la r`egle du trap`eze :

y

1 = y 0 + h f ( x 0 , y 0 ) + f ( x 0 + h, y ( x 0 + h)) ,

2

(3.2)

pour laquelle nous savons que

y ( x 0 + h) y C · h 3

La valeur de la solution

exacte y ( x 0 + h) , indispensable dans (3.2) a` droite, n’est, bien sˆur, pas connue : nous sommes en

train de la calculer

puisque cette formule de quadrature est d’ordre 2 (voir §I.2). H´elas !

(3.3)

1

Idee.´

on utilise (3.2) pour “corriger” la solution (“Corrector”) :

On “pr´edit” (“Predictor”) la valeur manquante, qu’on appellera u 2 1 , par un pas d’Euler et

u 2 = y 0 + hf ( x 0 , y 0 )

y 1 = y 0 +

h f ( x 0 , y 0 ) + f ( x 0 + h, u 2 )

2

Regle`

du trapeze`

explicite.

ou

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

2

y 1 = y 0 + hf ( x 0 +

Regle`

h , u 2 ) .

2

du point milieu expl.

(3.4)

Ces deux m´ethodes, invent´ees par Runge en 1895, marquent le d´ebut d’un long d´eveloppement des m´ethodes modernes.

Theor´

eme`

3.1 Les deux methodes´

de Runge sont de l’ordre 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 y 1 = h f ( x 0 + h, y ( x 0 + h)) f ( x 0 + h, u 2 ) Lh y ( x 0 + h) u 2 Lh · C · h 2

1

2

2

2

en utilisant (2.6). La preuve se termine par l’addition de cette in´egalit´e a` (3.3). Le clou de la preuve : l’erreur du predictor est multipli´ee par un h suppl´ementaire. Q.E.D.

La methode´ de Heun d’ordre 3. Car

0

1

2

x x 3 dx = 0 ,

la formule de quadrature (dite “de Radau”)

0

1

g ( t) dt 4 g (0) + 4 g ( 2

1

3

3 )

est, par superconvergence (voir §I.3), d’ordre 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` l’ordre 2. Faisons le avec la m´ethode du point milieu avec h remplac´e par 2h . Cela donne (Heun 1900) :

3

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

3

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

3

3

1

y 1 = y 0 + h 4 f ( x 0 , y 0 ) +

4 f ( x 0 + 2h , u 3 )

3

3

(3.6)

66

Equations Differentielles´

Ordinaires

Par une preuve similaire a` la pr´ec´edente, on voit que cette m´ethode est d’ordre 3.

Remarque historique. Le premier programme, qui a tourn´e sur le premier ordinateur (am´ericain, i.e., l’ancˆetre direct de tous nos ordinateurs), fut une e´quation diff´erentielle r´esolue par la m´ethode de Heun.

Pour une interpr´etation g´eom´etrique de ces trois m´ethodes, voir figure III.5.

y y y expl. trap. rule expl. midp. rule Heun 1900 y 1 y 1
y
y
y
expl. trap. rule
expl. midp. rule
Heun 1900
y
1
y
1
y
1
1
1
1
u
3
u
2
u
2
u
2
2
y 0
y
y
3
0
0
1
1
x
x
1
x
1
1
1
1
2
2
3
4
FIG. III.5: M´ethodes de Runge-Kutta pour y ′ = x 2 + y 2 , y 0 = 0 .46 , h = 1 ; pointill´e: solution
exacte.
fe 10 4 Runge Heun Euler 10 3 RK4 erreur de y 1 10 2
fe
10
4
Runge
Heun
Euler
10
3
RK4
erreur de y 1
10
2
10 −2
10 −4
10 −6
10 −8
fe 10 4 Runge Heun Euler RK4 10 3 erreur de y 2 10 2
fe
10
4
Runge
Heun
Euler
RK4
10
3
erreur de y 2
10
2
10 −2
10 −4
10 −6
10 −8

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

Experience´ numerique.´ Consid´erons les trois m´ethodes ci-dessus, ainsi que les deux m´ethodes Runge-Kutta d’ordre 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 2 = (1 y ) y 2 y 1

2

1

y 1 (0) = 2 .00861986087484313650940188

y 2 (0) = 0

(3.7)

Les valeurs initiales ont et´´ e choisies pour rendre la solution p´eriodique. Nous subdivisons l’intervalle 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 l’erreur a` la fin de l’intervalle (fig. III.6). Comme dans la fig. 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 l’ordre de la m´ethode. Il est donc important d’utiliser des m´ethodes d’ordre elev´´ e.

Equations Differentielles´

III.4

Methodes´

Ordinaires

de Runge-Kutta

67

La m´ethode pour equations´ diff´erentielles fut, presque pendant un si`ecle, la methode´ de Runge- Kutta d’ordre 4, trouv´ee par W. Kutta 1901 en g´en´eralisant les methodes´ de Runge et de Heun. Aucun texte d’analyse num´erique ne peut se passer de donner ces formules c´el`ebres

u 1 = y 0

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

2

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

u

y 1 = y 0 +

2

2

4

= y 0 + hf ( x 0 + h , u 3 )

2

h 1

6 f ( x 0 , u 1 ) + 6 f ( x 0 + h , u 2 ) + 2

2

2

6 f ( x 0 + h , u 3 ) + 6 f ( x 0 + h, u 4 )

2

1

(4.1)

´

pratiquement aucun texte n’explique au lecteur, comment ces formules ont et´´ e trouv´ees. Evidemment,

dans une des meilleures universit´es d’Europe 2 et dans un des meilleurs cours de la facult´e 3 , on

est oblig´e d’en faire exception

Dans l’esprit des formules de quadrature de

Gauss, on introduit des coefficients arbitraires b i , a ij et c i = j a ij . Pour simplifier 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 l’algorithme est

Forme gen´ erale´

:-) de Runge-Kutta.

d’une methode´

.

u 1 = y 0 y 0 + ha 21 f ( u 1 )

u

u

u 2 =

=

y 0 + h a 31 f ( u 1 ) + a 32 f ( u 2 )

=

y 0 + h a 41 f ( u 1 ) + a 42 f ( u 2 ) + a 43 f ( u 3 ) .

.

.

3

4

.

.

(4.2)

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 ) +

On a l’habitude de repr´esenter les coefficients a` l’aide du sch´ema

c i a ij b i
c i
a ij
b
i

Exemples. La m´ethode d’Euler, 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 0 0 1 / 3 1 / 3 0 1 1 1 / 2
0
0
0
1 / 3 1 / 3
0
1
1
1 / 2 1 / 2
2
/
3
0
2 / 3
1
1 / 2 1 / 2
0
1
1
/
4
0
3 / 4

2 paroles du Recteur

3 paroles du Doyen

68

Equations Differentielles´

TAB. III.2: M´ethodes de Kutta (1901)

0 1 / 2 1 / 2 1 / 2 0 1 / 2 1
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

Conditions d’ordre pour methodes´

RK

0 1 / 3 1 / 3 2 / 3 −1 / 3 1 1
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

Ordinaires

Probleme.` Trouver des conditions pour les coefficients b i , a ij et c i = j a ij pour que (4.2) repr´esente une m´ethode d’ordre p , i.e., s’assurer que l’erreur locale est de C · h p +1 .

L’idee´

formules, par rapport a` h et s’assurer que ces d´eriv´ees sont les mˆemes que celles de la solution

exacte.

Seulement, l’execution´ de ce plan est loin d’ˆetre triviale, si on ne fait pas attention. Pour convaincre le lecteur, nous repr´esentons en figure 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).

est simple : calculer les d´eriv´ees successives de y 1 , qui est d´efinie par cet amalgame de

de y 1 , qui est d´efinie par cet amalgame de F IG . III.7: Sixi`eme
de y 1 , qui est d´efinie par cet amalgame de F IG . III.7: Sixi`eme

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

Equations Differentielles´

Ordinaires

69

Pour l’el´ egance´

de 1963–1972), M. Crouzeix, E. Hairer et Chr. Lubich. Nous e´crivons la m´ethode sous la forme

il fallait attendre les travaux de Merson (1957) et surtout de John Butcher (travaux

u σ = y 0

+ h a σi f ( u i ) ,

i

y 1 = y 0 + h b i f ( u i ) .

i

(4.3)

Nous calculons les d´eriv´ees de u σ ; pour celles de y 1 il suffit 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) ,

σ = 2 · g ( h) + hg ( h) ,

u

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

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)

(4.5)

u

′′

σ

= 2 · a σi ( f ( u i )) = 2 · a σi f · u

i

i

i

.

(4.6)

Dans cette formule, nous devons ins´erer u i de (4.5). Pour eviter´

faisons le shift i j , σ

i. Cela donne

une confusion des indices, nous

u

σ = 2 · 1 · a σi a ij f · f

′′

i,j

et y = 2 · 1 · b i a ij f · f .

1

i,j

(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 :

Theor´

eme`

4.1 La methode´

(4.2) est de l’ordre 2 ssi

i

b i = 1

et

i,j

b i a ij = 2 1 .

A ` cause de c i = j a ij , la deuxi`eme condition devient i b i c i = 1 / 2 . On peut ainsi v´erifier que

les deux m´ethodes de Runge sont effectivement d’ordre 2.

La troisieme` deriv´ ee.´ La troisi`eme d´eriv´ee devient par (4.4) et (4.3) u ′′′ ′
La troisieme`
deriv´
ee.´
La troisi`eme d´eriv´ee devient par (4.4) et (4.3)
u ′′′
′′
= 3 · a σi ( f ( u i )) ′′ = 3 · a σi ( f ′ · u i ) ′ = 3 · a σi f ′′ ( u i , u i ) + f ′ · u
σ
i
(4.8)
i
i
i
′′
Dans cette formule, nous devons ins´erer u i de (4.5) et u
d’indices appropri´es. Cela donne
de (4.7) avec, de nouveau, des shifts
i
′′′
u
= 3 · 1 · 1 · 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)
i,j,k
et
la formule analogue pour y ′′′ . Avant que ces calculs ne tournent au cauchemar, nous observons
1
une belle analogie de ces formules avec les arbres orientes´
.
.
.

70

Equations Differentielles´

Ordinaires

de mani`ere suivante :

y ′′′

1

= 3 · 1 · 1 · b i a ij a ik · f ( f, f ) + 3 · 2 · 1 · b i a ij a jk · f ( f ( f ))

1 3
1
3

1

i,j,k

j i
j
i

k

↑ f f f ′′
f
f
f ′′

i,j,k

f ′

Nous appelons ordre d’un arbre le nombre de ses noeud. La troisi`eme d´eriv´ee est repr´esent´ee par tous les arbres d’ordre 3. On y voit apparaˆıtre 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 fac¸on que les noeuds de l’arbre ; le premier facteur etant´ b i ;

les d´eriv´ees f (q ) interconnect´ees comme applications multilin´eaires comme les noeuds cor- respondants de l’arbre.

Le troisi`eme facteur (qui pour les ordres plus el´´ ev´es contient encore un entier suppl´ementaire) apparaˆıt aussi dans la solution exacte. Nous avons donc :

facteur est 1 pour

chaque arbre dont le nombre de noeuds est p .

Exemple 4.3 Pour l’arbre suivant d’ordre 9 nous avons

Theor´

eme`

4.2 La methode´

est d’ordre p ssi le produit du premier et deuxieme`

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 1

l =

270 .

q r m l n j k i
q
r
m
l
n
j
k
i

p

III.5

Construction de methodes´

d’ordre 4

Le but est de d´eterminer les coefficients a ij , b j et c i = j a ij afin que l’erreur locale soit C · h 5 . Il existent huit arbres d’ordre 4 et nous avons :

de Runge-Kutta (4.2) a l’ordre 4 si les coeffi-

Theor´

cients satisfont

(5.1a)

(5.1b)

(5.1c)

(=

(5.1e)

(5.1f)

(=

(5.1d)

eme`

5.1 (conditions d’ordre) La methode´

(= (5.1d) eme` 5.1 (conditions d’ordre) La methode´ i b i = 1 i b i

i b i =

1

5.1 (conditions d’ordre) La methode´ i b i = 1 i b i c i =

i b i c i = 1 / 2 i b i c = 1 / 3 i,j b i a ij c j = 1 / 6

2

i

3

i b i c = 1 / 4

i

i,j b i c i a ij c j = 1 / 8

2

i,j b i a ij c j

(= b 1 + b 2 + b 3 + b 4 )

(= b 2 c 2 + b 3 c 3 + b 4 c 4 )

(= b 2 c 3 + b 3 c 3 3 + b 4 c 4 )

2

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

2

2

3

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

= 1 / 12 (= b 3 a 32 c 2 2 + b 4 ( a 42 c 2 2 + a 43 c 3 ))

2

b 4 a 43 a 32 c 2 ) .

(5.1g)

(5.1h)

i,j,k b i a ij a jk c k = 1 / 24 (=

(entre parentheses`

on a explicite´ les expressions pour s = 4 ).

b i a i j a j k c k = 1 / 24 (= (entre

Equations Differentielles´

Ordinaires

71

Resolution´ du systeme` (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` l’ordre 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 s q q − 1 i a ij c = c
q − 1
q
s
q
q − 1
i
a ij c
= c
j
q
j =1
q − 1 s q − 1 b i c i
q − 1
s
q − 1
b i c
i

i=1

q q a ij = b j (1 − c ) j q
q
q
a ij = b j
(1 − c )
j
q

Ces conditions permettent de r´eduire la condition pour l’arbre de gauche a` celui des arbres de droite (essayez un exemple). Nous utilisons ici la deuxi`eme condition pour q = 1 :

c.-`a-d.

s

i= j +1

b i a ij = b j (1 c j ) .

(5.2)

b

b

b 4 (1 c 4 ) = 0 .

2 (1

3 (1

c 2 ) = c 3 ) =

b 3 a 32 + b 4 a 42

b 4 a 43

(5.3a)

(5.3b)

(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 lineaires´ .

libres; calculer b 1 , b 2 , b 3 , b 4 tels

Algorithme. Poser c 1 = 0 , c 4 = 1 ; c 2 et

que la formule de quadrature soit d’ordre 4 (conditions (5.1a,b,c,e)); calculer a 43 de (5.3b), a 42 et a 32 du systeme` lineaire´ (5.1f)–(5.3a); finalement calculer a 21 , a 31 , a 41 de c i pour i = 2 , 3 , 4 .

Parmi cette classe de m´ethodes d’ordre 4 , les plus cel`ebres sont donn´ees dans le tableau III.2. La “RK solution” de la fig. 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 methodes´

La table III.3 r´esume les r´esultats principaux de cette lutte, qui s’´etend sur presqu’un si`ecle. Cette table est reprise d’un article sur l’histoire des RK par Butcher–Wanner (1996).

c 3 sont des parametres`

d’ordre superieur.´

III.6

Un programme a` pas variables

Mais

comment choisir la division?

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 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 l’erreur locale du moins bon r´esultat.

L’id´ee est de choisir les pas afin que l’erreur locale soit partout

Pour r´esoudre un probl`eme r´ealiste, un calcul a` pas constants est en g´en´eral inefficace.

72

Equations Differentielles´

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) (rediscovery of Trap. rule method) (Midpoint rule method)

2

2

2

Runge

1895

2

2

2

Runge

1895

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

Cooper–Verner

1972

(ann. 1969 in Verner’s thesis)

200

10

18

Curtis

1975

1205

10

17

Hairer

1978

1205

Methode´ emboˆıtee.´ Soit donn´ee une m´ethode d’ordre p a` s etages´ (coefficients c i , a ij , b j ). On cherche une approximation y 1 d’ordre 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 d’ordre p = 4 a` s = 4 etages´ et cherchons une m´ethode emboˆıt´ee

d’ordre p = 3 qui soit de la forme (6.2). Les conditions d’ordre 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 coefficients

a s +1,i = b i pour i = 1 ,

, s ) :

b

1 + 2 + 3 + 4 +

b

b

b

b 5 = 1

b

b

2 c 2 + 3 c 3 + 4 +

b

b

2 c 2

2 + 3 c 3 +

b

b

2

b 5 = 1 / 2

4 + b 5 = 1 / 3

b 3 a 32 c 2 + b 4 ( a 42 c 2 + a 43 c 3 ) + b 5 / 2 = 1 / 6 .

(6.3a)

(6.3b)

(6.3c)

(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 = 2 b 1 1 / 6 ,

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

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

b 5 = 1 / 6 .

(6.4)

Equations Differentielles´

Ordinaires

73

Calcul du h “optimal”. Si l’on applique la m´ethode avec une certaine valeur h, l’estimation de l’erreur satisfait (p