0% ont trouvé ce document utile (0 vote)
11 vues18 pages

Schémas d'Euler pour EDPs

Le document présente une série d'exercices sur les schémas numériques pour les équations différentielles, incluant des solutions exactes et des approximations via les schémas d'Euler explicite et implicite. Il aborde également des concepts tels que la stabilité des schémas et le lemme de Gronwall. Enfin, il propose des exercices d'application avec des corrections détaillées.

Transféré par

vdevs
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
11 vues18 pages

Schémas d'Euler pour EDPs

Le document présente une série d'exercices sur les schémas numériques pour les équations différentielles, incluant des solutions exactes et des approximations via les schémas d'Euler explicite et implicite. Il aborde également des concepts tels que la stabilité des schémas et le lemme de Gronwall. Enfin, il propose des exercices d'application avec des corrections détaillées.

Transféré par

vdevs
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Université Claude Bernard, Lyon 1 Licence Sciences & Technologies

43, boulevard du 11 novembre 1918 Spécialité : Mathématiques


69622 Villeurbanne cedex, France Intro. Analyse numérique L2- Printemps 2020

Série d’exercices no 4
Schémas numériques pour les équations différentielles

Exercice 1.
On considère le problème de Cauchy suivant : trouver X ∈ C 1 ([0, 1], R) telle que
 0
X (t) = −100X(t) + 25,
(S1 )
X(0) = 1,
1. Partie 1 : solution exacte de (S1 )
(a) Donner la solution exacte de (S1 ).
(b) Etudier la limite de la solution quand t tend vers l’infini.
2. Partie 2 : schéma d’Euler explicite
(a) Ecrire le schéma d’Euler explicite pour (S1 ) (avec pas ∆t).
(b) Calculer la solution numérique xn en fonction de n et de ∆t.
(c) On suppose ∆t = 1/25. Calculer xn , puis étudier lim |xn |.
n→+∞
(d) Quelle valeur de ∆t > 0 maximale faut-il choisir pour que lim |xn | soit finie ?
n→+∞
3. Partie 3 : schéma d’Euler implicite
Reprendre les questions de la partie 2, en remplaçant schéma explicite par schéma implicite.

Correction
1. Partie 1
(a) On peut utliser la technique de la variation de la constante :
Z t
−100t
X(t) = e X(0) + 25 e−100(t−s) ds
0
1
= e−100t + (1 − e−100t )
4
3 −100t 1
= e + .
4 4
Alternativement, en détails, on peut poser Y (t) = e100t X(t), et voir que
Y 0 (t) = e100t (X 0 (t) + 100X(t)) = 25e100t .
Rt
Alors Y (t) = Y (0) + 0 e100s ds, et on retrouve X(t) = e−100t Y (t) = e−100t X(0) +
R t −100(t−s)
0
e ds.
1
(b) On trouve que lim X(t) = 14 .
t→+∞
2. Partie 2
(a) L’équation différentielle est de la forme X 0 = f (X) avec f (x) = −100x + 25. Le
schéma d’Euler explicite s’écrit alors

xn+1 = xn + ∆tf (xn ) = (1 − 100∆t)xn + 25∆t,

avec x0 = 1 = X(0).
(b) On reconnait une suite arithmético-géométrique. Posons alors zn = xn − 41 , de telle
sorte que pour tout n ≥ 0, on a

zn+1 = (1 − 100∆t)zn .
1
Donc zn = (1 − 100∆t)n z0 avec z0 = x0 − 4
= 43 , puis on en déduit que

1 3 1
xn = zn + = (1 − 100∆t)n + .
4 4 4
1
(c) Si on choisit ∆t = 25
, 1 − 100∆t = −3, donc |xn | → +∞.
n→+∞

(d) La limite lim |xn | existe si et seulement si |1 − 100∆t| ≤ 1. Comme ∆t ≥ 0, la


n→+∞
1
condition est 1 − 100∆t ≥ −1, c’est-à-dire ∆t ≤ 50
.
3. Partie 3

(a) Le schéma d’Euler s’écrit

xn+1 = xn + ∆tf (xn+1 ) = xn − 100∆txn+1 + 25∆t,

et se met sous la forme


xn 25∆t
xn+1 = + .
1 + 100∆t 1 + 100∆t

(b) On utilise la même technique que précédemment : on pose zn = (1 + 100∆t)n xn , alors

zn+1 = (1 + 100∆t)n+1 xn+1


= zn + 25∆t(1 + 100∆t)n .

