Universit´e Claude Bernard–Lyon I CAPES de Math´ematiques : Oral Ann´ee 2006–2007
M´ ethode d’Euler pour les ´ equations diff´ erentielles
A ne pas rater
• L’exemple canonique : y′ = ay ;
• la justification de la convergence de la m´ethode pour au moins un type d’´equations ;
• un vrai exemple num´erique impl´ement´e en machine (pas fait ici).
Pour enrichir
• Sur l’exemple canonique y′ = ay, un sch´ema implicite ;
• la justification de la convergence de la m´ethode pour toutes les ´equations y′ = f (t, y) ;
• la stabilit´e de la m´ethode.
1◦ Probl`eme et m´ethode
On cherche `a calculer une approximation de la solution du probl`eme de Cauchy suivant
∀t ∈ [0, T ], y′(t) = f (t, y(t)), y(0) = u0,
o`u f est une fonction “assez r´eguli`ere”, d´efinie sur une partie de R2, u0 ∈ R.
On fixe h > 0 et on approxime la solution u du probl`eme de Cauchy par une fonction affine sur chacun des intervalles [tn, tn+1] = [nh, (n + 1)h]. Il suffit donc de d´efinir la valeur yn de cette fonction en tn, pour 0 ≤ n ≤ T /h.
On part d’une approximation y0de u0 (apr`es tout, on n’a pas de raison de penser qu’on connait ou qu’on sait calculer u0 exactement). Supposons connaˆıtre y0, . . . , yn, on pose :
(∗) yn+1= yn+ h f (tn, yn).
Justification g´eom´etrique : Le point (tn+1, yn+1) est sur la droite contenant (tn, yn) et de pente f (tn, yn). Or, f (tn, yn) est la pente de la tangente `a la courbe de ˜u, solution du probl`eme de Cauchy suivant :
y′(t) = f (t, y(t)), y(tn) = yn.
Le sens g´eom´etrique de la relation (∗), c’est donc d’approximer la courbe de u, par celle de ˜u, puis d’approximer cette derni`ere par sa tangente en (tn, yn).
u0 - y0 -
1 1.5
2 2.5 3 3.5 4
0 1 2 3 4
u
˜ u (t2, y2)
(t3, y3)
(t2, u(t2)) u(t2) -
y2 - y3 -
y1 -
y′ = sin 10t22 + 1 y f (t, r) = sin 10t22 + 1
r h = 1, T = 4, tn= n
y3 = y2+ h f (t2, y2)
= y2+ h˜u′(t2)
Construction de y3
Probl`eme Consid´erons un probl`eme de Cauchy
y′ = f (t, y), y(0) = u0,
soit u la solution de ce probl`eme sur un intervalle [0, T ], soit h > 0 et y0 ∈ R, on d´efinit une suite (yn)0≤n≤T /h par
yn+1= yn+ h f (tn, yn).
On appelle ˆu “la” fonction affine par morceaux qui, pour tout 0 ≤ n ≤ T /h, prend la valeur yn en tn.
Peut-on, sous des hypoth`eses raisonnables sur f , montrer que ˆu est une bonne approximation de u ?
Ce que l’on veut dire par “bonne approximation”, c’est que si y0 est proche de u0 et si h est assez petit, on peut rendre petit l’´ecart
0≤n≤T /hmax |u(tn) − yn| Dans la suite, on posera
un= u(tn).
2◦ Exemples ´el´ementaires
(a) Exemple “trivial” : y′ = f (t)
Supposons que f : [O, T ] → R soit une fonction continue. On s’int´eresse au probl`eme de Cauchy
∀t ∈ [0, T ], y′(t) = f (t), y(0) = 0.
Sa solution est ´evidemment t 7→Rt
0f ... La m´ethode d’Euler avec y0= 0 donne : yn+1= yn+ hf (tn),
si bien que
yn= h Xn k=0
f (kh).
Pour N ∈ N∗ et h = T /N , on voit que
yN = 1 N
N −1X
k=0
f kT N
, vu comme approximation de Z T
0
f (t) dt.
Ainsi, dans ce cas, la m´ethode d’Euler n’est autre que la m´ethode des rectangles : on sait qu’elle converge toujours, et la convergence est en 1/n si f est C1.
Noter que la convergence est assez lente : les m´ethodes des trap`ezes et du point m´edian donne beaucoup mieux sans plus de calcul, et la preuve de la convergence est plutˆot plus simple...
(b) L’exemple canonique : le cas lin´eaire y′ = ay Attention ! Il est indispensable de citer cet exemple.
Soit a ∈ R, on s’int´eresse au probl`eme de Cauchy : y′= ay, y(0) = 1.
Dans les notations pr´ec´edentes, on prend f (t, y) = ay. On obtient dans ce cas yn+1= yn+ h ayn= (1 + ah)yn,
d’o`u :
yn= (1 + ah)n.
Si on fixe N ∈ N∗ et h = T /N , on obtient pour approximation de u(tN) = exp(aT ) la valeur : yN =
1 +aT
N
N
.
On reconnaˆıt une suite qui tend fort classiquement vers exp(aT ). Mais, dans l’esprit du pro- gramme de terminale S, et `a titre d’exemple pour le cas g´en´eral, on veut montrer a priori que la m´ethode d’Euler converge bien : c’est ce que fait le th´eor`eme du paragraphe suivant.
(c) Plus original : sch´ema d’Euler implicite pour y′ = ay
Id´ee : Au lieu du d´eveloppement de Taylor u(t + h) = u(t) + hu′(t) + o(h) qui fondait la m´ethode pr´ec´edente, on peut aussi bien partir de u(t+h) = u(t)+hu′(t+h)+o(h). En d’autres termes, on veut poser :
yn+1= yn+ h f (tn+1, yn+1).
Ceci est une ´equation en yn+1, d’o`u le nom de “sch´ema implicite”. On peut montrer qu’elle a une unique solution si f est “assez r´eguli`ere” et h assez petit. On va ici se contenter d’un exemple.
Exemple : Reprenons, pour a ∈ R, le probl`eme de Cauchy lin´eaire y′= ay, y(0) = 1.
On obtient dans ce cas
yn+1= yn+ h ayn+1, ou encore (1 − ah)yn+1 = yn, d’o`u :
yn+1= (1 − ah)−n.
Si on fixe N ∈ N∗ et h = T /N , on obtient pour approximation de u(tN) = exp(aT ) la valeur : yN =
1 −aT
N
−N
.
Int´erˆet de la manipulation ? Il arrive que le sch´ema implicite soit plus stable que le sch´ema explicite, i.e. que les erreurs de calculs se propagent moins vite. Pour de vraies explication, voir par exemple le cours de Michelle Schatzman, Analyse num´erique, Dunod.
3◦ Convergence de la m´ethode d’Euler
Th´eor`eme Soit Ω un ouvert de R2, f : Ω → R et (0, u0) ∈ Ω. On suppose que f est de classe C1 et lipschitzienne par rapport `a la deuxi`eme variable, i.e. qu’il existe L > 0 tel que
∀(t, r), (t, r′) ∈ Ω, |f (t, r) − f (t, r′)| ≤ |r − r′|.
On suppose enfin que le probl`eme de Cauchy
y′(t) = f (t, y(t)), y(0) = u0
a une solution u (n´ecessairement unique) sur un intervalle [0, T ], o`u T > 0.
On fixe h > 0 et y0 ∈ R de sorte que (0, y0) ∈ Ω, et on pose : yn+1= yn+ hf (tn, yn) o`u tn= nh.
Alors :
(i) si |y0− u0| et h sont assez petits, les yn sont bien d´efinis tant que 0 ≤ n ≤ T /h ; (ii) il existe C, D > 0 ne d´ependant que de Ω, f et T tel que :
∀0 ≤ n ≤ T /h, |yn− f (tn)| ≤ C|y0− u0| + Dh.
(a) Premi`ere ´etape : majoration fondamentale.
Pour tout n, notons un= u(tn). On veut une relation liant yn+1− un + 1 et yn− un. On ´ecrit donc :
yn+1− un+1= yn+ hf (yn) − un+1.
Id´ee Utiliser que yn est proche de un, donc ´ecrire yn− un ; on voit apparaˆıtre un+1− un= u(tn+h)−u(tn), qui par un DL est proche de hu′(tn) = hf (tn, un), qui est proche de hf (tn, yn).
Conform´ement `a cette id´ee, on complique l’´ecriture : yn+1− u(tn+1) = yn− un
| {z }+ un− un+1
| {z }
+hf (tn, yn)
= yn− un
| {z }+ un− un+1+ hu′(tn)
| {z }
−hf (tn, un) + hf (tn, yn)
| {z }
.
Comme f est C1, u est C2, u′′ est born´ee1 sur [0, T ] par un r´eel 2M > 0. On a donc, en vertu de la formule de Taylor-Lagrange `a l’ordre 2 :
|un+1− un− hu′(tn)| = |u(tn+1) − u(tn) − hu′(tn)| ≤ M h2. Par ailleurs, (yn) est born´ee et f est suppos´ee L-lipschitzienne, donc on a :
|hf (tn, yn) − hf (tn, un)| ≤ Lh|yn− un|.
Ainsi, on tire l’in´egalit´e fondamentale :
|yn+1− un+1| ≤ (1 + Lh)|yn− un| + M h2.
Ainsi, l’erreur commise |yn− un| satisfait une in´egalit´e qui, si c’´etait une ´egalit´e, en ferait une suite arithm´etico-g´eom´etrique.
(b) Deuxi`eme ´etape : suite “pseudo arithm´etico-g´eom´etrique”.
Pour tout n, posons
δn= (1 + Lh)−n|yn− un|, on a montr´e que :
δn+1≤ δn+ M h2 (1 + Lh)n+1. On en tire en sommant t´el´escopiquement δn+1− δn :
δn≤ δ0+
n−1X
k=0
M h2
(1 + Lh)n+1 = δ0+ M h2 (1 + Lh)
1 −(1+Lh)1 n
1 −1+Lh1 ≤ δ0+M Lh.
Prenons N ≥ 1 et h = T /N , alors, pour n ≤ N , on a :
|yn− un| ≤ (1 + Lh)nδn. Avec n ≤ T /h et la concavit´e de x 7→ ln(1 + x), il vient :
(1 + Lh)n≤ (1 + Lh)T /h = eThln(1+Lh)≤ eThLh= eLT, d’o`u, pour tout n tel que 0 ≤ n ≤ Th :
(§) |yn− un| ≤ eLT|y0− u0| + M eLT L h.
1Apart´e : Valeur de M . En d´erivant l’´equation de u, on a, pour t ∈ [0, T ] :
|u′′(t)| =
˛
˛
˛
˛
∂f
∂x(t, u(t)) + u′(t)∂f
∂y(t, u(t))
˛
˛
˛
˛
≤
˛
˛
˛
˛
∂f
∂x(t, u(t))
˛
˛
˛
˛ +
˛
˛
˛
˛
f(t, u(t))∂f
∂y(t, u(t))
˛
˛
˛
˛, quantit´e major´ee par 2M = max[0,T ]
˛
˛
∂f
∂x
˛
˛+ max[0,T ]|f | max[0,T ]
˛
˛
˛
∂f
∂y
˛
˛
˛. A pr´eciser dans le paragraphe 4◦.
4◦ Bootstrap
On d´esigne ainsi, en anglais et en math´ematiques, l’activit´e consistant `a essayer de monter en tirant tr`es fort vers le haut sur des sangles (straps) pass´ees sous les chaussures (boots).
La preuve du paragraphe 3◦ n’est pas compl`ete : on calcule sans vergogne f en (tn, un) et (tn, yn). Pour f (tn, un) = f (tn, u(tn)), c’est possible car l’hypoth`ese stipule que le probl`eme de Cauchy a une solution sur [0, T ]. En revanche, rien ne garantit que (tn, yn) soit dans Ω ! Dans l’exemple suivant, f est d´efinie uniquement sur le domaine Ω gris´e : comment peut-on calculer y4, vu que f (t3, y3) n’est pas d´efini ?
u0 y0 y1 y2 y3
Ω u
On peut s’en tirer de deux fa¸cons au moins. La premi`ere consiste `a prolonger f en une fonction sur R2 entier. Mais c’est p´enible `a faire en sorte que le prolongement soit toujours C1 et lipschitzien.
La deuxi`eme m´ethode consiste `a se tirer sur les bretelles... Comme [0, T ] est compact et u continue, le graphe de u poss`ede un voisinage compact K inclus dans Ω.2 On donne enfin un sens pr´ecis `a M en posant
M = max
K
∂f
∂x
+ max
K |f | max
K
∂f
∂y . Ensuite, on choisit |y0− u0| et h assez petit pour que
∀n, ∀y ∈ [un− ∆, un+ ∆], (tn, y) ∈ K, avec ∆ = eLT|y0− u0| + M eLLT h.
Ω
Alors, la preuve de 3◦ peut ˆetre compl´et´ee ainsi. On prouve par r´ecurrence que pour tout n, yn est bien d´efini et satisfait l’in´egalit´e (§), la derni`ere de 3◦. C’est trivial pour n = 0, par les
2Construction : pour t ∈ [0, T ], on choisit η(t) > 0 tel que la boule de centre (t, u(t)) et de rayon η(t) soit contenue dans Ω. Or, par compacit´e de [0, T ] et continuit´e de u, le graphe de u est compact : on extrait un nombre fini des boules pr´ec´edentes qui recouvrent le graphe ; la r´eunion de l’adh´erence de ces boules convient.
choix faits ci-dessus. Supposons que pour un certain n, on ait d´efini yn qui satisfait (§). Cette in´egalit´e est suffisante pour assurer l’existence de yn+1, ce qui donne un sens aux calculs de 3◦, et prouve l’in´egalit´e (§) au rang n + 1.
5◦ Majoration uniforme
Rien de sp´ecifique `a la m´ethode d’Euler dans ce paragraphe.
tn tn+1
un yn un+1
yn+1
La corde qui intercepte la courbe de u est la courbe de la fonction v(t) = un+1− un
tn+1− tn(t − tn).
Par l’in´egalit´e des accroissements finis, on a pour tout t ∈ [tn, tn+1] :
|u(t) − v(t)| ≤ (t − tn) max
[tn,tn+1]|u′| ≤ h max
[0,T ]|u′|.
yn+1− yn
tn+1− tn(t − tn) −un+1− un
tn+1− tn(t − tn)
≤ (|yn+1− un+1| + |yn− un|) t − tn
tn+1− tn ≤ 2C(h+|y0−u0|).
(En fait, l’´ecart maximal entre les deux droites est atteint au bord de l’intervalle, on pourrait remplacer le premier + par un max.)
Reformul´e en termes plus snobs, on a prouv´e : max
[0,⌊Th⌋h]|u − ˆu| ≤ C′(h + |y0− u0|) o`u C′= 2C + max
[O,T ]|u′|.
En d’autres termes, notre approximation tend uniform´ement vers la solution lorsque le pas et l’approximation initiale tendent vers z´ero. Si vous avez suivi jusque l`a, vous pouvez faire un
´enonc´e plus clair
6◦ L´egitimit´e de l’hypoth`ese de Lipschitz
Il faut savoir que c’est l’hypoth`ese qui intervient naturellement dans la d´emonstration du th´eor`eme de Lipschitz global, si on veut des solutions en temps arbitrairement long (sur [0, T ] pour T arbitrairement grand).
Le probl`eme est illustr´ee par l’´equation diff´erentielle y′ = y2,
qui correspond `a f (t, y) = y2. Cette fonction polynˆomiale est, du point de vue de la diff´erentiabilit´e, aussi r´eguli`ere qu’on peut l’esp´erer, sur R2 entier. Pourtant, ce type de r´egularit´e n’empˆeche pas l’existence de solutions “pathologiques”, au sens que leur intervalle de d´efinition n’est pas R+.
En effet, pour u0 > 0, la solution u telle que u(0) = u0 satisfait, sur un voisinage de 0 sur lequel u ne s’annule pas :
u′(t)
u(t)2 = 1, donc − 1 u(t) + 1
u0 = t, dont on d´eduit
u(t) = u0 1 − u0t. Cette fonction est d´efinie au mieux sur [0, u−10 ].