Top Banner
Licence ` a distance Chapitre V : Equations diff´ erentielles. M´ ethodes num´ eriques ` a un pas. M. Granger Table des mati` eres 1 Rappels sur le cours d’´ equations diff´ erentielles 2 1.1 en´ eralit´ es .......................................... 2 1.2 Enonc´ e du th´ eor` eme de Cauchy-Lipschitz ......................... 2 1.3 Sur la r´ egularit´ e des solutions. ................................ 3 1.4 ethode d’Euler. ....................................... 4 2 Introduction ` a la notion de sch´ ema num´ erique 6 3 Quelques exemples de m´ ethodes ` a un pas 8 3.1 ethode d’Euler. ....................................... 8 3.2 ethode de Taylor d’ordre p. ................................ 8 3.3 ethode du point milieu. .................................. 9 4 Etude g´ en´ erale de la convergence des m´ ethodes ` a un pas : consistance et stabilit´ e 11 4.1 Consistance, stabilit´ e et convergence ............................ 11 4.1.1 La notion de consistance d’un sch´ ema ....................... 11 4.1.2 La notion de stabilit´ e ................................ 11 4.1.3 La notion de convergence .............................. 12 4.2 Quelques conditions suffisantes ou n´ ecessaires et suffisantes de consistance ou de stabilit´ e. 13 4.3 Ordre d’une m´ ethode ` a un pas et erreur globale. ..................... 16 4.3.1 .- ............................................ 16 4.3.2 La constante SCT de majoration de l’erreur globale ............... 16 4.3.3 La constante SCT de majoration de l’erreur globale ............... 17 5 Quelques remarques sur les aspects num´ eriques 17 5.1 Sur les inconv´ enients du cumul des erreursd’arrondi ................... 17 5.2 Probl` emes de Cauchy bien pos´ es num´ eriquement, probl‘emes mal conditionn´ es .... 18 6 ethode(s) de Runge Kutta. 19 6.1 description de la m´ ethode .................................. 19 6.2 Quelques exemples ...................................... 20 6.3 Th` emes de TD ........................................ 21 6.3.1 Tester (RK) 4 sur l’exemple f´ etiche y 0 = -y. .................... 21 6.3.2 Ordre d’une m´ ethode (RK) 4 . ............................ 22
24

Equations différentielles. Méthodes numériques

Jan 05, 2017

Download

Documents

vanthien
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Equations différentielles. Méthodes numériques

Licence a distance

Chapitre V : Equations differentielles. Methodes numeriques a un pas.

M. Granger

Table des matieres

1 Rappels sur le cours d’equations differentielles 21.1 Generalites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.2 Enonce du theoreme de Cauchy-Lipschitz . . . . . . . . . . . . . . . . . . . . . . . . . 21.3 Sur la regularite des solutions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.4 Methode d’Euler. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2 Introduction a la notion de schema numerique 6

3 Quelques exemples de methodes a un pas 83.1 Methode d’Euler. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83.2 Methode de Taylor d’ordre p. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83.3 Methode du point milieu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

4 Etude generale de la convergence des methodes a un pas : consistance et stabilite 114.1 Consistance, stabilite et convergence . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

4.1.1 La notion de consistance d’un schema . . . . . . . . . . . . . . . . . . . . . . . 114.1.2 La notion de stabilite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114.1.3 La notion de convergence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

4.2 Quelques conditions suffisantes ou necessaires et suffisantes de consistance ou de stabilite. 134.3 Ordre d’une methode a un pas et erreur globale. . . . . . . . . . . . . . . . . . . . . . 16

4.3.1 .- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164.3.2 La constante SCT de majoration de l’erreur globale . . . . . . . . . . . . . . . 164.3.3 La constante SCT de majoration de l’erreur globale . . . . . . . . . . . . . . . 17

5 Quelques remarques sur les aspects numeriques 175.1 Sur les inconvenients du cumul des erreursd’arrondi . . . . . . . . . . . . . . . . . . . 175.2 Problemes de Cauchy bien poses numeriquement, probl‘emes mal conditionnes . . . . 18

6 Methode(s) de Runge Kutta. 196.1 description de la methode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196.2 Quelques exemples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206.3 Themes de TD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

6.3.1 Tester (RK)4 sur l’exemple fetiche y′ = −y. . . . . . . . . . . . . . . . . . . . . 216.3.2 Ordre d’une methode (RK)4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

1

Page 2: Equations différentielles. Méthodes numériques

1 Rappels sur le cours d’equations differentielles

Les deux premieres sous-sections sont des rappels que nous donnons pour fixer les notations denotions et de resultats developpes dans le cours d’equations differentielles : cylindre de securite ettheoreme de Cauchy-Lipschitz. Les deux suivantes sont plus specifiques a notre propos : regularitedes solutions, avec l’introduction des fonctions f [k](x, y) outil de calcul des derivees successives d’unesolution et methode d’Euler, qui est la methode ”de base” pour le calcul approche des solutions.

1.1 Generalites

Les donnees du probleme sont les suivantes :– U ⊂ R× Rm, un ouvert– f : U → Rm, une application (au moins continue. )On cherche les solutions de l’equation differentielle

(E) y′ = f(t, y),

c’est a dire les couples (I, ϕ), ou I ⊂ R est un intervalle et ϕ : I → Rm est une application derivable,telle que :

∀t ∈ I , (t, ϕ(t)) ∈ U et ϕ′(t) = f(t, ϕ(t)).

On s’interesse au probleme de Cauchy de condition initiale (t0, y0), c’est a dire a l’existence d’unesolution de (E), sur un intervalle I telle que t0 ∈ I, et ϕ(t0) = y0, et a l’eventuelle unicite, pour I fixe,d’une telle solution.

La condition sur ϕ equivaut a l’equation integrale :

ϕ(t) = y0 +∫ t

t0

f(t, ϕ(u))du

Dans tout ce qui suit f est au minimum supposee continue.Cylindres de securiteOn choisit un compact K0 = [t0 − T0, t0 + T0] × B(y0, r0) ⊂ U, centre en (t0, y0), et on note

M = sup(t,y)∈K0

‖f(t, y)‖. Ce nombre M est fini par la compacite de K0 et la continuite de f. Le choix

de la norme sur Rm est arbitraire.

Proposition 1 .- Soit T = min(T0,r0M ). Toute solution au probleme de Cauchy pour les conditions

initiales (t0, y0) satisfait a :|t− t0| ≤ T =⇒ ‖ϕ(t)− y0‖ ≤ r0

On appelle [t0 − T, t0 + T ]×B(y0, r0) un cylindre de securite pour la condition initiale (t0, y0).

1.2 Enonce du theoreme de Cauchy-Lipschitz

(sans demonstrations)Nous renvoyons au cours d’equations differentielles pour la demonstration a l’aide du theoreme du

point fixe et pour d’eventuels enonces plus generaux.

Theoreme 1 .- On suppose que f : U → Rm est continue et localement lipschitzienne dans ladeuxieme variable, ce qui signifie que tout point de U admet un voisinage de la forme J × V , telqu’il existe une constante k (dependant de J × V !), avec la condition :

∀t ∈ J, ∀y1, y2 ∈ V, ‖f(t, y1)− f(t, y2)‖ ≤ k‖y1 − y2‖

Alors, pour tout cylindre de securite C = [t0−T, t0 +T ]×B(y0, r0), l’equation (E) admet une uniquesolution, de condition initiale (t0, y0), definie sur l’intervalle I = [t0 − T, t0 + T ].

2

Page 3: Equations différentielles. Méthodes numériques

1.3 Sur la regularite des solutions.

Si la fonction f est differentiable de classe Ck, avec k ≥ 1, on peut en deduire un resultat surl’ordre de derivabilite des solutions ϕ, et calculer les derivees successives de ϕ a l’aide de fonctionsconstruites recursivement a partir de f . C’est utile pour obtenir des majorations, fondees sur la formulede Taylor, de l’erreur commise dans une approximation numerique de ϕ.

Proposition 2 .- 1) Si la fonction f est de classe Ck, avec k ≥ 1, toute solution t 7→ z(t), de l’equation(E) est de classe Ck+1.2) Les fonctions f [i] : U → R, definies recursivement, pour i = 0, · · · , k, par les formules :