Ainsi,
n−1
X
zn = z0 + (z`+1 − z` )
`=0
n−1
X
= 1 + 25∆t (1 + 100∆t)` ,
`=0

2
puis
zn
xn =
(1 + 100∆t)n
n−1
1 25∆t X 1
= n
+
(1 + 100∆t) 1 + 100∆t `=0 (1 + 100∆t)n−`−1
1
1 25∆t 1 − (1+100∆t)n
= + 1
(1 + 100∆t)n 1 + 100∆t 1 − 1+100∆t
3 1 1
= n
+ .
4 (1 + 100∆t) 4

(c) Pour toute valeur de ∆t > 0, on trouve lim xn = 14 , la même valeur que pour la
n→+∞
solution exacte.
(d) Contrairement au cas du schéma explicite, il n’y a pas de restriction sur le pas de temps
∆t pour le schéma implicite : c’est la propriété de "A-stabilité".

Exercice 2. Soit θ ∈]0, +∞[. Déterminer les valeurs des limites suivantes, en les interprétant à
l’aide de schémas numériques :
θ N θ −N θ N θ −N
lim (1 + ) , lim (1 − ) , lim (1 + ) (1 − ) .
N →+∞ N N →+∞ N N →+∞ 2N 2N

Correction Introduisons l’équation différentielle linéaire autonomne

X 0 = θX,

et soit T = 1 et x0 = 1. La solution est donnée par X(t) = eθt pour tout t ≥ 0.


Ecrivons les schémas d’Euler explicite, d’Euler implicite, et de Crank-Nicolson associés :
θ Eexp
xEexp Eexp
n+1 = xn + ∆tθxEexp
n = (1 + )x ,
N n
1
xEimp Eimp
n+1 = xn + ∆tθxEimp
n+1 = xEimp
θ n
1− N
 1+ θ
∆t C−N
xC−N
n+1 = xC−N
n + xn + xC−N
n+1 = 2N
θ
xC−N
n ,
2 1− 2N

avec pas de temps ∆t = N1 (ainsi T = N ∆t), en supposant N > θ.


Ces schémas numériques convergent vers la solution de l’équation différentielle : en particulier

lim xN = X(1) = eθ
N →+∞

pour chacun des schémas.


3
En utilisant les formules définissant les schémas (et x0 = 1), on trouve
θ N
xEexp
N = (1 + )
N
θ
xEimp
N = (1 − )−N
N
θ N
(1 + 2N )
xC−N
N = θ N
.
(1 − 2N )
On a donc interprété les trois limites à l’aide des trois schémas numériques, et on trouve
qu’elles sont toutes égales à eθ .
Exercice 3. Lemme de Gronwall
1. Soit θ : [0, T ] → [0, +∞[ une fonction continue, positive, telle que
Z t
θ(t) ≤ a + b θ(s)ds
0

pour tout t ≥ 0, avec a, b ∈ [0, +∞[ donnés.


Montrer que θ(t) ≤ aebt pour tout t ≥ 0.
Rt
Indication : poser Θ(t) = 0 θ(s)ds et étudier l’inéquation différentielle associée.

2. Soit un n∈N une suite telle que
n−1
X
0 ≤ un ≤ a + b u` ,
`=0

pour tout n ∈ N, avec a, b ∈ [0, +∞[ donnés.


Montrer que un ≤ aebn pour tout n ∈ N.

Correction
Rt
1. Posons Θ(t) = 0 θ(s)ds pour tout t ≥ 0. Alors Θ est de classe C 1 et Θ0 (t) = θ(t) pour tout
t ≥ 0.
On peut alors réécrire l’inégalité sous la forme
Θ0 (t) ≤ a + bΘ(t).
En multipliant par e−bt , et en introduisant ψ(t) = e−bt Θ(t), on obtient
ψ 0 (t) = e−bt Θ0 (t) − bΘ(t) ≤ ae−bt ,


pour tout t ≥ 0.
En intégrant et en utilisant la condition ψ(0) = Θ(0) = 0, pour tout t ≥ 0, on obtient
Z t
a
ψ(t) ≤ ψ(0) + ae−bs ds = (1 − e−bt ),
0 b
donc Θ(t) = ebt ψ(t) ≤ ab (ebt − 1), puis finalement
θ(t) ≤ a + bΘ(t) ≤ aebt .
4
2. Posons Sn = n−1
P
`=0 u` pour n ≥ 1 et S0 = 0. Alors un = Sn+1 −Sn , et on peut donc réécrire
l’inégalité sous la forme
Sn+1 ≤ a + (1 + b)Sn .
On pose sn = (1+b)−n Sn . En multipliant l’inégalité précédente par (1+b)−(n+1) , on obtient
pour tout n ∈ N
sn+1 ≤ a(1 + b)−(n+1) + sn ,
ou de façon équivalente
sn+1 − sn ≤ a(1 + b)−(n+1) .
Avec un argument de somme télescopique (et s0 = S0 = 0), on a pour tout n ∈ N,
n−1
X n−1
X
sn = s0 + (sk+1 − sk ) ≤ a (1 + b)−(k+1) .
k=0 k=0

En utilisant Sn = sn (1 + b)n , on trouve alors


n−1 n−1
X
n−(k+1)
X a
(1 + b)` = (1 + b)n − 1 ,

