M´ ethodes num´ eriques de r´ esolution d’´ equations diff´ erentielles
1 Motivation
1.1 Quelques exemples de probl` emes diff´ erentiels
Mod` ele malthusien de croissance de population
Mod´ elisation de l’´ evolution d’une population “ferm´ ee”
– P (t) : taille de la population ` a l’instant t t – P
0(t) : variations de la taille de la population
– On suppose que les nombres de naissances et de d´ ec` es sont proportionnels ` a la taille de la population, avec un taux de natalit´ e α et un taux de mortalit´ e β.
P
0(t) = αP (t) − βP (t) = (α − β )P (t) – Taille initiale de la population : P (t
0) = P
0Solution
P (t) = P
0exp((α − β)(t − t
0)).
Mod` ele dit “de croissance logistique”
Ajout d’un terme de comp´ etition entre les individus ( P
0(t) = aP (t) − bP (t)
2P (0) = P
0ß Equation diff´ erentielle non lin´ eaire Calcul de la solution par s´ eparation des variables
P
0(t)
aP (t) − bP (t)
2= 1 1
aP − bP
2= 1/a
P + b/a
a − bP = ⇒ P
0aP − bP
2= 1 a
P
0P + bP
0a − bP
Z P
0P = h
ln |P| i et
Z bP
0a − bP = h
− ln |a − bP | i Solution obtenue
P(t) = aP
0bP
0+ (a − bP
0)e
−a(t−t0)Pendule pesant non amorti O
θ(t) l
M
– Pendule de masse m, suspendu en O – Fil (OM ) non pesant et de longueur l.
θ(t) : position par rapport ` a la position d’´ equilibre (angle sign´ e).
Mouvement du pendule gouvern´ e par la
loi fondamentale de la dynamique.
Equation du mouvement :
θ(t) est solution du probl` eme diff´ erentiel :
θ
00(t) = − g
l sin(θ(t))
θ(0) = θ
0, θ
0(0) = 0 (par exemple)
ß ´ equation diff´ erentielle d’ordre 2 non lin´ eaire Pendule pesant non amorti : transformation
θ(t) est solution du probl` eme diff´ erentiel :
( θ
00(t) = −ω
2sin(θ(t))
θ(0) = θ
0, θ
0(0) = 0 par exemple
Posons : x(t) = θ(t), y(t) = θ
0(t) et Y (t) = x(t) y(t)
! . On a alors
Y
0(t) = x
0(t) y
0(t)
!
= θ
0(t) θ
00(t)
!
= θ
0(t)
−ω
2sin(θ(t))
!
= y(t)
−ω
2sin(x(t))
! .
Pendule pesant non amorti : transformation Y (t) = θ(t)
θ
0(t)
!
est solution du probl` eme diff´ erentiel : ( Y
0(t) = F(t, Y (t))
Y (0) = Y
0avec
F t, x
y
!
= y
−ω
2sin(x)
!
et
Y
0= θ
00
!
.
1.2 Forme g´ en´ erale d’une ´ equation diff´ erentielle
Equation diff´ erentielle, probl` eme de Cauchy
– On s’int´ eresse aux ´ equations diff´ erentielles du premier ordre de la forme y
0(t) = F (t, y(t))
avec F : I × R
p→ R
p(I, intervalle de R ) une fonction continue.
– Si p > 1, il s’agit en pratique d’un syst` eme diff´ erentiel.
– Le probl` eme avec condition initiale est appel´ e probl` eme de Cauchy : ( y
0(t) = F (t, y(t))
y(t
0) = y
0, t
0∈ I, y
0∈ R
p, Notion de solution
Probl` eme de Cauchy
( y
0(t) = F (t, y(t))
y(t
0) = y
0, t
0∈ I, y
0∈ R
p, Solution
Une solution du probl` eme de Cauchy est la donn´ ee d’un intervalle ˜ I et d’une fonction ϕ ∈ C
1( ˜ I, R
p) tels que
– t
0∈ I, ˜ ˜ I ⊂ I,
– ϕ
0(t) = F(t, ϕ(t)) ∀t ∈ I, ˜ – ϕ(t
0) = y
0.
Remarque
On utilise souvent la mˆ eme notation pour l’inconnue dans l’´ equation y et la solution ϕ, not´ ee y...
1.3 Un r´ esultat th´ eorique fondamental
Le th´ eor` eme de Cauchy-Lipschitz Th´ eor` eme
Consid´ erons le probl` eme de Cauchy : (∗)
( y
0(t) = F (t, y(t))
y(t
0) = y
0, t
0∈ I, y
0∈ R
p, avec F : (t, y) ∈ I × R
p→ F (t, y) ∈ R
p. Supposons que
– F est continue sur I × R
p,
– F est lipschitzienne en y, uniform´ ement en t : il existe L > 0 telle que
∀t ∈ I, ∀y
1, y
2∈ V
Rpy
0||F (t, y
1) − F(t, y
2)|| ≤ L ||y
1− y
2||.
Alors, le probl` eme de Cauchy (∗) poss` ede une unique solution. Cette solution est d´ efinie sur un intervalle
contenant t
0.
Et le calcul effectif de la solution ? – Mod` ele malthusien : OK
´
equa diff lin´ eaire d’ordre 1 ` a coeffs constants – Mod` ele de croissance logistique : OK
´
equa diff d’ordre 1, non lin´ eaire mais ` a variables s´ eparables – Pendule pesant ?
( Y
0(t) = F (t, Y (t))
Y (0) = Y
0avec F (t, x
y
!
) = y
−ω
2sin(x)
! ,
ß Il s’agit d’un syst` eme diff´ erentiel 2 × 2.
ß Le syst` eme est bien d’ordre 1... mais il est non lin´ eaire.
Calcul num´ erique d’une solution approch´ ee
Pas d’expression explicite de la solution
⇓
Calcul num´ erique d’une solution approch´ ee
0 1 2 3 4 5 6
−1.5
−1
−0.5 0 0.5 1 1.5
temps t
θ(t)
2 Mise au point de m´ ethodes num´ eriques et convergence
2.1 Principe
But
On suppose que le probl` eme de Cauchy
( y
0(t) = F (t, y(t))
y(t
0) = y
0, t
0∈ R , y
0∈ R
p,
admet une unique solution y d´ efinie sur I = [t
0, t
0+ T].
Subdivision de l’intervalle de temps
t
0t
1t
nt
n+1t
N= t
0+ T
∆t
n= t
n+1− t
n, ∆t = max
0≤n≤N
∆t
n.
L’objectif est de calculer des valeurs (Y
n)
0≤n≤N, qui soient de “bonnes” approximations de (y(t
n))
0≤n≤N. Lien avec l’int´ egration num´ erique
Int´ egration de l’´ equation
Z
tn+1tn
y
0(t) = F (t, y(t)) y(t
n+1) − y(t
n) =
Z
tn+1tn
F (t, y(t))dt Approximation
– y(t
n+1) − y(t
n) ß Y
n+1− Y
n–
Z
tn+1 tnF (t, y(t))dt ß Formule de quadrature :
RAG ≈ (t
n+1− t
n)F (t
n, y(t
n)) RAD ≈ (t
n+1− t
n)F (t
n+1, y(t
n+1))
Trap` ezes ≈ (t
n+1− t
n) F (t
n, y(t
n)) + F(t
n+1, y(t
n+1)) 2
M´ ethodes num´ eriques correspondantes
M´ ethode d’Euler explicite Þ sch´ ema explicite
Y
n+1= Y
n+ (t
n+1− t
n)F (t
n, Y
n) Y
0= y
0M´ ethode d’Euler implicite Þ sch´ ema implicite
Y
n+1= Y
n+ (t
n+1− t
n)F (t
n+1, Y
n+1) Y
0= y
0M´ ethode de Crank-Nicolson Þ sch´ ema implicite
(
Y
n+1= Y
n+ (t
n+1− t
n) F (t
n, Y
n) + F(t
n+1, Y
n+1) 2
Y
0= y
02.2 Notion de convergence
Introduction des notions d’erreur locale/erreur globale
– y(t) solution exacte de l’´ equation diff´ erentielle, – (Y
n)
0≤n≤Nvaleurs donn´ ees par le sch´ ema num´ erique
Þ y
appreconstruction d’une solution approch´ ee affine par mx Erreur locale e
n= y(t
n) − Y
nErreur globale E(∆t) = max
0≤n≤N
|e
n| ( ! : N d´ epend de ∆t) D´ efinition de la convergence
La m´ ethode num´ erique est dite convergente si E (∆t) = max
0≤n≤N
|e
n| −→ 0.
∆t → 0
2.3 Convergence de la m´ ethode d’Euler explicite
Erreur de consistance Probl` eme de Cauchy
y
0(t) = F (t, y(t)) y(t
0) = y
0ß solution exacte : y
M´ ethode d’Euler explicite
Y
n+1= Y
n+ ∆tF (t
n, Y
n) Y
0= y
0ß sch´ ema num´ erique : (Y
n)
D´ efinition
L’erreur de consistance (locale) ` a l’instant n est d´ efinie comme l’erreur commise par la solution exacte dans le sch´ ema num´ erique :
ε
n= y(t
n+1) − y(t
n) − ∆tF (t
n, y(t
n)).
Estimation de l’erreur de consistance Probl` eme de Cauchy
y
0(t) = F (t, y(t)) y(t
0) = y
0M´ ethode d’Euler explicite
Y
n+1= Y
n+ ∆tF (t
n, Y
n) Y
0= y
0ß on suppose que la solution exacte v´ erifie y ∈ C
2([t
0, t
0+ T ]
| {z }
I
, R ) ε
n= y(t
n+1) − y(t
n) − ∆tF (t
n, y(t
n)) Mais,
– y(t
n+1) = y(t
n) + ∆ty
0(t
n) + ∆t
22 y
00(ξ
n) – y
0(t
n) = F (t
n, y(t
n))
D’o` u,
ε
n= ∆t
22 y
00(ξ
n).
Majoration de l’erreur de consistance
ε
n= ∆t
22 y
00(ξ
n).
Majoration
M
2= sup
[t0,t0+T]
|y
00(t)| = ⇒ |ε
n| ≤ M
22 ∆t
2. Remarque : lien entre y
00and F
y
0(t) = F(t, y(t)), y
00(t) = ∂F
∂t (t, y(t)) + ∂F
∂y (t, y(t))y
0(t)
= ∂F
∂t (t, y(t)) + ∂F
∂y (t, y(t))F (t, y(t)).
Erreur due au sch´ ema num´ erique
– La solution exacte et le sch´ ema num´ erique v´ erifient :
y(t
n+1) = y(t
n) + ∆t F (t
n, y(t
n)) + ε
nY
n+1= Y
n+ ∆t F (t
n, Y
n) – Alors, comme e
n= y(t
n) − Y
n, on obtient
e
n+1= e
n+ ∆t F (t
n, y(t
n)) − F (t
n, Y
n) + ε
n.
– Si F est localement lipschitzienne en y uniform´ ement en t (hypoth` ese du thm de Cauchy-Lipschitz),
on a
F (t
n, y(t
n)) − F (t
n, Y
n) ≤ L|e
n| et
|e
n+1| ≤ |e
n|(1 + L∆t) + |ε
n|.
Deux lemmes interm´ ediaires Lemme 1
Soit (θ
n)
n≥0une suite positive v´ erifiant
∀0 ≤ n ≤ N, θ
n+1≤ aθ
n+ α, avec a ≥ 0 et α ≥ 0.
Alors, ∀1 ≤ n ≤ N + 1,
θ
n≤ a
nθ
0+ α
n−1
X
i=0
a
i= a
nθ
0+ α 1 − a
n1 − a Lemme 2
De plus, si a = 1 + ρ avec ρ > 0, comme (1 + ρ)
n≤ e
nρ, on a θ
n≤ e
nρθ
0+ α
ρ (e
nρ− 1), ∀1 ≤ n ≤ N + 1.
Fin de la preuve de convergence – On a, pour tout 0 ≤ n ≤ N − 1
|e
n+1| ≤ |e
n|(1 + L∆t) + |ε
n|,
≤ |e
n|(1 + L∆t) + M
22 ∆t
2. – On applique le Lemme 2 avec ρ = L∆t et α = M
22 ∆t
2:
|e
n| ≤ e
nL∆t|e
0| + M
22L ∆t(e
nL∆t− 1), ∀1 ≤ n ≤ N.
– Mais, pour 1 ≤ n ≤ N , n∆t ≤ N∆t = T et
|e
n| ≤ e
LT|e
0| + M
22
e
LT− 1
L ∆t, ∀1 ≤ n ≤ N.
– Ainsi, si e
0= 0, E (∆t) ≤ M
22
e
LT− 1 L ∆t et
∆t→0
lim E(∆t) = 0.
Convergence du sch´ ema d’Euler explicite Th´ eor` eme
– Soit F ∈ C
1(I × R ), t
0, T tels que [t
0, t
0+ T ] ∈ I, y
0∈ R . – On suppose qu’il existe L > 0 tel que
|F (t, z
1) − F(t, z
2)| ≤ L|z
1− z
2| ∀t ∈ [t
0, t
0+ T ], ∀z
1, z
2∈ R .
– y est la solution exacte du probl` eme de Cauchy et (Y
n)
0≤n≤Nla suite obtenue par le sch´ ema d’Euler explicite.
Alors, l’erreur locale d´ efinie par e
n= y(t
n) − Y
nv´ erifie
|e
n| ≤ e
LT|e
0| + M
22
e
LT− 1
L ∆t, ∀1 ≤ n ≤ N.
si e
0= 0, le sch´ ema est convergent :
∆t→0
lim E(∆t) = 0 (E(∆t) = max
0≤n≤N
|e
n|).
2.4 Cadre g´ en´ eral des m´ ethodes ` a un pas
D´ efinition
– On limite la pr´ esentation au cas o` u la subdivision (t
n)
0≤n≤Nest r´ eguli` ere : t
n= t
0+ n∆t avec ∆t = T
N .
– Une m´ ethode ` a un pas, pour l’approximation du probl` eme de Cauchy sur une subdivision r´ eguli` ere, est de la forme :
( Y
n+1= Y
n+ ∆t Φ
F(t
n, Y
n, ∆t), ∀0 ≤ n ≤ N − 1 Y
0= y
0(ou une valeur approch´ ee ˜ y
0de y
0) avec Φ
F: [t
0, t
0+ T] × R
p× [0, k
∗] → R
pune fonction continue.
– Exemple : Φ
F(t, Y, k) = F (t, Y ) ß m´ ethode d’Euler explicite.
Notion de consistance Probl` eme de Cauchy
y
0(t) = F (t, y(t)) y(t
0) = y
0ß hyp : y ∈ C
2M´ ethode ` a un pas
Y
n+1= Y
n+ ∆tΦ
F(t
n, Y
n, ∆t) Y
0= y
0ß hypoth` ese : Φ
F∈ C
1L’erreur de consistance de la m´ ethode ` a un pas est d´ efinie par
ε
n= y(t
n+1) − y(t
n) − ∆tΦ
F(t
n, y(t
n), ∆t)
La m´ ethode est dite consistante si pour toute solution du probl` eme de Cauchy on a
∆t→0
lim
N
X
n=0
|ε
n| = 0.
Consistance et ordre
La m´ ethode est dite d’ordre p si, pour toute solution du probl` eme de Cauchy, il existe un r´ eel K ind´ ependant de ∆t tel que
N
X
n=0
|ε
n| ≤ K ∆t
p.
– En pratique, on obtient l’ordre p en montrant :
|ε
n| ≤ K ∆t
p+1∀0 ≤ n ≤ N.
– p ≥ 1 = ⇒ consistance.
Condition n´ ecessaire et suffisante de consistance D´ eveloppement de ε
nen puissances de ∆t – y(t
n+1) = y(t
n) + ∆ty
0(t
n) + ∆t
22 y
00(ξ
n) – y
0(t
n) = F (t
n, y(t
n))
– Φ
F(t
n, y(t
n), ∆t) = Φ
F(t
n, y(t
n), 0) + ∆t ∂Φ
F∂k (t
n, y(t
n), ζ) ε
n= ∆t
F (t
n, y(t
n)) − Φ
F(t
n, y(t
n), 0) +∆t
2y
00(ξ
n) 2 − ∂Φ
F∂k (t
n, y(t
n), ζ)
Th´ eor` eme
Une m´ ethode ` a un pas est consistante si et seulement si
∀(t, z) ∈ [t
0, t
0+ T ] × R Φ
F(t, z, 0) = F (t, z). (∗)
En effet, si (∗) est satisfaite, on a ε
n= O(∆t
2).
Erreur due au sch´ ema num´ erique
– La solution exacte et le sch´ ema num´ erique v´ erifient :
y(t
n+1) = y(t
n) + ∆t Φ
F(t
n, y(t
n), ∆t) + ε
nY
n+1= Y
n+ ∆t Φ
F(t
n, Y
n, ∆t) – Alors, comme e
n= y(t
n) − Y
n, on obtient :
e
n+1= e
n+ ∆t Φ
F(t
n, y(t
n), ∆t) − Φ
F(t
n, Y
n, ∆t) +ε
n. – Si on a
Φ
F(t
n, y(t
n), ∆t) − Φ
F(t
n, Y
n, ∆t)
≤ Λ|y(t
n) − Y
n|, alors
|e
n+1| ≤ |e
n|(1 + Λ∆t) + |ε
n|.
ß idem sch´ ema d’Euler explicite
Stabilit´ e d’une m´ ethode ` a un pas D´ efinition
S’il existe Λ > 0 tel que ∀t ∈ [t
0, t
0+ T], ∀z
1, z
2∈ R , ∀k ∈ [0, k
∗],
|Φ
F(t, z
1, k) − Φ
F(t, z
2, k)| ≤ Λ|z
1− z
2| alors la m´ ethode ` a un pas est dite stable.
Par cons´ equent,
– si la m´ ethode ` a un pas est stable, on a
|e
n+1| ≤ |e
n|(1 + Λ∆t) + |ε
n|.
– si elle est ´ egalement consistante, on prouve sa convergence de la mˆ eme fa¸ con que pour le sch´ ema d’Euler explicite.
ß stabilit´ e + consistance = ⇒ convergence Ordre et vitesse de convergence
– La stabilit´ e nous donne :
|e
n+1| ≤ |e
n|(1 + Λ∆t) + |ε
n|.
– Si |ε
n| ≤ K∆t
p+1, on obtient grˆ ace au Lemme 2 :
|e
n| ≤ e
ΛT|e
0| + K e
ΛT− 1
Λ ∆t
p∀0 ≤ n ≤ N.
– Si |e
0| = 0, on a donc
E(∆t) ≤ C∆t
p.
ß la m´ ethode num´ erique est d’autant plus pr´ ecise qu’elle est d’ordre ´ elev´ e.
3 Les m´ ethodes de Runge-Kutta
Premiers exemples
Les m´ ethodes de Runge-Kutta sont des m´ ethodes ` a un pas o` u la fonction F est ´ evalu´ ee plusieurs fois par intervalle de la subdivision. L’objectif est bien sˆ ur de gagner en pr´ ecision (en ordre...).
Avec la m´ ethode des trap` ezes
y(t
n+1) − y(t
n) =
Z
tn+1 tnF (t, y(t))dt
≈ ∆t 2
F (t
n, y(t
n)) + F (t
n+1, y(t
n+1)) M´ ethode de Heun
( Y
n,1= Y
nY
n,2= Y
n+ ∆tF (t
n, Y
n,1) Y
n+1= Y
n+ ∆t
2
F (t
n, Y
n,1) + F (t
n+1, Y
n,2)
.
Premiers exemples
Avec les rectangles aux points milieux y(t
n+1) − y(t
n) =
Z
tn+1 tnF (t, y(t))dt
≈ ∆tF (t
n+ ∆t
2 , y(t
n+ ∆t 2 )) M´ ethode d’Euler modifi´ ee
Y
n,1= Y
nY
n,2= Y
n+ ∆t
2 F (t
n, Y
n,1) Y
n+1= Y
n+ ∆tF (t
n+ ∆t
2 , Y
n,2).
M´ ethodes de Runge-Kutta explicites Forme g´ en´ erale
t
nt
n,it
n+1
∀1 ≤ i ≤ s,
t
n,i= t
n+ c
i∆t, Y
n,i= Y
n+ ∆t
i−1
X
j=1
a
ijF(t
n,j, Y
n,j),
Y
n+1= Y
n+ ∆t
s
X
i=1
b
iF(t
n,i, Y
n,i).
Notation avec le tableau de Butcher c
10 0 · · · 0 c
2a
210 · · · 0 .. . .. . .. . . . . .. . c
sa
s1a
s2· · · 0 b
1b
2· · · b
savec
s
X
j=1
b
j= 1,
s
X
j=1
a
ij= c
i, ∀1 ≤ i ≤ s.
Exemples s = 1
Euler explicite 0 0
1 s = 2
Heun
0 0 0
1 1 0
1 2
1 2
Euler modifi´ e
0 0 0
1 2
1
2 0
0 1
Cas g´ en´ eral (α ∈]0, 1])
0 0 0
α α 0
1 − 1 2α
1 2α Le fameux sch´ ema RK4
0 0 0 0 0
1 2
1
2
0 0 0
1
2
0
120 0
1 0 0 1 0
1 6
1 3
1 3
1 6