f [0] = f, et f [i+1](t, y) =∂f [i]

∂t(t, y) +

m∑`=0

f`(t, y)∂f [i]

∂y`(t, y)

sont de classes respectives Ck−i, et pour toute solution z(t) de l’equation (E), ses derivees successivess’obtiennent par les formules :

z(i+1)(t) = f [i](t, z(t))

Demonstration.- On demontre ce resultat par recurrence sur i.-La classe de differentiabilite de f [i], s’obtient par la formule de recurence et une application directe

de la definition de la classe Ck.-Pour la differentiabilite de z, on montre par recurrence sur i, pour 0 ≤ i ≤ k, l’existence de z(i+1),

et la formule annoncee en 2).Pour i = 0, il s’agit simplement de l’egalite z′(t) = f(t, z(t)), qui signifie que t→ z(t) est une solution.On voit sur cette relation que z′ est continument derivable et la formule de derivation des fonctionscomposees s’ecrit :

z′′(t) =∂f

∂t(t, z(t)) +

m∑`=0

z′`(t)∂f

∂y`(t, z(t))

=∂f

∂t(t, z(t)) +

m∑`=0

f`(t, z(t))∂f

∂y`(t, z(t))

= f [1](t, z(t))

Pour le pas general de la recurrence, on suppose que z(i+1)(t) = f [i](t, z(t)), avec 1 ≤ i < k. Alorspuisque f [i] est de classe Ck−i, avec k− i > 0, on en deduit que z(i+1) est encore continument derivableet par un calcul semblable au cas de z′′, on trouve :

z(i+2)(t) = (z(i+1))′(t) =∂f [i]

∂t(t, z(t)) +

m∑`=0

f`(t, z(t))∂f [i]

∂y`(t, z(t))

= f [i+1](t, z(t))

�Exemple : Dans le cas scalaire (m = 1), voici les formules obtenues pour f [1] et f [2], qui permettent

de calculer z(2) et z(3) :

f [1] =∂f

∂t+ f.

∂f

∂y

f [2] =∂f [1]

∂t+ f.

∂f [1]

∂y

=∂2f

∂t2+ 2f.

∂2f

∂t∂y+ f2∂

2f

∂y2+ f(

∂f

∂y)2 +

∂f

∂t

∂f

∂y

3

Page 4: Equations différentielles. Méthodes numériques

Exercice : On suppose que f est de classe C1, determiner par une inegalite l’ensemble des points(t0, y0) au voisinage desquels une solution z(t) telle que z(t0) = y0 soit convexe. Expliciter le resultatpour l’equation y′ = t− y2.

1.4 Methode d’Euler.

On reprend les notations precedentes concenant un cylindre de securite, et on ne s’occupe poursimplifier que des solutions a droite c’est a dire sur l’intervalle [t0, t0 + T ].

Dans toute la suite, on gardera les notations suivantes :

t0 < t1 < · · · < tN = t0 + T, hn = tn+1 − tn pour n = 0, · · · , N − 1

definit une subdivision de [t0, t0 + T ], et hn est appele le (n+ 1)ieme pas de la subdivision. On parlede subdivision a pas constant si tn = t0 + nT

N , hn = TN independant de n.

La methode d’Euler ou methode de la tangente consiste a approcher une solution (eventuelle !) z(t)de (E) par une fonction y(t) continue affine par morceaux, affine en restriction a chaque intervalle[tn, tn+1], de pente f(tn, yn) ou yn = y(tn). Ceci donne le calcul par recurrence suivant des yn appeleschema d’Euler et l’expression de y(t) :

y(t0) = y0 condition initiale ,yn+1 = yn + hnf(tn, yn) formule de recurrence pour les yn,y(t) = yn + (t− tn)f(tn, yn) si t ∈ [tn, tn+1] .

Ce schema peut etre illustre par le dessin suivant ou on a represente simultanement une solutionexacte z(t) passant par les point Mi de coordonnees (ti, z(ti)), et une solution approchee lineaire parmorceaux de graphe la ligne brisee (A0, A1 · · · ), Ai de coordonnees (ti, yi).

A3

M0=A0

A1

A2

M1 M2

M3

B2

t1t0=a t2 t3=b

fig.1

Noter que la pente f(tn, yn) du segment AnAn+1 differe en general (sauf pour n = 0) de z′(tn) =f(tn, z(tn)). Par exemple sur la figure z′(t1) est la pente du segment [M1B2], et f(t1, y1) celle dusegment [A1A2]

Exercice : Montrer que dans la situation du theoreme 1, toute solution approchee affine parmorceaux construite par la methode de la tangente a un graphe contenu dans le cylindre de securiteC.

4

Page 5: Equations différentielles. Méthodes numériques

Nous admettrons le resultat suivant de convergence uniforme, qui implique le theoreme 1.Soit yp(t) une suite de solution approchees, construite par la methode d’Euler a partir d’une

subdivision tp,0 < tp,1 < · · · < tp,Np de l’intervalle [t0, t0 + T ]. On note hp,max = max(hp,1, · · · , hp,Np)appele pas maximal de la subdivision pour yp.

Dans la situation du theoreme 1 toute suite yp(t), de solutions approchees, dont le pas maximaltend vers zero lorsque p→∞, converge uniformement vers la solution z(t).

Dans le chapitre suivant on se place uniquement dans la situation du theoreme 1, avec unicite dez(t).

5

Page 6: Equations différentielles. Méthodes numériques

2 Introduction a la notion de schema numerique

On considere une equation differentielle y′ = f(t, y), dans laquelle f satisfait aux conditions dutheoreme de Cauchy-Lipschitz, et on notera dans toute la suite t 7→ z(t) la solution unique sur[t0, t0 + T ], dont le graphe est contenu dans un cylindre de secutite [t0 − T, t0 + T ]× B(y0, r0).

On appelera parfois z la ”solution exacte”, par opposition aux solutions approchees notees t 7→ y(t).Pour l’evaluation approchee de z(t), la strategie generale est la suivante :• Definir un schema numerique : on appelle ainsi les formules de recurrence associees a une methode

numerique de resolution des equations differentielles. Il s’agit d’une methode de calcul de valeursapprochees notees yn des z(tn), ou les tn sont les termes d’une subdivision a N pas de [t0, t0 +T ] :

t0 < t1 < · · · < tN = t0 + T

Le nieme pas est note hn = tn+1 − tn (on commence a l’indice 0), et le pas maximum esthmax = max

0≤n≤N−1hn

On peut considerer la fonction affine par morceaux y(t) telle que pour tout n, y(tn) = yn, ce quidonne precisement :

y(t) = yn +t− tnhn

(yn+1 − yn) si t ∈ [tn, tn+1]

• Evaluer ‖y(t)−z(t)‖ pour t ∈ [tn, tn+1] et trouver un majorant (en fonction de f et de la methodeutilisee) de

supn