Sn ≤ a (1 + b) =a
k=0 `=0
b

pour tout n ∈ N, par un changement d’indice, puis en calculant la somme géométrique.


Finalement, pour tout n ∈ N, on obtient le résultat
un ≤ a + bSn ≤ a(1 + b)n ≤ aenb ,
en utilisant l’inégalité 0 ≤ 1 + b ≤ eb .

Exercice 4. Terminal 2019


On considère l’équation différentielle X 00 (t) = −X(t), mise sous forme d’un système du
premier ordre : X(t) = q(t) avec (
q 0 (t) = p(t)
p0 (t) = −q(t).
On se donne une condition initiale : q(0) = q0 et p(0) = p0 .
1. En fonction de q0 et p0 , déterminer A, B et ω tels que q(t) = A cos(ωt) + B sin(ωt) pour
tout t ≥ 0.
2. On pose E(t) = 12 q(t)2 + p(t)2 . Montrer que E(t) = E(0) pour tout t ≥ 0.


3. On approche la solution à l’aide du schéma d’Euler implicite :


(
qn+1 = qn + ∆tpn+1
pn+1 = pn − ∆tqn+1 .
 
(a) Exprimer la solution qn+1 , pn+1 du système précédent en fonction de qn , pn , sous
forme de schéma à 1 pas : pour tout n ∈ N, qn+1 , pn+1 = Φ∆t qn , pn .
(b) On pose En = 12 qn2 + p2n pour tout n ∈ N. Exprimer En+1 en fonction de En .


Commenter ce résultat.

5
Correction
1. En utilisant l’expression q(t) = A cos(ωt) + B sin(ωt), on calcule

q 00 (t) + q(t) = (1 − ω 2 )q(t),

pour tout t ≥ 0.
On en déduit que q est solution de l’équation différentielle si ω = 1.
On détermine ensuite A et B en fonction des données initiales :

A = q(0) = q0 ,
B = q (0) = p0 (0) = p0 .
0

Donc au final la solution s’écrit q(t) = q0 cos(t) + p0 sin(t).


De plus p(t) = q 0 (t) = −q0 sin(t) + p0 cos(t).
On aurait pu choisir également ω = −1. On aurait alors trouvé A = q0 et B = −p0 . Cependant, au final, on
aurait obtenu la même expression pour la solution.
2. Deux solutions sont possibles.
– On calcule la dérivée E 0 (t) = q(t)q 0 (t) + p(t)p0 (t) = q(t)p(t) − p(t)q(t) = 0, pour tout
1 2 2

t ≥ 0. Donc E est constante : E(t) = E(0) = 2 q0 + p0 pour tout t ≥ 0.
– On utilise l’expression de la solution, et on calcule

q(t)2 = (q0 cos(t) + p0 sin(t))2 = q02 cos(t)2 + p20 sin(t)2 + 2q0 p0 cos(t) sin(t)
p(t)2 = (−q0 sin(t) + p0 cos(t))2 = q02 sin(t)2 + p20 cos(t)2 − 2p0 q0 sin(t) cos(t).

En sommant,
1  1 1
q(t)2 + p(t)2 = q02 + p20 (cos(t)2 + sin(t)2 ) = q02 + p20 .
 
E(t) =
2 2 2
3. (a) En remplaçant pn+1 par son expression, on trouve

qn+1 = qn + ∆tpn+1
= qn + ∆t(pn − ∆tqn+1 )
= qn + ∆tpn − ∆t2 qn+1 .

On exprime donc qn+1 en fonction de qn et pn :


qn + ∆tpn
qn+1 = .
1 + ∆t2
De façon similaire, on trouve

pn+1 = pn − ∆tqn+1
= pn − ∆t(qn + ∆tpn+1 )
= pn − ∆tqn − ∆t2 pn+1 ,

donc
pn − ∆tqn
pn+1 = .
1 + ∆t2
6
(b) Pour tout n ∈ N, en utilisant les expressions ci-dessus,
1 2
qn+1 + p2n+1

En+1 =
2
1  2 2 
= q n + ∆tpn + p n − ∆tq n
2(1 + ∆t2 )2
1 
2 2

= q + pn
2(1 + ∆t2 ) n
1
= En .
1 + ∆t2
On obtient alors
1
En = E0 .
(1 + ∆t2 )n
La solution exacte préserve la fonction E (E(tn ) = E(0) = E0 pour tout n ∈ N), mais
pas la solution numérique donnée par le schéma implicite. On a même En → 0.
n→∞

Exercice 5. Schéma d’Euler symplectique


On considère l’équation différentielle X 00 (t) = −X(t), mise sous forme d’un système du
premier ordre : X(t) = q(t) avec (
q 0 (t) = p(t)
p0 (t) = −q(t).
On se donne une condition initiale : q(0) = q0 et p(0) = p0 .
Pour tout h ≥ 0, on pose, pour tout q, p ∈ R,
1 2
q + p2 + hqp .

Hh (q, p) =
2
On introduit aussi le schéma d’Euler symplectique, défini de façon implicite par
(
qn+1 = qn + ∆tpn
pn+1 = pn − ∆tqn+1 .
 
1. Exprimer la solution qn+1 , pn+1 du système précédent
 en fonction
 de q n , pn , sous forme
de schéma à 1 pas : pour tout n ∈ N, qn+1 , pn+1 = Φ∆t qn , pn .
2. Exprimer H∆t (qn+1 , pn+1 ) en fonction de H∆t (qn+1 , pn+1 ). Commenter.
3. Montrer que pour tout (q, p) ∈ R2 , h ≥ 0,

h h
1− H0 (q, p) ≤ Hh (q, p) ≤ 1 + H0 (q, p).
2 2

4. On fixe le pas de temps ∆t ∈ (0, 2)et la condition initiale (q0 , p0 ) ∈ R2 , avec H0 (q0 , p0 ) 6= 0.
Montrer que la suite H0 (qn , pn ) n∈N est bornée, et ne tend pas vers 0 quand n → ∞.
Comparer avec les schémas d’Euler explicite et implicite, et avec le comportement de la
solution exacte.
7
5. Plus précisément, montrer que

sup H0 (qn , pn ) − H0 (q0 , p0 ) ≤ C(q0 , p0 )∆t,


n∈N

où la constante C(q0 , p0 ) dépend de la condition initiale mais pas de ∆t.

Correction
1. On trouve (
qn+1 = qn + ∆tpn
pn+1 = (1 − ∆t2 )pn − ∆tqn ,
 
q + ∆tp
c’est-à-dire Φ∆t (q, p) = .
(1 − ∆t2 )p − ∆tq
2. On calcule
1 2 
H∆t (qn+1 , pn+1 ) = (qn + ∆tpn )2 + (1 − ∆t2 )pn − ∆tqn
2
1
+ ∆t qn + ∆tpn (1 − ∆t2 )pn − ∆tqn
 
2
1 2
= qn 1 + ∆t2 − ∆t2

2
1
+ p2n ∆t2 + (1 − ∆t2 )2 + ∆t2 (1 − ∆t2 )

2
1
+ ∆tqn pn 2 − 2(1 − ∆t2 ) + (1 − ∆t2 ) − ∆t2

2
1 2
= qn + p2n + ∆tqn pn

2
= H∆t (qn , pn ).

On en déduit que H∆t (qn , pn ) = H∆t (q0 , p0 ).


La solution numérique préserve donc la fonction H∆t . C’est un comportement similaire à
celui de la solution exacte qui préserve H0 (voir l’exercice précédent, H0 (q(tn ), p(tn )) =
H0 (q0 , p0 ).
Il est important de voir que la fonction H∆t préservée par le schéma numérique n’est pas
H0 , elle dépend du pas de temps ∆t. On pourrait vérifier que Hh (qn+1 , pn+1 ) = Hh (qn , pn )
si et seulement si h = ∆t.
3. Ce résultat est une conséquence directe des inégalités
1 1
− (q 2 + p2 ) ≤ qp ≤ (q 2 + p2 ).
2 2
Pour l’inégalité de droite : pour tout (q, p) ∈ R2 , on a 21 (q 2 + p2 ) − qp = 12 q 2 + p2 − 2qp =

1
2
(q − p)2 ≥ 0.
Pour obtenir l’inégalité de gauche, on peut appliquer la première inégalité à (q, −p) : −qp ≤
1 2
2
(q + p2 ), d’où le résultat.
8
4. D’après la question précédente, pour tout n ∈ N,
1 1
∆t
H∆t (qn , pn ) ≤ H0 (qn , pn ) ≤ H∆t (qn , pn ),
1+ 2 1 − ∆t
2

et la propriété de conservation H∆t (qn , pn ) = H∆t (q0 , p0 ) entraîne


1 1
∆t
H∆t (q0 , p0 ) ≤ H0 (qn , pn ) ≤ H∆t (q0 , p0 ),
1+ 2 1 − ∆t
2

puis
∆t ∆t
1− 2
1+ 2
∆t
H0 (q0 , p0 ) ≤ H0 (qn , pn ) ≤ ∆t
H0 (q0 , p0 ).
1+ 2
1− 2

On en déduit que la suite H0 (qn , pn ) n∈N est bornée, et ne tend pas vers 0. Ces propriétés
sont vérifiées par la solution exacte (puisque H0 est constante le long des solutions).
Le fait que ces propriétés de la solution exacte soient vérifiées par le schéma numérique
constitue une grande amélioration par rapport au schéma d’Euler explicite (pour lequel
H0 (qn , pn ) → +∞) ou au schéma d’Euler implicite (pour lequel H0 (qn , pn ) → 0).
n→+∞ n→+∞

5. Pour tout n ∈ N, on a H∆t (qn , pn ) = H∆t (q0 , p0 ), donc

|H0 (qn , pn ) − H0 (q0 , p0 )| = |H0 (qn , pn ) − H∆t (qn , pn )|


+ |H∆t (q0 , p0 ) − H0 (q0 , p0 )|
∆t ∆t
≤ H0 (qn , pn ) + H0 (q0 , p0 )
2 2
∆t  1 + ∆t 2

≤ + 1 H0 (q0 , p0 )
2 1 − ∆t 2
∆t
≤ H0 (q0 , p0 ),
1 − ∆t2

en utilisant les questions précédentes.

Exercice 6. Terminal 2019


On considère l’équation différentielle X 0 = −γX + f (X), avec condition initiale X(0) = x0 ,
et f : R → R lipschitzienne.
1. On pose Y (t) = eγt X(t). Déterminer une fonction g : R × R → R telle que Y est solution
de l’équation différentielle Y 0 = g(t, Y ).
2. Pour résoudre de façon approchée cette dernière équation, on utilise la méthode de Runge-
Kutta, donnée par le tableau de Butcher ci-dessous, avec θ ∈ [0, 1] :
0 0 0
1 1−θ θ
1−θ θ
(a) Exprimer le schéma sous la forme Yn+1 = Gθ (tn , Yn , ∆t, Yn+1 ).
9
(b) On pose Xn = e−γn∆t Yn . En déduire une expression Xn+1 = Fθ (Xn , ∆t, Xn+1 ).

3. Pour quelles valeurs de θ obtient-on un schéma explicite ?


4. Question plus difficile.
Supposons que le paramètre θ est choisi de sorte que le schéma est implicite. A chaque
itération, Xn+1 est solution de l’équation Fθ (Xn , ∆t, z) = z. On va utiliser une méthode
itérative pour approcher la solution de l’équation.
(a) Donner une condition suffisante sur le pas de temps ∆t pour assurer que cette équation
admet une unique solution, et que la méthode du point fixe converge vers cette solution.
(b) On pose F̃θ (Xn , ∆t, z) = z − Fθ (Xn , ∆t, z). Donner la définition de la méthode de
Newton appliquée à la résolution de l’équation F̃θ (Xn , ∆t, z) = 0 (d’inconnue z). Jus-
tifier que la méthode est bien définie, sous la condition suffisante trouvée à la question
précédente.

Correction
1. On calcule, pour tout t ≥ 0 :

Y 0 (t) = γeγt X(t) + eγt X 0 (t)


= eγt f (X(t))
= eγt f (e−γt Y (t)),

en utilisant l’équation différentielle satisfaite par X, puis en exprimant X(t) = e−γt Y (t).
On en déduit que Y est solution de l’équation différentielle (non-autonome)

Y 0 = g(t, Y )

avec g(t, y) = eγt f (e−γt y).


2. (a) La définition des méthodes de Runge-Kutta donne

Yn+1 = Yn + ∆t(1 − θ)k1 + ∆tθk2 ,

où k1 = g(tn , Yn ) et k2 est solution de k2 = g(tn+1 , Yn + ∆t(1 − θ)k1 + ∆tθk2 ).


On trouve que

k2 = g(tn+1 , Yn + ∆t(1 − θ)k1 + ∆tθk2 ) = g(tn+1 , Yn+1 ),

donc le schéma se réécrit sous la forme

Yn+1 = Yn + ∆t(1 − θ)g(tn , Yn ) + ∆tθg(tn+1 , Yn+1 ).

Il s’agit du θ-schéma.
10
(b) Il s’agit de réécrire le schéma précédent en revenant à l’inconnue X, au lieu de la
variable auxiliaire Y . On calcule, pour tout n ∈ N,
Xn+1 = e−γ(n+1)∆t Yn+1
= e−γ(n+1)∆t Yn + ∆t(1 − θ)e−γ(n+1)∆t g(tn , eγn∆t Xn ) + ∆tθe−γ(n+1)∆t g(tn+1 , eγ(n+1)∆t Xn )
= e−γ∆t Xn + ∆t(1 − θ)e−γ∆t f (Xn ) + ∆tθf (Xn+1 ),
d’après la définition de g(t, y).
On a donc Xn+1 = Fθ (Xn , ∆t, Xn+1 ), où
Fθ (x, ∆t, z) = e−γ∆t x + ∆t(1 − θ)e−γ∆t f (x) + ∆tθf (z).

3. Si θ = 0, la fonction F  θ ne dépend pas de la variable z, et on a une expression Xn+1 =


−γ∆t
e Xn + ∆tf (Xn ) , sans avoir besoin de résoudre d’équation : il s’agit d’un schéma
explicite.
Si θ ∈ (0, 1], au contraire, il faut résoudre une équation (non-linéaire) pour exprimer Xn+1
en fonction de Xn : il s’agit d’un schéma implicite.
Le schéma est donc explicite si et seulement si θ = 0.
4. (a) On voit qu’on cherche Xn+1 sous la forme d’un point fixe de la fonction z 7→ Fθ (x, ∆t, z),
où Xn est donné par la valeur à l’itération précédente et est donc fixé.
La condition suffisante cherchée pour pouvoir utiliser la méthode du point fixe est que
la fonction z 7→ Fθ (Xn , ∆t, z) soit contractante.
On vérifie alors que, pour tous z1 , z2 ∈ R, on a
Fθ (Xn , ∆t, z2 ) − Fθ (Xn , ∆t, z1 ) = θ∆t|f (z2 ) − f (z1 )| ≤ θ∆tLip(f )|z − 2 − z1 |,
|f (z2 )−f (z1 )|
où Lip(f ) est la constante de Lipschitz de f : Lip(f ) = sup |z2 −z1 |
.
z1 6=z2
La condition suffisante recherchée est donc
θ∆tLip(f ) < 1.

(b) Pour pouvoir appliquer la méthode de Newton, on doit supposer que z 7→ F̃θ (Xn , ∆t, z)

est de classe C 1 , donc que f est de classe C 1 , et que sa dérivée ∂z F̃θ (Xn , ∆t, z) 6= 0
est non nulle pour tout z ∈ R.
On calcule

F̃θ (Xn , ∆t, z) = 1 − θ∆tf 0 (z) > 0,
∂z
sous la condition θ∆tLip(f ) < 1 identifiée à la question précédente. En effet, sup |f 0 (z)| ≤
z∈R
Lip(f ).
Sous ces conditions, la méthode de Newton prend la forme
F̃θ (Xn , ∆t, zk )
zk+1 = zk − ∂
,
F̃ (Xn , ∆t, zk )
∂z θ

où les itérations de cette méthode itérative dépendent de l’indice k ∈ N (rappelons que


Xn est considéré comme fixé).

11
Exercice 7. Rattrapage 2019
On considère l’équation différentielle X 0 = f (X), avec condition initiale X(0) = x0 , où on
suppose que f : R → R est une fonction de classe C 1 , de dérivée bornée.
1. Rappeler la définition du schéma d’Euler explicite et du schéma d’Euler implicite.
2. On considère la méthode de Runge-Kutta donnée par le tableau de Butcher
θ θ
1
avec θ ∈ [0, 1], et pas de temps noté ∆t.
Justifier que le schéma associé s’écrit sous la forme

xn+1 = xn + ∆tf (1 − θ)xn + θxn+1 . (1)
R1
3. (a) Sur quelle méthode de quadrature (pour le calcul de 0
g(x)dx) le schéma (1) est-il
construit ?
(b) Etudier en fonction de θ l’ordre de cette méthode de quadrature.
4. Montrer que sous la condition ∆tkf 0 k∞ < 1, l’équation (1) admet une unique solution xn+1 ,
pour toute valeur de xn .
On écrit alors xn+1 = Φ∆t (xn ) = xn + ∆tΨ∆t (xn ).
∂Φh (x)
5. Montrer que Φ0 (x) = x et que ∂h
= f (x).
h=0
∂Ψh (x)
6. En déduire les valeurs de Ψ∆t (x) et ∂h
, et étudier l’ordre du schéma en fonction du
h=0
paramètre θ.

Correction
1. Pour cette équation différentielle, le schéma d’Euler explicite s’écrit

xn+1 = xn + ∆tf (xn ),

et le schéma d’Euler implicite s’écrit

xn+1 = xn + ∆tf (xn+1 ).

2. En traduisant le tableau de Butcher (dans le cas où f dépendrait aussi de t), on trouve

k = f (tn + θ∆t, xn + θ∆tk),


xn+1 = xn + ∆tk.

En remplaçant ∆tk = xn+1 −xn (deuxième équation) dans la première équation, le deuxième
argument de f s’écrit xn + θ∆k = (1 − θ)xn + θxn+1 )). En remplaçant alors k dans la
deuxième équation par la valeur obtenue, on en déduit la formulation du schéma :

xn+1 = xn + ∆tf (tn + θ∆t, (1 − θ)xn + θxn+1 ).


12
3. (a) On peut remarquer que tn + θ∆t = (1 − θ)tn + θtn+1 , et on rappelle que la solution
exacte vérifie l’égalité
Z tn+1
X(tn+1 ) = X(tn ) + f (s, X(s))ds.
tn

On
R tn+1obtient le schéma en utilisant la formule
 de quadrature suivante : on approche
tn
g(s)ds par ∆tg (1 − θ)tn + θt n+1 .
Sur l’intervalle [0, 1], cette méthode de quadrature s’écrit

J(g) = g(θ).

(b) Pour déterminer l’ordre de cetteR méthode de quadrature, on doit comparer les valeurs
1
de J(X k ) et I(X k ), où I(g) = 0 g(t)dt.
D’une part, on a I(1) = 1, I(X) = 21 et I(X 2 ) = 31 .
D’autre part, on a J(1) = 1, J(X) = θ et J(X 2 ) = θ2 .
On en déduit que
– si θ ∈ [0, 1] \ { 12 }, alors cette méthode de quadrature est d’ordre 0 ;
– si θ = 21 , alors cette méthode de quadrature est d’ordre 1.
4. Sauf dans le cas θ = 0, le schéma est implicite, et il faut justifier qu’il existe une unique
solution de l’équation 
z = xn + ∆tf (1 − θ)xn + θz ,
avec xn fixé.

Pour cela, il suffit que l’application z 7→ gn (z) = xn +∆tf (1−θ)xn +θz soit contractante.
On calcule, pour tous z1 , z2 ∈ R,
 
|gn (z2 ) − gn (z1 )| = ∆t f (1 − θ)xn + θz2 − f (1 − θ)xn + θz2
≤ ∆tkf 0 k∞ θ|z2 − z1 |,

en appliquant l’inégalité des accroissements finis.


Sous la condition suffisante ∆θkf 0 k∞ < 1, le schéma est donc bien posé, l’équation admet
une unique solution xn+1 , pour toute valeur de xn .
Dans le cas d’un schéma explicite, θ = 0, donc il n’y a pas de condition.
1
Dans le cas d’un schéma implicite, θ > 0, il y a donc une restriction sur le pas de temps ∆ < θkf 0 k∞ .

5. On a écrit le résultat sous la forme xn+1 = Φ∆t (xn ) = xn + ∆tΨ∆t (xn ).


D’abord, par définition, pour tout x ∈ R, Φh (x) est l’unique solution de l’équation z =
x + hf ((1 − θ)x + θz). Si h = 0, on trouve z = x, donc Φ0 (x) = x pour tout x ∈ R.
On écrit ensuite
Φh (x) = x + hf (1 − θ)x + θΦh (x)).
Admettons que h 7→ Φh (x) est une fonction continue c’est immédiat si on ajoute l’hypothèse
que f est bornée), donc que Φh (x) → Φ0 (x) = x.
h→0
Alors
Φh (x) − x
= f (1 − θ)x + θΦh (x)) → f (x),
h h→0

13
∂Φh (x)
donc ∂h
= f (x) pour tout x ∈ R.
h=0
Une autre approche est possible : si on suppose que h 7→ Φh (x) est dérivable, en dérivant
la définition par rapport à h on obtient

∂Φh (x) ∂Φh (x)


= hf 0 (1 − θ)x + θΦh (x)) + f (1 − θ)x + θΦh (x)),
∂h ∂h
et en évaluant en h = 0 on retrouve l’identité demandée.
6. On a
Φh (x) − x
Ψh (x) = = f (1 − θ)x + θΦh (x)),
h
en particulier Ψ0 (x) = f (x).
Ensuite, en dérivant par rapport à h puis en évaluant en h = 0,

∂Ψh (x) ∂Φh (x)


= θf 0 (x) = θf 0 (x)f (x).
∂h h=0 ∂h h=0

On rappelle les conditions d’ordre énoncées dans le cours : le schéma est d’ordre au moins 1
si et seulement si Ψ0 (x) = f (x), et il est d’ordre au moins 2 si et seulement si Ψ0 (x) = f (x)
h
et ∂Ψ∂h(x) = 21 f 0 (x)f (x).
h=0
On en déduit que :
– si θ ∈ [0, 1] \ { 12 }, le schéma est d’ordre 1 ;
– si θ = 21 , le schéma est d’ordre au moins 2.
∂ 2 Ψh (x)
En étudiant ∂h2
, on pourrait vérifier que lorsque θ = 12 , le schéma est d’ordre 2.
h=0
On peut remarquer que l’ordre de la méthode de quadrature et l’ordre du schéma sont liés.

Exercice 8. Etude du θ-schéma


Soit f : R → R de classe C 2 , supposée Lipschitzienne de constante L.
1. Montrer qu’il existe une constante k0 > 0, telle que pour tout k ∈] − k0 , k0 [ et pour tout
y ∈ R, alors l’équation non-linéaire

x = y + kf (x)

admet une unique solution.


On note x = G(y, h) cette solution.
2. Que vaut G(y, 0) ?
3. On admet que G est de classe C 2 par rapport à tous ses arguments. Calculer les dérivées
partielles ∂y G et ∂h G en h = 0.
4. On définit la θ-méthode : pour θ ∈ [0, 1],
 
xn+1 = xn + ∆t (1 − θ)f (xn ) + θf (xn+1 )

Quels schémas correspondent obtient-on pour θ = 0 et θ = 1 ?


14
5. Soit θ ∈ [0, 1]. Montrer qu’il existe ∆t0 (θ) > 0, tel que si ∆t ∈]0, ∆t0 (θ)[, alors le θ-schéma
est bien défini. Sous cette condition, écrire le schéma sous la forme

xn+1 = xn + ∆tF (xn , ∆t),

et exprimer F en fonction de G.
6. Calculer ∂h F (x, 0).
7. Déterminer en fonction de θ l’ordre de convergence du θ-schéma.

Correction
1. Posons g(x) = y + kf (x), en considérant y et k comme des paramètres.
Si g est contractante, alors en appliquant le théorème du point fixe contractant, il existe un
unique point fixe de g.
Pour tous x1 , x2 ∈ R, on a

|g(x2 ) − g(x1 )| = k|f (x2 ) − f (x1 )| ≤ |k|L|x2 − x1 |,

car f est Lipschitzienne de constante L.


Si on pose
1
k0 =
L
est vérifiée, alors pour tout k ∈] − k0 , k0 [, on a |k|L < k0 L = 1, donc g contractante.
2. Lorsque k = 0, l’équation à résoudre devient x = y, donc G(0, y) = y pour tout y ∈ R.
3. On écrit que
G(y, h) = y + hf (G(y, h)).
En dérivant par rapport à y,

∂y G(y, h) = 1 + hf 0 (G(y, h))∂y G(y, h),

et en évaluant en h = 0, on obtient ∂y G(y, 0) = 1.


En dérivant par rapport à h,

∂h G(y, h) = f (G(y, h)) + hf 0 (G(y, h))∂h G(y, h),

et en évaluant en h = 0, on obtient ∂y G(y, 0) = f (G(y, 0)) = f (y).


4. Lorsque θ = 0, on trouve le schéma d’Euler explicite. Lorsque θ = 1, on trouve le schéma
d’Euler implicite.
5. On observe qu’on peut écrire le schéma sous la forme

xn+1 = G(xn + ∆t(1 − θ)f (xn ), θ∆t).

Si θ = 0 : il n’y a pas de condition sur le pas de temps ∆t (schéma explicite).


15
Si θ ∈]0, 1] : on pose ∆t0 (θ) = kθ0 = Lθ1
: alors si ∆t ∈]0, ∆t0 (θ)[, on a θ∆t < k0 , et on
peut appliquer le résultat de la première question pour justifier que le schéma est bien défini.
On peut écrire

xn+1 = xn + (1 − θ)∆tf (xn ) + θ∆tf (xn+1 )


= xn + (1 − θ)∆tf (xn ) + θ∆tf (G(xn + ∆t(1 − θ)f (xn ), θ∆t))
= xn + ∆tF (xn , ∆t),

avec
F (x, h) = (1 − θ)f (x) + θf (G(x + h(1 − θ)f (x), θh)).
6. En dérivant par rapport à h,

∂h F (x, h) = θf 0 (G(x + h(1 − θ)f (x), θh))(1 − θ)f (x)∂y G(x + h(1 − θ)f (x), θh)
+ θf 0 (G(x + h(1 − θ)f (x), θh))θ∂h G(x + h(1 − θ)f (x), θh),

et en évaluant en h = 0, on a

∂h F (x, 0) = θ(1 − θ)f (x)f 0 (x) + θ2 f 0 (x)f (x) = θf (x)f 0 (x).

7. On a aussi F (x, 0) = f (x).


En utilisant les conditions d’ordre énoncées dans le cours, on voit donc que pour θ 6= 12 , le
schéma est d’ordre 1, car ∂h F (x, 0) 6= 12 f (x)f 0 (x). Pour θ = 12 , le schéma est d’ordre au
moins 2.
Pour vérifier que la méthode est d’ordre exactement 2 quand θ = 21 , il faudrait calculer
2
∂hh F (x, 0).

Exercice 9. Schémas de Runge-Kutta.

Reconnaître les schémas suivants, donnés par un tableau de Butcher.


1. Le schéma représenté par
0 0
1
2. Le schéma représenté par
0 0 0
1/2 1/2 0
0 1
3. Le schéma représenté par
0 0 0
1 1 0
1/2 1/2
4. Développer sous la forme d’un schéma explicite le schéma représenté par :
16
0 0 0 0 0
1/2 1/2 0 0 0
1/2 0 1/2 0 0
1 0 0 1 0
1/6 1/3 1/3 1/6

Correction On considère une équation différentielle X 0 = f (t, X). Tous ces schémas sont des
exemples de schémas importants et ont été mentionnés dans le cours.
1. Ce schéma s’écrit

k = f (tn , xn )
xn+1 = xn + ∆tk,

donc on retrouve le schéma d’Euler explicite : xn+1 = xn + ∆tf (tn , xn ).


2. Ce schéma s’écrit

k1 = f (tn , xn )
∆t ∆t
k2 = f (tn + , xn + k1 )
2 2
xn+1 = xn + ∆tk2 ,

et peut se réécrire
tn + tn+1 ∆t 
xn+1 = xn + ∆f , xn + f (tn , xn ) .
2 2
C’est la méthode RK2, appelée méthode du point milieu explicite.
Pour comprendre ce schéma, il faut interpréter xn + ∆t2 f (tn , xn comme une valeur approchée de la solution à
tn +tn+1
l’instant 2 = tn + 2 , obtenue par une méthode des rectangles à gauche sur l’intervalle [tn , tn + ∆t
∆t
2 ].
Ensuite, cette approximation est utilisée dans une méthode du point milieu pour calculer xn+1 à partir de xn .
3. Le schéma s’écrit

k1 = f (tn , xn )
k2 = f (tn+1 , xn + ∆tk1 )
∆t ∆t
xn+1 = xn + k1 + k2 ,
2 2
et peut se réécrire
∆t  
xn+1 = xn + f (tn , xn ) + f (tn+1 , xn + ∆tf (tn , xn )) .
2
C’est la méthode de Heun, c’est un schéma explicite.
Dans cette méthode, on applique la méthode des trapèzes pour calculer xn+1 à partir de xn , et on interprète
xn + ∆tk1 comme une première approximation de la valeur de la solution à l’instant tn+1 .
C’est un schéma de type "prédicteur-correcteur".

17
4. Le schéma s’écrit

k1 = f (tn , xn )
tn + tn+1 ∆t
k2 = f ( , xn + k1 )
2 2
tn + tn+1 ∆t
k3 = f ( , xn + k2 )
2 2
k4 = f (tn+1 , xn + ∆tk3 )
∆t 
xn+1 = xn + k1 + 2k2 + 2k3 + k4 ,
6
et peut se réécrire, en éliminant succesivement k4 , k3 , k2 et k1
∆t 
xn+1 = xn + k1 + 2k2 + 2k3 + k4
6
∆t 
= xn + k1 + 2k2 + 2k3 + f (tn+1 , xn + ∆tk3 )
6
∆t tn + tn+1 ∆t tn + tn+1 ∆t 
= xn + k1 + 2k2 + 2f ( , xn + k2 ) + f (tn+1 , xn + ∆tf ( , xn + k2 ))
6 2 2 2 2
∆t tn + tn+1 ∆t
= xn + k1 + 2f ( , xn + k1 )
6 2 2
tn + tn+1 ∆t tn + tn+1 ∆t
+ 2f ( , xn + f( , xn + k1 ))
2 2 2 2
tn + tn+1 ∆t tn + tn+1 ∆t 
+ f (tn+1 , xn + ∆tf ( , xn + f( , xn + k1 )))
2 2 2 2
∆t tn + tn+1 ∆t
= xn + f (tn , xn ) + 2f ( , xn + f (tn , xn ))
6 2 2
tn + tn+1 ∆t tn + tn+1 ∆t
+ 2f ( , xn + f( , xn + f (tn , xn )))
2 2 2 2
tn + tn+1 ∆t tn + tn+1 ∆t 
+ f (tn+1 , xn + ∆tf ( , xn + f( , xn + f (tn , xn )))) .
2 2 2 2
Il s’agit du fameux schéma RK4 (qui est d’ordre 4).
On a vérifié que le schéma est bien explicite (xn+1 s’exprime en fonction de xn ) : ce n’était
pas surprenant étant donnée la forme du tableau de Butcher.
En pratique, on n’écrit pas le schéma sous cette forme, on garde la structure du système : on
calcule k1 , puis k2 , etc...

18

Vous aimerez peut-être aussi