( supt∈[tn,tn+1]

‖y(t)− z(t)‖

• Etudier le comportement de cette majoration en fonction de la subdivision et particulierementlorsque hmax → 0.

Definition 1 Un schema numerique a un pas explicite est une equation de recurrence de la forme :{yn+1 = yn + hnΦ(tn, yn, hn)tn+1 = tn + hn

Le domaine de definition de Φ contient au moins U ×{0} et on doit verifier dans chaque situationconcrete que l’iteration est compatible avec ce domaine de definition.

Mentionnons d’autres types de schemas numeriques dont l’etude depasse le cadre de ce cours. Dansles methodes implicites la fonction Φ depend aussi de yn+1. Dans un schema numerique explicite a qpas Φ depend aussi d’un nombre fixe de termes precedemment calcules, yn−q+1 . . . yn, et la methodedoit etre completee par une initialisation, pour le calcul des q premiers termes.

Definition 2 Un schema numerique a un pas implicite est de la forme :{yn+1 = yn + hnΦ(tn, yn, yn+1, hn)tn+1 = tn + hn

Dans le cas d’une methode implicite il s’agira le plus souvent de s’assurer que l’equation

y = yn + hΦ(tn, yn, y, h)

a une solution unique du moins pour tout h assez petit. Dans les cas les plus courants cela resulteradu theoreme des fonctions implicites.

6

Page 7: Equations différentielles. Méthodes numériques

Definition 3 Un schema numerique a q pas explicite est de la forme :{yn+1 = yn + hnΦ(tn, yn, · · · , yn−q, hn)tn+1 = tn + hn

avec n = Nq, · · · , N − 1.

Bien sur la calcul de yn n’est possible qu’a partir de l’indice q et la methode doit etre completee parune initialisation, le calcul des q premiers termes, par exemple par une methode a un pas.

L’erreur de consistance au pas n est par definition l’erreur commise sur yn+1, lorsqu’on prend pourles valeurs precedentes des yk les valeurs exactes z(tk), ce qui donne la definition suivante ou nousn’explicitons que pour les methodes a un pas.

Definition 4 L’erreur de consistance est la suite

en = z(tn+1)− yn+1(tn, z(tn), hn) = z(tn+1)− z(tn)− hnΦ(tn, z(tn), hn).

Illustration sur la figure 1. Par definition les erreurs de consistance e1, e2 etc, sont des differencesd’ordonnees egales respectivement aux mesures des segments orientes M1A1, M2B2 · · · . Au premier pase1 n’est autre que l’erreur y1− z(t1), mais des le deuxieme pas l’erreur y2− z(t2) = M2A2) differe biensur de e2 car A2 6= B2, mais aussi du cumul e1 + e2 des que les pentes f(t1, y1), et z′(t1) = f(t1, z(t1))des segments A1A2 et M1B2 different.

Les valeurs de z(ti) n’etant pas connues pour i ≥ 1, l’erreur de consistance est surtout un outiltheorique qui intervient dans le calcul d’une majoration de l’erreur |z(tn)− yn|.

Definition 5 On dit qu’un schema numerique est d’ordre p, si en = o(hp+1n ), lorsque hn → 0.

Comme on le verra dans la section 4.1.3, L’ordre d’une methode est une indication importante quiavec la propriete dite de stabilite qui depend de f gouverne la convergence de y(t) vers z(t). Nousconcluerons seulement cette section par un resultat admis qui donne une premiere idee intuitive de lanotion d’erreur de consistance :

Definition 6 Une methode numerique est dite consistante si

limhmax→0

N−1∑n=0

|en| = 0

Theoreme 2 .- Une methode a un pas est consistante si et seulement si quel que soit (t, y) ∈ U , ona :

Φ(t, y, 0) = f(t, y)

Demonstration.- Nous donnons plus loin une demonstration detaillee qui fait appel a un maniementde sommes de Riemann. Intuitivement on peut justifier cet enonce en remarquant que par le theoremedes accroissements finis, z(tn+1)−z(tn) est de l’ordre de hnz′(tn) = hnf(tn, z(tn)), donc que l’erreur deconsistance en = z(tn+1)−z(tn)−hnΦ(tn, z(tn), hn) est de l’ordre de

[f(tn, z(tn))−Φ(tn, z(tn), hn)

].hn.

Si la condition de l’enonce n’est pas remplie cette difference est pour h tendant vers zero de l’ordre deh, avec un facteur multiplicatif ne tendant pas vers zero. Le cumul des erreurs d d’arrondi serait doncde l’ordre du cumul des hn c’est a dire de la quantite fixe T , donc l’erreur ne tendrait pas vers 0 avecle pas. �

7

Page 8: Equations différentielles. Méthodes numériques

3 Quelques exemples de methodes a un pas

3.1 Methode d’Euler.

On a deja decrit cette methode appelee aussi methode de la tangente qui correspond au cas de lafonction :

φ(t, y, h) = f(t, y)

independante de t, definie sur U × R.Calcul de l’erreur de consistance

en =z(tn + hn)− z(tn)− hn.f(tn, z(tn))=z(tn + hn)− z(tn)− hn.z′(tn) par definition de z

Lorsque f est de classe C1, z est de classe C2 et l’erreur de consistance prend la forme suivante gracea la formule de Taylor.

en =12h2nz′′(tn) + o(h2

n)

12h2nf

[1](tn, z(tn)) + o(h2n)

Ainsi la methode d’Euler est d’ordre un.

3.2 Methode de Taylor d’ordre p.

On suppose ici que f est de classe Cp. On a vu alors que z est de classe Cp+1 et on a defini desfonction f [k], construite par recurrence a partir de f et de ses derivees partielles telles que z(k)(t) =f [k−1](t, z(t)), pour k = 1, . . . , p+ 1. La formule de Taylor a l’ordre p+ 1 s’ecrit alors :

z(tn + hn) = z(tn) +p∑

k=1

hkn1k!f [k−1](tn, z(tn)) +

1(p+ 1)!

f [p](tn, z(tn))hp+1n + o(hp+1

n )

ou avec la formule de Taylor Lagrange :

z(tn + hn) = z(tn) +p∑

k=1

hkn1k!f [k−1](tn, z(tn)) +

1(p+ 1)!

f [p](tn + θhn, z(tn + θhn))hp+1n , θ ∈]0, 1[.

Ceci suggere le schema numerique suivant obtenu en remplacant les valeurs inconnues z(tk) par les yk.

(Tp)

yn+1 = yn +p∑

k=1

hkn1k!f [k−1](tn, yn)

tn+1 = tn + hn

La fonction Φ associee a cette methode est :

Φ(t, y, h) =p∑

k=1

hk−1 1k!f [k−1](t, y)

Le resultat suivant generalise celui qu’on a deja trouve pour la methode d’Euler (T1).

Proposition 3 La methode de Taylor (Tp) est du point de vue de l’erreur de consistance d’ordre p.Plus precisement, si on considere un cylindre de securite C = [t0 − T, t0 + T ] × B(y0, r), on a unemajoration :

en ≤1

(p+ 1)!sup

(t,y)∈C‖f [p](t, y)‖hp+1

n

8

Page 9: Equations différentielles. Méthodes numériques

En effet selon la formule de Taylor qui a servi de base a la methode on obtient directement (en prenantla formule de Taylor avec reste de Lagrange) :

en = z(tn + hn)− z(tn)−p∑

k=1

hkn1k!f [k−1](tn, z(tn))

=1

(p+ 1)!f [p](tn + θhn, z(tn + θhn))hp+1

n ≤ 1(p+ 1)!

sup(t,y)∈C

‖f [p](t, y)‖hp+1n

3.3 Methode du point milieu.

Notons Mn le point de coordonnees (tn, z(tn)) du graphe de z. Le segment [Mn,Mn+1] a une penteplus proche en general de z′(tn + hn

2 ) pente de la tangente au ”point milieu” que de z′(tn), pente dela tangente en Mn, comme le montre la figure ci-dessous :

M0

M1

M1/2

T

A1

A’1

tn tn+hnfig.2

On peut donc considerer qu’une approximation de z(tn+1) a partir de z(tn) meilleure que l’expres-sion z(tn) + f(tn, z(tn)) de la methode d’Euler est :

(1) z(tn) + hnz′(tn +

hn2

) = z(tn) + hnf(tn +hn2, z(tn +

hn2

))

Dans le schema numerique que nous avons en vue on peut prendre par recurrence yn approximationde z(tn).

Comme z(tn + tn2 ) n’est pas connu non plus, il convient d’en chercher une approximation notee

yn+ 12. Le schema d’Euler suggere de prendre yn+ 1

2= yn + hn

2 f(tn, yn).On aboutit ainsi donc au schema numerique :

(M)

yn+ 12

= yn +hn2f(tn, yn)

pn = f(tn +hn2, yn+ 1

2)

yn+1 = yn + hnpn

tn+1 = tn + hn

Ce schema est encore une methode a un pas explicite dans laquelle l’expression explicite de Φ obtenueen developpant pn est :

Φ(t, y, h) = f(tn +hn2, yn +

hn2f(tn, yn))

9

Page 10: Equations différentielles. Méthodes numériques

Proposition 4 La methode (M) est d’ordre 2 des que f est de classe C2.

Demonstration.- On ecrit le schema (M) avec yn = z(tn) ce qui donne l’erreur de consistance

en = z(tn + hn)− z(tn)− hnpn, avec pn = f(tn +hn2, yn +

hn2f(tn, z(tn))

Comme pn est une approximation de z′(tn + hn2 ), on a interet a decomposer en ainsi :

en = e′n + e′′n avec

{e′n = z(tn + hn)− z(tn)− hnz′(tn + hn

2 )e′′n = hn(z′(tn + hn

2 )− pn).

On trouve d’abord en apppliquant la formule de Taylor jusqu’au terme en h3n aux deux fonctions z et

z′ :

e′n = z(tn + hn)− z(tn)− hnz′(tn)− hn(z′(tn +hn2

)− z′(tn))

=h2n

2z′′(tn) +

h3n

6z(3)(tn) + o(h3

n)− hn(hn2z′′(tn) +

h2n

8z(3)(tn)o(h2

n))

=h3n

24z(3)(tn) + o(h3

n) =h3n

24f [2](tn, z(tn)) + o(h3

n)

d’autre part on peut appliquer la formule de Taylor par rapport a la variable y dans l’expression dee′′n, ce qui donne :

e′′n = hn[f(tn +hn2, z(tn +

hn2

))− f(tn +hn2, z(tn) +

hn2

)f(tn, yn))]

= hn∂f

∂y(tn +

hn2,Θn)[z(tn +

hn2

))− z(tn)− hn2

)f(tn, yn)]

avec Θn sur le segment ]z(tn) + hn2 )f(tn, yn), z(tn + hn

2 ))[=]yn+ 12, z(tn + hn

2 ))[ Du fait que Θn =

yn + O(hn), et du fait que ∂f∂y est de classe C1 on deduit que ∂f

∂y (tn + hn2 ,Θn) = ∂f

∂y (tn, yn) + O(hn)et finalement tenant compte de z′(tn) = f(tn, z(tn)), et en appliquant encore la formule de Taylor al’ordre 2 a z(tn + hn

2 ) :

e′′n = hn(∂f

∂y(tn, yn) +O(hn))(

hn2z′(tn) +

12h2n

2z′′(tn)− hn

2)f(tn, yn))

=h3n

8∂f

∂y(tn, yn)z′′(tn)o(h3

n) =h3n

8∂f

∂y(tn, yn)f [1](tn, z(tn)) + o(h3

n)

� En apparence ce calcul semble restreint au cas scalaire m = 1, mais en fait il est integralementvalable en general a condition de considerer que ∂f

∂y (t, y).v designe la valeur sur le vecteur v ∈ Rn del’application lineaire Rn → Rn derive partielle de f au point (t, y) ∈ U ⊂ R× Rn.Exercice Montrer avec les meme calculs mais la formule de Taylor-Lagrange la majoration explicitesuivante, qui met en jeu des normes du sup sur le cylindre de securite :

en ≤ (124‖f [2]‖∞ +

18‖∂f∂y‖∞‖f [1]‖∞)hmax.

Un exemple simple : On considere l’equation y′ = −y, avec les donnees initiales t0 = 0, y0 = 1, etla subdivision de [0, 1] de pas constant 1

10 , tn = n10 , n = 0, · · · , 10.

10

Page 11: Equations différentielles. Méthodes numériques

La solution exacte est connue : z(t) = e−t, ce qui permet de comparer aisement differentes methodesquant a leur precision en fonction du pas.

La comparaison est proposee en exercice et on constatera des erreurs respectives de l’ordre de2.10−2, 10−3, 2.10−5 pour les schemas (T1) (T2) et (T3). On verra aussi que pour atteindre la memeprecision que par 10 pas avec (T3), le nombre de pas necessaires serait de :-100 pas dans le cas de la methode de Taylor d’ordre 2.-10000 pas dans le cas de la methode d’Euler.

Verifier au passage que la methode du point milieu donne sur cet exemple la meme formule que T2

Cet exemple montre que la methode d’Euler n’est pas assez precise pour qu’on puisse s’en contenterdans la pratique. L’augmentation du nombre de pas est en effet prejudiciable a cause du cumul deserreurs d’arrondis, qui pour une methode donnee impose une borne a la precision.

Le choix d’une methode resulte d’un compromis entre la sophistication du schema utilise qui doitrester raisonnable et le gain d’efficacite.

On etudiera dans la section 6 le methode(s) de Runge Kutta. Il y a toute une famille de schemasnumeriques qui portent ce nom, mais le plus classique et le plus utilise d’entre eux est celui d’ordre 4.

4 Etude generale de la convergence des methodes a un pas : consis-tance et stabilite

4.1 Consistance, stabilite et convergence

4.1.1 La notion de consistance d’un schema

Il s’agit du bon comportement de l’erreur du meme nom.

Definition 7 Une methode numerique est dite consistante si

limhmax→0

N−1∑n=0

|en| = 0

4.1.2 La notion de stabilite

Dans la pratique les valeurs de yn sont perturbees par des valeurs voisines yn pour deux raisons :1) Erreurs d’arrondi : on represente en machine la valeur yn issue du calcul par un nombre decimal

a q chiffres : |yn − yn|, est alors l’erreur d’arrondi majore en valeur relative par 10−qyn.2) Incertitude experimentale Dans la plupart des problemes concrets la ”vraie” valeur (notion

mythique...) de y0 est remplacee par une valeur y0 tiree d’une experience, d’une hypothese etc :|y0 − y0| est donc majoree par un nombre qui depend de la precision experimentale.

La methode ne peut donc etre utile que si la perturbation sur |yN − yN | provoquee par une faibleperturbation |y0− y0| des donnees initiales et par les erreurs d’arrondi sur les termes yn anterieurs estfaible :

Definition 8 Une methode est dite stable s’il existe S > 0 tel que quelle que soient les suites , definiespar recurence par les formules : {

yn+1 = yn + hnΦ(tn, yn, hn)yn+1 = yn + hnΦ(tn, yn, hn) + εn,

on a :

max0≤n≤N

|yn − yn| ≤ S(|y0 − y0|+N−1∑n=0

|εn|).

11

Page 12: Equations différentielles. Méthodes numériques

Remarques sur l’evaluation de l’erreur. Dans ces formules εn est une erreur d’arrondi qu’on majoredans la pratique en erreur relative par 0, 5.10−q en fonction de la precision de la machine : q est lenombre de chiffres dans l’ecriture en virgule flottante et si yn ∈ [10k−1, 10k[ avec k ∈ Z, l’erreurd’arrondi absolue est au plus 0, 5.10k−q. La quantite |y0 − y0|, de son cote doit etre evaluee (doncmajoree) en fonction de la nature (physique ou autre) du probleme modelise.

Ainsi, selon la definition, on ne peut donc pas esperer une precision relative a priori meilleure que :

S × (N + 1)× 0, 5.10−16

pour une ecriture de reels avec 16 chiffres significatifs.Par consequent, le fait qu’une methode soit stable n’est pas une garantie d’obtenir des resultats

numeriquement fiables lorsqu’on se heurte a l’un des deux ecueuils suivants :- Lorsqu’on on prend un pas tres petit, donc N tres grand N le cumul des erreurs d’arrondis peutprovoquer une erreur trop elevee.- La constante de stabilite S peut etre tres grande de l’ordre de 10+16 ou plus ce qui ote toutecredibilite aux resultats obtenus. C’est le cas de probleme dits numeriquement mal poses. C’est aussile cas, lorsqu’on cherche les solutions pour [t0, t0 + T ], avec T trop grand. En effet que S croıt expo-nentiellement avec T . Voir la formule finale dans la demonstration du theoreme 5 avec une constantede stabilite en S = eLT , et la sous section 4.3.2 avec le facteur SCT = eLTCT pour le facteurd’amplification de l’erreur.

4.1.3 La notion de convergence

Faisant abstraction des contraintes pratiques que nous venons d’evoquer on a quand meme lesresultats theoriques suivants, de demonstration tres facile, qui relient les deux notions de consistanceet de stabilite a la convergence de la methode :

Definition 9 Une methode numerique est dite convergente si pour toute solution exacte z definie surun intervalle [t0, t0 + T ] et toute suite (yn) construite, selon le schema numerique considere, a partirde y0 et d’une subdivision de [t0, t0 + T ], on a la relation de convergence uniforme :

limhmax→0

y0→z(t0)

max0≤n≤N

|yn − z(tn)| = 0.

Theoreme 3 Une methode numerique a un pas qui est stable et consistante est convergente.

Demonstration.- Posons yn = z(tn). Dans ce cas l’erreur de consistance est par definition le reelen qui complete la formule :

z(tn+1) = yn+1 = yn + hnΦ(tn, yn, hn) + en

Donc en joue pour la suite des z(tn) le role de la correction εn associe en general a une suite yn. D’apresla definition de la consistance on a donc :

max0≤n≤N

|z(tn)− yn| ≤ S(|z(t0)− y0|+N−1∑n=0

|en|)

L’hypothese de consistance donne alors immediatement le resultat annonce. �

Exercice : Deduire du theoreme 4.1.3 la convergence uniforme de y(t), fonction lineaire par morceauxtelle que y(tn) = yn, vers z(t) en utilisant la continuite uniforme de z sur [t0, t0 + T ].

12

Page 13: Equations différentielles. Méthodes numériques

4.2 Quelques conditions suffisantes ou necessaires et suffisantes de consistance oude stabilite.

Dans cet enonce on suppose que Φ remplit la condition suivante presque toujours realisee dans lesexemples usuels :

Φ est continue sur un ouvert contenant U × [−h0, h0]

Theoreme 4 .- Une methode a un pas est consistante si et seulement si quel que soit (t, y) ∈ U , ona :

Φ(t, y, 0) = f(t, y)

Demonstration.- D’apres le theoreme des accroissement finis, il existe quel que soit n un reelcn ∈]tn, tn+1[ tel que :

en = z(tn+1)− z(tn)− hnΦ(tn, z(tn), hn)= hnz

′(tn)− hnΦ(tn, z(tn), hn) = hn[f(cn, z(cn))− Φ(tn, z(tn), hn)]hn[f(cn, z(cn))− Φ(cn, z(cn), 0)] + hn[Φ(cn, z(cn), 0)− Φ(tn, z(tn), hn)]

Pour clarifier les calculs qui suivent on ecrira au moment opportun ce resultat sous la forme :

en = hn(An +Bn)An = f(cn, z(cn))− Φ(cn, z(cn), 0)Bn = Φ(cn, z(cn), 0)− Φ(tn, z(tn), hn)

D’apres l’uniforme continuite de Φ sur C × [−h0, h0] ou C est le polycylindre de securite sur lequel ontravaille :

∀ε > 0, ∃η > 0, α > 0, tels que (|h| < η, |t− t′| < η, |y − y′| < α ⇒ |Φ(t, y, 0)− Φ(t′, y′, h)|)

Par ailleurs, quitte a diminuer η, on peut s’assurer en utilisant l’uniforme continuite de z sur [t0, t0 +T ]que |hn| < η ⇒ |z(cn)− z(tn)| < α, donc finalement en enchainant les deux implications precedentespar transitivite :

|hn| < η ⇒ |Φ(cn, z(cn), 0)− Φ(tn, z(tn), hn)| < ε

On en tire

hmax < η ⇒N−1∑n=0

hn|Φ(cn, z(cn), 0)− Φ(tn, z(tn), hn)| < ε∑

hn = εT

Autrement dit avec les notations abregees en = hn(An +Bn), on a obtenu

hmax < η ⇒N−1∑n=0

hn|Bn| < εT

Donc∑N−1

n=0 hn|Bn| tend vers zero quand hmax → 0. Or on peut par ailleur ecrire les majorationssuivantes :

|N∑n=0

(|en| − hn|An|)| ≤N∑n=0

||en| − hn|An||

≤N∑n=0

|en − hn.An| =N∑n=0

hn|Bn|

13

Page 14: Equations différentielles. Méthodes numériques

On a donc demontre que∑N

n=0 |en| −∑N

n=0 hn|An| tend vers zero avec hmax. Or on reconnait dans lasuite

N∑n=0

hn|An| =N∑n=0

hn|f(cn, z(cn))− Φ(cn, z(cn), 0)|

une suite de sommes de Riemann de l’integrale I =∫ t0+T

t0

|f(t, z(t)) − Φ(t, z(t), 0)|, donc une suite

qui tend vers I. Le resultat obtenu nous donne alors aussi :

limhmax

N∑n=0

|en| = I

La condition de consistance est equivalente au fait que cette limite est nulle donc a∫ t0+T

t0

|f(t, z(t))− Φ(t, z(t), 0)| = 0

La nullite de cette integrale de fonction positive continue impose pour tout t : f(t, z(t)) = Φ(t, z(t), 0).Dans tout ce raisonnement la condition initiale (t0, y0) est arbitraire, et l’egalite f(t0, y0) = Φ(t0, y0, 0)est valable pour tout (t0, y0) ∈ U �

Theoreme 5 .- Une condition suffisante de stabilite :Si Φ est Lipschitzienne par rapport a la variable y, la methode est stable. De plus si L est la

constante de Lipschitz pour Φ, la constante de stabilite est S = eLT .

Demonstration.- On reprend les notations de la definition 8 et on pose :

θn = |yn − yn|

Par definition de la constante de Lipschitz pour Φ.

|Φ(t, y1, h)− Φ(t, y2, h)| ≤ L|y1 − y2|

quel que soient (t, y1, h) et (t, y2, h) dans le domaine de definition de Φ. La majoration suivante decouleaussitot de la definition de la suite de θn et de la condition de Lipschitz :

θn+1 = |yn+1 − yn+1| = |yn − yn + hn(Φ(tn, yn, hn)− Φ(tn, yn, hn)) + εn| (1)≤ (1 + hnL)θn + |εn| (2)

Lemme 1 : Lemme de Gronwall discret .- Les inegalites (2) impliquent :

θn ≤ eL(tn−t0)θ0 +n−1∑i=0

eL(tn−ti+1)|εi|

Demonstration.- C’est un exercice elementaire sur les fonctions R → R de verifier que ∀x ∈R, 1 + x ≤ ex et on a donc

1 + hnL ≤ eLhn

Le lemme se deduit par une recurrence sans mystere de cette majoration et de l’inegalite (2).

14

Page 15: Equations différentielles. Méthodes numériques

L’etape de recurrence de n a n+ 1 s’ecrit ainsi :

θn+1 ≤ (1 + hnL)θn + |εn|

≤ (1 + hnL)[eL(tn−t0)θ0 +

n−1∑i=0

eL(tn−ti+1)|εi|]

+ |εn|

≤ eLhn

[eL(tn−t0)θ0 +

n−1∑i=0

eL(tn−ti+1)|εi|]

+ |εn|

= eL(tn+1−t0)θ0 +n−1∑i=0

eL(tn+1−ti+1)|εi|+ |εn|

= eL(tn+1−t0)θ0 +n∑i=0

eL(tn+1−ti+1)|εi|

�On deduit de ce lemme que pour tout n,

θn ≤ eLT (θ0 +n−1∑i=0

.|εi|)

Ceci termine la demonstration du theoreme de stabilite avec la constante de stabilite :

S = eLT

�Remarque.- Ces calculs ne sont corrects que tant que les (tn, yn, hn) et (tn, yn, hn) restent dans le

domaine ou Φ est Lipschitzienne de constante L.

Corollaire 6 Si f est Lipschitzienne en y, les methodes d’Euler et du milieu sont convergentes.

Demonstration.- D’apres le theoreme 4.1.3 il suffit pour cela d’etablir la consistance et la stabilite.- La consistance est une consequence directe du theoreme 4, et de l’egalite Φ|h=0 = f . C’est aussi

valable pour la methode de Taylor Tp. La stabilite se deduit du theoreme 5 et du fait que Φ estLipschitzienne : pour la methode d’Euler, c’est immediat car f = Φ, et pour la methode du milieucela resulte des calculs suivants :

φ = f(t+h

2, y +

h

2f(t, y))

Donc si f est Lipshitzienne en y de constante de Lipschitz L on obtient :

|Φ(t, y1, h)− Φ(t, y2, h)| ≤ L(|y1 − y2 +

h

2f(t, y1)− f(t, y2)|

)≤ L|y1 − y2|+

hL

2|f(t, y1)− f(t, y2)|

≤ (L+h

2L2)|y1 − y2|

D’ou le caractere lipschitzien de Φ avec la constante de Lipschitz Λ = L + δ2L

2, si on se limite a despas h assez petits c’est a dire assujettis a une condition : 0 < h ≤ δ �

Note : On montre aussi que lorsque f est de classe Cp la methode de Taylor Tp est convergente.

15

Page 16: Equations différentielles. Méthodes numériques

4.3 Ordre d’une methode a un pas et erreur globale.

4.3.1 .-

Definition 10 Une methode consistante est dite d’ordre p si pour tout compact K il existe C ≥ 0, telque pour toute solution z(t), de graphe {(t, z(t))} contenu dans K, l’erreur de consistance satisfait ala condition :

|en| ≤ Chp+1n

Mentionnons une caracterisation de l’ordre p qui s’applique a la methode de Taylor de meme indiceet generalise le critere de consistance deja enonce :

Proposition 5 .- Sous l’hypothese que Φ est de classe Cp, la methode est d’ordre p si et seulement siles conditions suivantes sont remplies :

∂`Φ∂h` (t, y, 0) = 1

`+1f[`](t, y) pour 0 ≤ ` ≤ p− 1

Demonstration.- Rappelons d’abord que l’erreur de consistance est :

en = z(tn+1)− z(tn)− hnΦ(tn, z(tn), hn)

La demonstration est similaire (en plus complique) a celle de la caracterisation de la consistance, quicorrespond au cas p = 1. En appliquent la formule de Taylor Lagrange on a l’existence de cn, dn ∈]tn, tn+1[ tels que :

z(tn+1)− z(tn) =hnz′(tn) + · · ·+ hknk!z(k)(tn) + · · ·+ hpn

p!z(p)(tn) +

hp+1n

(p+ 1)!z(p+1)(cn)

=p∑

k=1

hknk!f [k−1](tn, z(tn)) +

hp+1n

(p+ 1)!f [p](cn, z(cn))

Φ(tn, z(tn), hn) =hn[Φ(tn, z(tn), 0) + · · ·+ h`n

`!∂`Φ∂h`

(tn, z(tn), 0) + · · ·+ hp−1n

(p− 1)!∂p−1Φ∂hp−1

(tn, z(tn), 0)

+hpnp!∂pΦ∂hp

(dn, z(dn), dn)]

On en tire

en = hn

[ p−1∑`=0

h`n`!

(f [`](tn, z(tn))

`+ 1− ∂`Φ(tn, z(tn), 0)

∂h`)]

+hp+1n

p!(f [p](cn, z(cn))

p+ 1− ∂pΦ(dn, z(dn), dn)

∂hp)

Pour que cette expression soit un DL en hn de la forme o(hpn), il faut et il suffit que tous les termesf [`](tn,z(tn))

`+1 − ∂`Φ(tn,z(tn),0)∂h` ) soient nuls ce qui fournit la condition de l’enonce puisque par tout point

(t0, y0) passe une unique solution locale. Le reste fournit la majoration de l’enonce avec la constanteC = 1

(p+1)!‖f[p]‖K + 1

p!‖∂pΦ∂hp |K×[0,δ]

, ou les normes utilisees sont les normes du sup ‖•‖∞ et les solutionsont supposee confines dan un ensemble compact K. �

N.B. Pour justifier l’existence des f [`] on remarque que grace a l’hypothese de consistance on af = Φ|h = 0, qui est donc bien de classe Cp. Le cas ` = 0 de la conclusion de l’enonceredonne lacondion de consistance, avec un demonstration simplifi’ee par le fait qu’on suppose ici Φ de classe C1

et pas seulement continue.

16

Page 17: Equations différentielles. Méthodes numériques

4.3.2 La constante SCT de majoration de l’erreur globale

On considere une methode consistante et stable de constante de stabilite S qui est d’ordre p avecun facteur multiplicatif C. On a les majorations d’erreurs suivantes. D’abord le cumul des erreurs deconsistance (qui n’est pas l’erreur globale ! !) est :∑

en ≤ C∑

hp+1n ≤ C(

∑hn)hpmax = CThpmax

En effet la somme de tous les pas est∑

(tn+1 − tn) = T si on travaille sur l’intervalle [t0, t0 + T ]. Pardefinition de la stabilite, on trouve alors : Max|yn − z(tn)| ≤ S(|y0 − z(t0)| + CThpmax). L’erreur estdonc majoree dans le cas d’absence d’erreur sur la condition initiale par

SCThpmax

4.3.3 La constante SCT de majoration de l’erreur globale

On considere une methode consistante et stable de constante de stabilite S qui est d’ordre p avec lefacteur multiplicatif p que nous venons de ttrouver. On a les majoration d’erreurs suivantes. D’abordle cumul des erreurs de consistance (qui n’est pas l’erreur globale ! !) est :∑

en ≤ C∑

hp+1n ≤ C(

∑hn)hpmax = CThpmax

En effet la somme de tous les pas est∑

(tn+1 − tn) = T si on travaille sur l’intervalle [t0, t0 + T ]. Pardefinition de la stabilite, on trouve alors : Max|yn − z(tn)| ≤ S(|y0 − z(t0)|+ CThmaxp). L’erreur estdonc majoree dans le cas d’absence d’erreur sur la condition initiale par

SCThpmax

5 Quelques remarques sur les aspects numeriques

5.1 Sur les inconvenients du cumul des erreursd’arrondi

On considere la suite des valeurs arrondies des yn notees yn. Soit ρn l’erreur d’arrondi dans lecalcul de Φ(tn, yn, hn), et σn l’erreur d’arrondi dans l’evaluqtion de ˜yn+1, ce qui conduit a la formule :

˜yn+1 = yn + hnΦ(tn, yn, hn) + hnρn + σn

Alors si S est une constante de stabilite et si ρ et σ sont des bornes pour les erreurs d’arrondi, ontrouve :

max |yn − yn| ≤ S(|ε0|+∑|hnρn + σn|) ≤ S(|ε0|+ Tρ+Nσ)

En combinant avec la majoration de la derniere sous-section on trouve :

max |yn − z(tn) ≤ S(|ε0|+ Tρ+Nσ + CThp)

En nous placant pour simplifier dans l’hypothese de pas constants, donc avec N = Th , ce dernier

majorant devient :E(h) = S(|ε0|+ Tρ) + ST (

σ

h+ Chp)

La fonction E(h) passe par un minimum pour une valeur optimale de h, qu’il est inutile (nefaste)de depasser puisque lim

h→0E(h) = +∞. Cette valeur est hopt = ( σC )

1p+1 . On trouve le majorant optimal :

E(hopt) = σp

p+1C1

p+1 p1

p+1 (p+1p )

17

Page 18: Equations différentielles. Méthodes numériques

5.2 Problemes de Cauchy bien poses numeriquement, probl‘emes mal conditionnes

Exemple 0.- On a deja vu que le probleme de Cauchy :

y′ =√

2|y|, y(0) = 0

est mal pose mathematiquement car la solution n’est pas unique.Dans les deux exemples suivants on se place dans les conditions du theoreme de Cauchy, mais

d’autres difficultes surgissent.Exemple 1.- {

y′ = 3y − ty0 = 1

3 a 10−n prescalculer y(10).

Dans cet exemple 10−n represente la pr”ecision de la machine traite comme un majorant de l’erreurd’arrondi. On prendra donc les conditions initiales respectives :

y0 =13, et y0 =

13

+ ε avec |ε| < 10−n

Les solutions exactes se calculent et valent : z(t) = Ce3t + t + 13 , avec C = z(0) − 1

3 . On a donc acomparer les deux solutions {

y(t) = t+ 13

˜y(t) = t+ 13 +εe3t

Donc |y(t)− ˜y(t)| = |y(0)− ˜y(0)|e3t = εe3t, ce qui donne la majoration :

|y(10)− ˜y(10)| ≤ 10−ne30

Conclusion : Le probleme du calcul de y(10) est mal pose numeriquement si on travaille avec n = 12chiffres significatifs, car le majorant 10−12e30 ≈ 10, 7 est excessif d l’oredre de grandeur de y(10) ?

La notion d’etre mal pose numeriquement depend bien sur de la longueur T de l’intervalle surlequel on travaille, et aussi de l’exposant (L=3 ici) de l’exponentielle qui n’est autre que la constantede Lipschitz de f . Pout T = 1 (calcul de y(1) = 4/3 + e1), le proboleme serait bien pose avec uneamplification de l’erreur d’arrondi initiale e.10−12. De meme le probleme de y(10) reste bien pose sion prend 16 chiffres significatifs et cesse de l’etre a parti de T = 13 environ.

Toutes ces consideration refletent le fait que la constante de stabilite qu’on a trouve dans letheoreme 5 est en fonction de la constante de Lipschitz eLT , donc la constante d’amplification trouvedans la section precedente est SCT = ELT .C.T

Exemple 2.- {y′ = −150y + 30y0 = 1

5 a 10−n prescalculer y(10).

Cette fois le probleme est bien pose numeriquement car en conservant les notation analogues a cellesde l’exemple 1 :

y(t) =15

+ εe−150t

et le probleme est bien pose numeriquement puisque |y(0) − ˜y(0)|e−1500 est tres petit meme pour degrandes valeurs de ε. Ceci montre qu’en un certain sens le probleme est trop bien pose : a l’inversse sion cherche a retrouver y0, a partir d’une perturbation majoree α de y(10) = 1

5 on trouve : +

tildey(10)− 15| < α⇒ | ˜y(0)− 1

5| < α.e+1500

ce qui est numeriquement impraticable.

18

Page 19: Equations différentielles. Méthodes numériques

On remarque que la constante de stabilite est a nouveau enorme : S = e+150T = e+1500, etSCT = 10Ce+1500, et resterait excessive meme pour des plus petites valeurs de T . On dit que ceprobleme est mal conditionne. Un tel probleme meme bien pose numeriquement peut reserver dessurprises a la mise en oeuvre de la metrhode d’Euler. On trouve :

yn+1 = −150yn + 30, d’ou |yn+1 −15| = −150|yn −

15|

donc yn = 15 + (1− 150h)n(y0 − 1

5). Pour T = 1, si on a l’imprudence de prendre un pas trop eleve lasuite des yn, s’ecarte radicalement de y(tn) tres voisin de 1/5. Par exemple si T = 1, et h = 1/50, ontrouve yn − 1

5 = (−2)n(y0 − 15) d’ou pour y(1), l’approximation 250(y0 − 1

5) ≈ 1015(y0 − 15). Le choix

de h est bien sur dicte par la convergence de la suite (1− 150h)n, soit : 0 < h < 175 .

6 Methode(s) de Runge Kutta.

6.1 description de la methode

On considere comme d’habitude un probleme de Cauchy{y′ = f(t, y)

y(t0) = y0

ave une solution exacte z(t) sur [T0, t0 + T ] et une subdivision :

t0 < · · · tN = t0 + T

On part de l’expression integrale de l’accroissement z(tn+1)−z(tn), dans laquelle on ramene l’intervalled’integration de [tn, tn+1 = tn + hn], a [0, 1], par le changement de variables t = tn + uhn.

z(tn+1)− z(tn) =∫ tn+1

tn

f(t, z(t))dt

=∫ 1

0hnf(tn + uhn, z(tn + uhn))du

ou encore

z(tn+1)− z(tn) = hn

∫ 1

0g(u)du (3)

avec g(u) = f(tn + uhn, z(tn + uhn))L’idee est d’utiliser un operateur d’integration approche (O.I.A.) pour calculer l’integrale qui ap-

paraıt dans l’equation (3) : ∫ 1

0g(u)du ∼ Σ(g) =

q∑i=1

big(ci)

Comme les valeurs des g(ci) = f(tn + cihn, z(tn + cihn)) = f(tn,i, z(tn,i)) ne sont pas connues, il fautaussi evaluer la fonction z aux points tn,i = tn + cihn par un calcul similaire d’O.I.A. :

z(tn,i) = z(tn) + hn

∫ ci

0g(u)du (4)

On se contentera pour simplifier des methodes explicites ou l’O.I.A. choisi utilise les valeurs desg(cj) = f(tn,j , z(tn,j)), j = 1, · · · , i− 1 anterieurement calculees :∫ ci

0g(u)du ∼ Σi(g) =

i−1∑j=1

ai,jg(ci)

19

Page 20: Equations différentielles. Méthodes numériques

d’ou les formules d’approximation :{z(tn,i) ∼ z(tn) + hn

∑i−1j=1 ai,jg(ci)

z(tn+1) ∼ z(tn) + hn∑q

i=1 big(ci)

L’algorithme de Runge Kutta associe aux operateurs d’integration approche Σ et Σi s’obtient enremplacant chaque g(ci) par des valeurs approchees notees pn,j , puis z(tn,i) par des valeurs approcheesyn,i, ou on utilise l’O.I.A. Σi avec les pn,j au lieu des g(cj). Il reste a poser au ieme pas : yn,i =f(tn,i, yn,i). Le passage de yn a yn+1 se fait alors en utilisant de la meme facon l’O.I.A. Σ.

On parle d’algorithme de type RKq, pour indiquer le nombre des ci. La methode etant expliciteai,j = 0 pour j ≥ i et on est donc dontraint a prendre c1 = 0, et pn,1 = f(tn, yn).(NB : RK1 expliciten’est donc rien d’autre que la methode d’Euler). Le detail de l’algorithme RKq est donc le suivant :

– c1 = 0 , tn,1 = tn , yn,1 = yn , pn,1 = f(tn, yn)– Pour i = 2, · · · , q, tn,i = tn + ci hn

yn,i = yn + hn∑i−1

j=1 ai,jpn,jpn,i = f(tn,i , yn,i)

–[tn+1 = tn + hnyn+1 = yn + hn

∑qj=1 bjpn,j

Proposition 6 Tout schema de type RKq definit une methode a un pas explicite de la forme : yn+1 =yn + hnΦ(tn, yn, hn).

Il suffit en effet de verifier par recurrence sur i l’existence de formules :

yn,i = yn + hnΦi(tn, yn, hn),pn,i = Qi(tn, yn, hn).

On part de Φ1 = 0 et Q1 = f(t, y), et la recurrence se fait selon les formules :

Φi =i−1∑j=1

ai,jQj(t, y, h)

Qi(t, y, h) = f(t+ cih, y + hΦi(t, y, h)).

et se conclut par Φ(t, y, h) =∑q

j=1 bjQj(t, y, h).

6.2 Quelques exemples

On fait systematiquement l’hypothese que les O.I.A utilises sont d’ordre au moins zero(=exactssur les fonctions constantes), ce qui setraduit par les egalites :

ci =i−1∑j=1

ai,j 1 =q∑j=1

bj .

On present usuellement les donnees sous forme d’un tableau :

c1 = 0 | 0c2 | a2,1 0c3 | a3,1 a3,2 0... | . . .... | . . .cq | aq,1 aq,2 · · · · · · aq,q−1 0−−− | − −− −−− −−− −−− −−− −−−

1 | b1 b2 · · · · · · bq−1 bq

20

Page 21: Equations différentielles. Méthodes numériques

dans lequel la premiere colonne est la somme des suivantes.– Les algorithmes de type RK2 sont donc regis par un tableau du type suivant :

0 | 0α | α 0

−−− | − −− −−−1 | b 1− b

On pourra voir en TD que pour α 6= 0 fixe la valeur optimale de b, pour laquelle l’ordre de lamethode est le plus grand est b = 1− 1

2α .Les O.I.A. de la methode sont :∫ α

0g(u)du ∼ Σ2(g) = αg(0) (5)∫ 1

0g(u)du ∼ Σ(g)(1− 1

2α)g(0) +

12αg(1) (6)

– Pour α = 1, ce dernier O.I.A. est celui de la methode des trapezes et la methode correspondante(RK2)α=1 est connue sous le nom de Methode de Heun.

– La methode RK4 classique correspond au tableau :

0 | 0c2 = 1

2 | 12 0

c3 = 12 | 0 1

2 0c4 = 1 | 0 0 1−−− | − −− −−− −−− −−−

1 | 16

26

26

16

Les O.I.A. de la methode sont :∫ 12

0g(u)du ∼ Σ2(g) =

12g(0)∫ 1

2

0g(u)du ∼ Σ3(g) =

12g(

12

)∫ 1

0g(u)du ∼ Σ4(g) = g(

12

)∫ 1

0g(u)du ∼ Σ(g) =

16

(g(0) + 2g(12

+ 2g(12

+ g(1))

Les coefficients sont ceux de l’O.I.A. de Simpson.L’algorithme associe pour le calcul des yn est le suivant : tn,2 = tn + 1

2 hnyn,2 = yn + 1

2hnf(tn, yn)pn,2 = f(tn,2 , yn,2)

tn,3 = tn + 12 hn

yn,3 = yn + 12hnpn,2

pn,3 = f(tn,3 , yn,3)

tn,4 = tn + hnyn,4 = yn + hnpn,3pn,4 = f(tn,4 , yn,4)

et yn+1 = yn +hn6

(pn,1 + 2pn,2 + 2pn,3 + pn,4)

6.3 Themes de TD

6.3.1 Tester (RK)4 sur l’exemple fetiche y′ = −y.

Montrer qu’avec un pas h = 0, 1, on trouve yn = (0, 9048375)n, ce qui donne y10 ' 0, 3678798,ce qui fournit la solution exacte etant e−t, une approximation de e−1 ' 0, 3678794 a mieux que10−6 pres.

21

Page 22: Equations différentielles. Méthodes numériques

DemonstrationL a reprise de l’algorithme de (RK4) lorsque f(t, y) = −y donne en effet ;

yn,2 = yn −hn2yn = −pn,2

yn,3 = yn +hn2

(hn2− 1)yn = yn(1− hn

2+h2n

4) = −pn,3

yn,4 = yn − hn(1− hn2

+h2n

4)yn = yn(1− hn +

h2n

2− h3

n

4) = −pn,4

et enfin

yn+1 =yn −hn6yn(1 + 2(1− hn

2) + 2(1− hn

2+h2n

4) + 1− hn +

h2n

2− h3

n

4)

=yn −hn6yn(6− 3hn + h2

n −h3n

4)

=yn(1− hn +h2n

2− h3

n

6− h4

n

24)

Ainsi on trouve par recurrence yn = (1−hn + h2n2 −

h3n6 −

h4n

24 )n, ce qui en reportant h = 0, 1, puisn = 10, fournit les valeurs numeriques approchees indiquees. �On remarque que sur cet exemple, le resultat est le meme que celui que fournit la methode deTaylor d’ordre 4.

6.3.2 Ordre d’une methode (RK)4.

La fonction Φ(t, y, h)), s’obtient de la facon suivante : on reecrit l’algorithme de Runge Kutta ensubstituant au depart t et y et h a tn et yn et hn, le meme calcul fournissant alors des fonctionsyi(t, y, h) et pi(t, y, h) au lieu des yn,i pn,i et la fonction cherchee provient de y + h.Φ(t, y, h)) ala place de yn+1.– Pour i = 2, · · · , q, ti = t + ci h

yi = y + h∑i−1

j=1 ai,jpj(t, y, h)pi(t, y, h) = f(ti , yi(t, y, h))

– Φ(t, y, h) =∑q

j=1 bjpj(t, y, h)La methode est consistante car on trouve aisement par recurrence sur i et pour tout i :

yi(t, y, 0) = y pi(t, y, 0) = f(t, y)

d’ou Φ(t, y, 0) = (∑q

j=1 bj)f(t, y) = f(t, y) ce qui est la condition suffisante trouvee dans letheoreme 4.Lemme 2

∂Φ∂h

(t, y, 0) = (q∑j=1

bjcj)f [1](t, y)

DemonstrationO n a Φ =∑q

i=1 bif(t+ cih, yi(t, y, h)) d’ou :

∂Φ∂h

(t, y, h) =q∑i=1

bici∂f

∂t(t+ cih, yi(t, y, h)) +

q∑i=1

bi∂yi∂h

∂f

∂y(t+ cih, yi(t, y, h))

Par ailleurs yi(t, y, h) = y +∑q

j=1 ai,jf(t+ cjh, yj(t, y, h)), donc :

∂yi∂h

=q∑j=1

ai,jf(t+ cjh, yj(t, y, h)) + h

q∑j=1

ai,j∂

∂h[f(t+ cjh, yj(t, y, h))]

22

Page 23: Equations différentielles. Méthodes numériques

et puisque yi(t, y, 0) = y, on conclut par :

∂yi∂h

(t, y, 0) = (q∑j=1

ai,j)f(t, y) = cif(t, y).

et

∂Φ∂h

(t, y, 0) =(q∑i=1

bici)∂f

∂t(t, y) +

q∑i=1

bi(cif(t, y))∂f

∂y(t, y)

=(q∑i=1

bici)(∂f

∂t(t, y) + f(t, y)

∂f

∂y(t, y))

=(q∑j=1

bjcj)f [1](t, y).

�On a vu que la condition necessaire et suffisante pour que la methode soit d’ordre 2 est :∂Φ∂h (t, y, 0) = 1

2f[1](t, y). Au vu du lemme c’et equivalent a la condition numerique suivante :

q∑j=1

bjcj =12. (7)

Exemple 1) On reprend l’exemple de (RK2), avec le tableau :

0 | 0α | α 0

−−− | − −− −−−1 | b 1− b

La condition d’etre d’ordre 2 est : 0 × b + α(1 − b) = 12 , et on retrouve la valeur optimale

b = b1 = 1− 12α .

2) La methode classique (RK4) est d’ordre au moins deux egalement toujours d’apres l’equation, puisque : 0× 1

6 + 12

26 + 1

2 ×26 + 1× 1

6 = 12

On montre en fait que la methode est d’ordre 4.exercice Montrer en calculant ∂2Φ

∂h2 , a comparer a 13f

[2], que la methode (RK4) est d’ordre ≥ 3.On etablira que en general les conditions pour qu’une methode de Runge-Kutta d’ordre ≥ 2 soiten fait d’ordre ≥ 3 sont :

q∑j=1

bjc2j =

13

et∑i,j

biai,jcj =16

On considere uine methode de Runge Kutta de parametres ai,j bj , et on lui associe le coefficientreel positif :

α = maxi

(∑j

|ai,j |)

Proposition 7 Si f(t, y) est Lipschitzienne de rapport k, la fonction Φ est Lipschitzienne derapport : Λ = k

∑qj=1 |bj |(1 + αhk + · · ·+ (αhk)j−1) et la methode (RKn) associee est stable.

23

Page 24: Equations différentielles. Méthodes numériques

Demonstration On montre par recurrence sur i que la fonction yi(t, y, h) est Lipschitziennede rapport

1 + αhk + · · ·+ (αhk)i−1

En effet etant donnees deux condition initiales y et z la definition de yi aboutit a :

|yi(t, y, h)− yi(t, z, h)| =|y − z + h

q−1∑j=1

ai,j(f(t+ cj , yj(t, y, h)− f(t+ cj , yj(t, z, h))|

≤|y − z|+q−1∑j=1

|ai,j |.|yj(t, y, h)− yj(t, z, h)|

≤|y − z|+ (αhk) maxj<i|yj(t, y, h)− yj(t, z, h)|

La conclusion pour la fonction yi en decoule. En passant a Φ on en deduit le resultat :

|Φ(t, y, h)− Φ(t, z, h)| =|q∑j=1

bj [f(t+ cj , yj(t, y, h)− f(t+ cj , yj(t, z, h)]|

≤q∑j=1

|bj |.k|yj(t, y, h)− yj(t, z, h)|

≤|y − z|+ (αhk) maxj<i|yj(t, y, h)− yj(t, z, h)| ≤ kΛ|y − z|.

24