Académique Documents
Professionnel Documents
Culture Documents
J. Gergaud
16 décembre 2010
Table des matières
I Théorie mathématique 1
1 Introduction 3
I Objectifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
II Terminologie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
III Qu’est-ce qu’une solution ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
II Intégration numérique 25
4 Introduction 27
I Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
II Exemples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
II.1 Exemple 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
II.2 Modèle de Lorenz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
II.3 Exemple de Roberston . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
i
ii TABLE DES MATIÈRES
VII Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
A 51
I Théorèmes de points fixes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
II Topologie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
III Développement de Taylor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Première partie
Théorie mathématique
1
Chapitre 1
Introduction
I Objectifs
Dans ce document K désignera le corps des réels R ou des complexes C.
L’objectif de ce cours est l’étude mathématique, algorithmique et numérique des systèmes différentielles à
condition initiale aussi appelé problème de Cauchy
1 ẏ(t) = ϕ(t, y(t))
(IV P )
y(t0 ) = y0 ,
où
ϕ : Ω ⊂ R × Kn −→ Kn
(t, y) 7−→ ϕ(t, y),
Ω ouvert et (t0 , y0 ) ∈ Ω.
Nous ne traiterons ni les équations à retard[5]
ẏ(t) = ϕ(t, y(t), y(t − τ ))
(DDE) 2
y(t) = f (t) ∀t ∈ [t0 − τ, t0 ],
ni les équations différentielles algébriques[6]
ẏ(t) = ϕ(y(t), z(t))
(DAE) 3 ψ(y(t), z(t)) = 0
y(t0 ) = y0 , z(t0 ) = z0 .
II Terminologie
– On appellera équation différentielle toute équation ẏ(t) = ϕ(t, y(t)) (c’est-à-dire sans la condition initiale).
– Si la fonction ϕ ne dépend pas explicitement du temps, c’est-à-dire que l’équation différentielle s’écrit
ẏ(t) = ϕ(y(t)), on dit que l’équation différentielle est autonome.
– L’équation différentielle est dite linéaire 4 si elle s’écrit ẏ(t) = A(t)y(t) + b(t).
– y : I −→ Kn ;
– A : I −→ L(Kn , Kn ) ≡ Mn (K) ;
– b : I −→ Kn .
– Elle est dite linéaire et homogène ou sans terme constant si elle s’écrit ẏ(t) = A(t)y(t) ;
– Elle est dite linéaire à coefficients constants si elle s’écrit ẏ(t) = Ay(t) + b.
3
4 CHAPITRE 1. INTRODUCTION
Définition III.1 (Définition classique) On suppose ϕ continue. On appelle solution classique de (IV P ) tout
couple (I, y), I intervalle ouvert de R, contenant t0 et y : I → Kn dérivable en tout point et vérifiant
(i) (t, y(t)) ∈ Ω, ∀t ∈ I
(ii) ẏ(t) = ϕ(t, y(t)), ∀t ∈ I
(iii) y(t0 ) = y0 .
Une solution est aussi appelée une courbe intégrale de l’équation différentielle.
Remarque III.2
Si ϕ est continue (respectivement C k ) et (I, y) est une solution alors y(t) est C 1 (respectivement C k+1 ).
On rappelle qu’une fonction y : I → Kn est localement absolument continue si elle est absolument continue sur
tout intervalle compact de I.
Définition III.3 (Solution faible) On appelle solution faible de (IV P ) tout couple (I, ϕ), I intervalle ouvert de
R contenant t0 et y : I → Kn localement absolument continue vérifiant
(i) (t, y(t)) ∈ Ω, ∀t ∈ I
(ii) ẏ(t) = ϕ(t, y(t)), pour presque tout t ∈ I
(iii) y(t0 ) = y0 .
Remarque III.4
Si ϕ est continue et y est une solution faible alors l’application t → ϕ(t, y(t)) est continue. Par suite la dérivée de
y(t) qui existe presque partout est égale à une fonction continue. Donc ẏ(t) existe partout sur I et y est une solution
classique.
Théorème III.5
(I, y) est une solution faible de (IV P ) si et seulement si (t, y(t)) ∈ Ω pour tout t dans I, la fonction t 7→ ϕ(t, y(t))
est localement intégrable et Z t
y(t) = y0 + ϕ(s, y(s))ds.
t0
Démonstration
– Si (I, y) est une solution faible, y(.) est absolument continue, alors (corollaire 2.41.5 de [11])
Z t Z t
y(t) = y0 + ẏ(s)ds = y0 + ϕ(s, y(s))ds.
t0 t0
– Réciproque.
Si l’application t 7→ ϕ(t, y(t)) est dans L1 et que l’on a
Z t
y(t) = y0 + ϕ(s, y(s))ds,
t0
alors (théorème 2.40.2 de [11]) ẏ(t) = ϕ(t, y(t)) presque partout. Donc (I, y) est une solution faible.
2
Dans toute la suite de ce document on supposera, sauf lorsque cela sera mentionné, que la fonction ϕ est continue.
Chapitre 2
I Introduction
Dans tout ce chapitre I sera un intervalle de R et K sera le corps des réels ou des complexes. L’objectif de ce
chapitre est l’étude mathématique des équations différentielles linéaires
où
– y : I −→ Kn ;
– A : I −→ L(Kn , Kn ) ≡ Mn (K) ;
– b : I −→ Kn .
Ce chapitre est fortement inspiré du cours polycopié de Frédéric Jean [7]. Nous commencerons par le cas des
équations linéaires homogènes et autonomes ẏ(t) = Ay(t), puis nous étudierons le cas non autonome ẏ(t) = A(t)y(t)
et le cas générale des équations linéaires ẏ(t) = A(t)y(t) + b(t).
Exemple II.1
On considère l’équation différentielle ordinaire linéaire scalaire
ẏ(t) = λy(t)
(IV P 1)
y(t0 ) = y0 ,
où λ est un réel et y est une fonction de R dans R. On sait que la solution de cette équation, qui est unique (cf. le
théorème III.1 ci-après), est donnée par
y(t) = eλ(t−t0 ) y0 .
On en déduit que cette solution est définie sur I = R et que l’on a comme comportement asymptotique
– Si λ < 0 alors limt→+∞ y(t) = 0 ;
– Si λ = 0 alors y(t) = y0 ;
– Si λ > 0
– Si y0 < 0 alors limt→+∞ y(t) = −∞ ;
– Si y0 = 0 alors y(t) = 0 ;
– Si y0 > 0 alors limt→+∞ y(t) = +∞.
Exemple II.2
Considérons maintenant un système de deux équations différentielles
ẏ1 (t) = λ1 y1 (t)
ẏ2 (t) = λ2 y2 (t)
(IV P 2)
y1 (t0 ) = y0,1
y2 (t0 ) = y0,2 .
5
6 CHAPITRE 2. ÉQUATIONS DIFFÉRENTIELLES LINÉAIRES
Exemple II.3
Si maintenant nous considérons le cas du système différentiel
ẏ(t) = Λy(t)
(IV P 3)
y(t0 ) = y0 ,
avec
λ1 ··· 0
.. .. .. .
Λ = diag(λ1 , . . . , λn ) = . . .
0 ··· λn
La solution est alors
e(t−t0 )λ1 y0,1
(t−t )λ
e 0 1
··· 0
. . .. ..
y(t) = .. = .. y0 = e(t−t0 )Λ y0 .
. .
e(t−t0 )λn y0,n 0 ··· e(t−t0 )λn
Exemple II.4
Soit maintenant A une matrice diagonalisable, A = P ΛP −1 et le système différentiel à valeur initiale
ẏ(t) = Ay(t)
(IV P 4)
y(t0 ) = y0 ,
Posons z(t) = P −1 y(t), alors z(t) est solution su système différentielle à valeur initiale
On a donc z(t) = e(t−t0 )Λ P −1 y0 et y(t) = P z(t) = (P e(t−t0 )Λ P −1 )y0 . Par suite le comportement asymptotique est
caractérisé par les valeurs propres de la matrice A.
Théorème II.6
L’exponentielle de matrice a les propriétés suivantes :
II. ÉQUATIONS DIFFÉRENTIELLES LINÉAIRES HOMOGÈNES AUTONOMES 7
(i) e0 = I ;
(ii) si A = diag(λ1 , . . . , λn ) alors
eλ1
··· 0
exp(A) = ... .. .. ; (2.1)
. .
λn
0 ··· e
d tA
e = AetA = etA A. (2.5)
dt
Démonstration
(i) Évident.
(ii) Il suffit d’écrire la définition.
(iii) On a
P Ak P −1
exp(P AP −1 ) = P IP −1 + P AP −1 + · · · + ···
k!
Ak
= P I + A + ··· + + · · · P −1 .
k!
(A + B)m
eA+B = I + (A + B) + · · · + + ···
m!
Mais A et B commutent, la formule du binôme permet alors d’écrire
m
X
(A + B)m = k k m−k
Cm A B .
k=0
Ak Bk
eA eB = I + A + · · · + + ··· I + B + ··· + + ···
k! k!
m
!
k m−k
X A B
= I + (A + B) + · · · + ···
k! (m − k)!
k=0
m
!
1 X m! k m−k
= I + (A + B) + · · · A B + ···
m! k!(m − k)!
k=0
d’où le résultat.
(v) C’est immédiat car αA et βA commutent.
(vi) Il suffit d’écrire eA−A = eA e−A = I.
8 CHAPITRE 2. ÉQUATIONS DIFFÉRENTIELLES LINÉAIRES
(vii) Posons
f : R −→ Mn (K)
t 7−→ etA .
La série définissant l’application f (t) est normalement convergente, par suite elle est uniformément convergente
sur tout intervalle compacte I de R. La série des termes dérivées s’écrit
tk Ak
A I + A + ··· + + · · · = AetA .
(k)!
Cette série est normalement convergente. On en déduit qu’elle est égale à f 0 (t).
2
Théorème II.7
L’unique solution du système différentielle linéaire, autonome et homogène à valeur initial
ẏ(t) = Ay(t)
(IV P 6)
y(t0 ) = y0 ,
est
y(t) = e(t−t0 )A y0 . (2.6)
Démonstration
Soit y vérifiant (2.6), la propriété (2.5) implique alors que
d (t−t0 )A
ẏ(t) = (e y0 ) = Ae(t−t0 )A y0 = Ay(t).
dt
Comme on a y(t0 ) = y0 , c’est bien une solution.
Supposons maintenant que y soit une solution de (IV P 6). Posons z(t) = e−(t−t0 )A y(t), alors
car A et e−(t−t0 )A commutent. Par suite z(t) = z(t0 ) = y0 pour tout t et y(t) = e(t−t0 )A z(t) = e(t−t0 )A y0 . 2
1
1 0
A= ,
0 2
2
0 1
A= ,
0 0
3
0 1
A= ,
−1 0
4
0 1 0
A = 0 0 1 .
0 0 0
Remarque II.9
Si A est une matrice réelle diagonalisable dans C, eA = P eΛ P −1 est aussi une matrice réelle.
Exercice II.10
Soit a ∈ R, à partir de la diagonalisation dans C, calculer
0 −a
exp
a 0
II. ÉQUATIONS DIFFÉRENTIELLES LINÉAIRES HOMOGÈNES AUTONOMES 9
Dans le cas général, pour calculer l’exponentiel d’une matrice, on va utiliser sa décomposition de Jordan [1]. On
note respectivement P (λ) et m(λ) les polynomes caractéristique et minimale de A ∈ Mn (C)
r
Y
P (λ) = (λ − λi )pi
i=1
Yr
m(λ) = (λ − λi )mi ,
i=1
λ1
..
.
λ1
N1
Λ=
.. , N =
.. ,
. .
λr
Nr
. .
.
λr
où λi est présent pi fois dans Λ et où N est nilpotent. Pour aller plus loin nous allons utilisé la décomposition sous
la forme de Jordan.
Démonstration
cf. [1]. 2
En conclusion, nous avons
tni,k −1
etJ1,1
1 t ... (ni,k −1)!
exp(tA) = P etJ P −1 =
.. ,
etJi,k = etλi
.. ..
. . . t
etJr,er 1
10 CHAPITRE 2. ÉQUATIONS DIFFÉRENTIELLES LINÉAIRES
r
X m
X i −1
tλi
y(t) = e tk vi,k (2.7)
i=1 k=0
où vi,k ∈ Γi .
Remarque II.13
– Le terme en λi est polynomiale en t lorsque mi > 1, et constant lorsque mi = 1 (ce dernier cas se produit si et
seulement si les ordres de multiplicités algébrique et géométrique de λi coı̈ncident.
– Fixons y(0) = y0 = v1 + · · · + vr , avec vi ∈ Γi . Cette décomposition de y0 existe et est unique car Cn =
Γ1 ⊕ · · · ⊕ Γr . Alors en écrivant les dérivées successives en 0 dans la formule (2.7) et en utilisant le fait que
dk y
dtk
(0) = Ak y0 , on obtient
1
vi,k = N k vi
k!
où N est la matrice nilpotente de la décomposition Λ + N de P −1 AP .
Considérons maintenant le cas d’une matrice à coefficients dans R et d’une solution dans Rn . On peut bien
évidemment considérer A comme une matrice complexe, prendre comme condition initiale y0 + i0, appliquer le
théorème II.12, puis prendre la partie réelle. Mais on peut profiter du fait que si une valeur propre est complexe, sa
valeur conjuguée est aussi une valeur propre et on peut décomposer Rn comme la somme directe
Rn = E1 ⊕ · · · ⊕ Eq ,
où Ei = Γλi ∩ Rn si λ est une valeur propre réelle et Ei = (Γλi ⊕ Γλ̄i ) ∩ Rn si λi est une valeur propre complexe.
On obtient ainsi le
Théorème II.14
Si A est une matrice réelle, l’ensemble des solutions réelles s’écrit
q
X X
y(t) = etαi tk (cos(βi t)ai,k + sin(βi t)bi,k ),
i=1 0≤k≤mi −1
Corollaire II.15
Si A est une matrice réelle diagonalisable dans C, alors toute solution de ẏ(t) = Ay(t) s’écrit
q
X
y(t) = etαi (cos(βi t)ai + sin(βi t)bi )
i=1
avec λ1 , . . . , λs , valeurs propres réelles de A, λs+1 , λ̄s+1 , . . . , λq , λ̄q , valeurs propres complexes conjuguées de A,
λj = αj + iβj et aj + ibj vecteur propre de A associée à λj
Démonstration
Ceci est aussi démontré au corollaire (3.I.12). Démontrons tout d’abord l’existence. On considère un intervalle
compact J ⊂ I qui contient t0 . Nous allons démontrer que l’application
T : E = (C 0 (J, Kn ), k.k∞ ) −→ E
Z .
y(.) 7−→ T (y(.)) = y0 + (A(s)y(s) + b(s))ds,
t0
admet un point fixe. Le théorème (1.III.5) permettra alors de conclure que le problème de Cauchy admet une
solution sur tout intervalle compact J ⊂ I et donc sur tout I. Pour démontrer que l’application T admet un point
fixe, nous allons utiliser le théorème du point fixe qui dit que si T , application d’un espace de Banach dans lui
même, admet un itéré T p qui est contractant pour p ≥ 1, alors T admet un point fixe (cf. A.I.2). Remarquons tout
d’abord que T est bien une application de E dans E et que E est un espace de Banach. Considérons maintenant
deux éléments de E, y1 (.) et y2 (.). Nous avons
Z t
k(T (y1 (.)) − T (y2 (.)))(t)k = k (A(s)(y1 (s) − y2 (s)))dsk
t0
Z t
= kA(s)(y1 (s) − y2 (s))kds
t0
Z t
≤ kA(.)k∞ ky1 (s) − y2 (s)kds
t0
≤ kA(.)k∞ ky1 (.) − y2 (.)k∞ (t − t0 ),
où ky(.)k∞ = maxt∈J ky(t)k. Comme J = [a, b], car c’est un intervalle compact de R, on a
Ceci montre en particulier que T est continue. Montrons maintenant par récurrence que l’on a
(t − t0 )p
k(T p (y1 (.)) − T p (y2 (.)))(t)k ≤ kA(.)kp∞ ky1 (.) − y2 (.)k∞ (2.8)
p!
kA(.)kp∞ (b − a)p
et kT p (y1 (.)) − T p (y2 (.))k∞ ≤ ky1 (.) − y2 (.)k∞ (2.9)
p!
L’assertion est vraie pour p = 1. Supposons la vraie pour p et montrons là pour p + 1.
k(T p+1 (y1 (.)) − T p+1 (y2 (.)))(t)k = k(T (T p y1 (.)) − T (T p y2 (.)))(t)k
Z t
=k (A(s)(T p y1 (s) − T p y2 (s)))dsk
t0
Z t
≤ kA(.)k∞ kT p y1 (s) − T p y2 (s)kds
t0
t
(s − t0 )p
Z
≤ kA(.)k∞ kA(.)kp∞ ky1 (.) − y2 (.)k∞ ds
t0 p!
(t − t0 )p+1
≤ kA(.)kp+1
∞ ky1 (.) − y2 (.)k∞
(p + 1)!
kA(.)k∞ (b − a)p
<1
p!
pour conclure. 2
12 CHAPITRE 2. ÉQUATIONS DIFFÉRENTIELLES LINÉAIRES
III.3 Résolvante
On considère ici l’équation linéaire homogène
Théorème III.2
L’ensemble des solutions de l’équation différentielle linéaire et homogène (2.10) E est un espace vectoriel de dimension
n.
Démonstration
Le fait que E soit un espace vectoriel est immédiat. Considérons maintenant l’application
Lt0 : Kn −→ E
y0 7−→ y(., t0 , y0 )
où y(., t0 , y0 ) est l’unique solution de l’équation différentielle (2.10) vérifiant y(t0 ) = y0 . Il est évident que cette
application est linéaire. Le théorème III.1 d’existence et d’unicité de solution implique que cette application est une
bijection, d’où le résultat en ce qui concerne la dimension. 2
Définition III.3 On appelle résolvante de l’équation différentielle linéaire et homogène ẏ(t) = A(t)y(t) l’application
R(t, t0 ) : Kn −→ Kn
y0 7−→ y(t, t0 , y0 ).
Théorème III.4
(i) On a R(t, t0 ).y0 = y(t, t0 , y0 ).
(ii) Si le système est autonome on a R(t, t0 ) = e(t−t0 )A .
(iii) Pour tout t0 fixé, R(., t0 ) est la solution du problème de Cauchy
Ẏ (t) = A(t)Y (t)
(IV P 8)
Y (t0 ) = In .
Démonstration
(i) Le théorème d’existence et d’unicité de solution et la nature de l’équation différentielle ẏ(t) = A(t)y(t),
implique que R(t, t0 ) est une application linéaire et bijective, L’application R(t, t0 ) est donc un isomorphisme
de Kn sur Kn et on a y(t, t0 , y0 ) = R(t, t0 )y0 .
(ii) Évident.
(iii) Dans le problème (IV P 8), Y (t) est une matrice (n, n) et In est la matrice identité d’ordre n. La propriété
provient immédiatement du fait que
∂
(R(t, t0 )y0 ) = A(t)(R(t, t0 )y0 ),
∂t
et du fait que R(t0 , t0 ) = In par définition.
(iv) Il s’agit tout simplement de la composée de deux applications linéaires.
(v) Il suffit de remarquer que R(t0 , t1 ) × R(t1 , t0 ) = R(t0 , t0 ) = In .
(vi) Cela provient des propriétés des solutions d’une équation différentielle.
2
Théorème III.5
L’application R : I × I → Mn (K) qui à (t, s) associe R(t, s) est continue et de classe C k+1 si A(.) est de classe C k .
III. ÉQUATIONS LINÉAIRES 13
Démonstration
On peut écrire R(t, s) = R(t, t0 ) × (R(s, t0 ))−1 . Or l’application R(., t0 ) : I → Mn (K) est continue car c’est la
solution de (IV P 8). On sait de plus que l’application
est continue.
On en déduit par composition des fonctions que R est continue.
Si A(.) est C k , alors R(., t0 ) est C k+1 . Comme Φ et inv sont C ∞ , on a, toujours par composition R qui est C k+1 . 2
Exercice III.6
Soit R(t, t0 ) la résolvante de l’équation différentielle linéaire
ẏ(t) = A(t)y(t).
1 On considère l’application
˙
∆(t) = trace(A(t))∆(t)
(IV P )
∆(t0 ) = 1.
3 En déduire que
Z t
det(R(t, t0 )) = exp trace(A(s))ds .
t0
On se place ici dans le cas où le corps K est le corps des réels. Une conséquence du corollaire précédent est que si
la trace de l’opérateur A(t) est constamment nulle, alors l’équation différentielle conserve le volume d’un domaine de
Rn . En effet, si on note Γ0 un domaine de Rn et Γt son transport de t0 à t par l’équation différentielle, c’est-à-dire
s’écrit Z t
y(t) = R(t, t0 )y0 + R(t, s)b(s)ds. (2.11)
t0
Démonstration
Nous allons appliquer la méthode de la variation de la constante. Posons z(t) = R(t, t0 )v(t), nous avons alors
d
ż(t)(t) = R(t, t0 ) v(t) + R(t, t0 )v̇(t)
dt
= A(t)R(t, t0 )v(t) + R(t, t0 )v̇(t)
= A(t)z(t) + R(t, t0 )v̇(t).
Il suffit alors de poser R(t, t0 )v̇(t) = b(t), soit v̇(t) = R(t0 , t)b(t), pour que z vérifie l’équation linéaire. Si on pose
Rt
maintenant v(t) = t0 R(t0 , s)b(s)ds, on obtient pour z une solution qui vérifie z(t0 ) = 0. En conclusion, si on prend
pour conclure. 2
Chapitre 3
I Existence
On s’intéresse au problème de Cauchy suivant
ẏ(t) = ϕ(t, y(t))
(IV P )
y(t0 ) = y0 ,
où
ϕ : Ω ⊂ R × Rn −→ Rn
(t, y) 7−→ ϕ(t, y)
Ω ouvert et (t0 , y0 ) ∈ Ω.
Théorème I.2
Si ϕ est différentiable par rapport à y et si l’application
∂ϕ
: Ω −→ L(Rn , Rn )
∂y
∂ϕ
(t, y) 7−→ (t, y)
∂y
est continue alors ϕ est localement lipschitzienne.
Démonstration
C’est un corollaire du théorème des accroissements finis (cf. le corallaire 1.3.6 page 17 de [11]). 2
Remarque I.4
Par unique solution locale on entend : si (I1 , y1 ) et (I2 , y2 ) sont deux solutions de (IV P ) alors elles coı̈ncident sur
I1 ∩ I2 .
Démonstration
Nous allons appliquer le théorème du point fixe I.2 à l’application
T :E −→ E
y 7−→ T (y),
15
16 CHAPITRE 3. THÉORIE DES ÉQUATIONS DIFFÉRENTIELLES
Rn Ω
pente M
y(t)
r0
y0
| | | | |
t0 − η t0 − η0 t0 t0 + η0 t0 + η t
Figure 3.1 – Cylindre de sécurité ; y(t) est dans le cylindre de sécurité [t0 − η0 , t0 + η0 ] × Bf (y0 , r0 ), mais n’est pas
dans le cylindre initial [t0 − η, t0 + η] × Bf (y0 , r0 ). Ceci implique que ||ϕ(t, T (y)(t))|| ≤ M .
définie par
Z t
T (y)(t) = y0 + ϕ(s, y(s))ds.
t0
Il nous faut pour cela construire tout d’abord l’espace d’espace métrique complet E, puis montrer que T est bien
définie et qu’il existe un entier p pour lequel T p est une contraction.
Définissons donc tout d’abord E. Comme ϕ est localement lipschitzienne, il existe Vf = [t0 − η, t0 + η] × Bf (y0 , r0 )
voisinage de (t0 , y0 ) sur lequel ϕ est k−lipschitzienne. ϕ est continue, donc supVf ||ϕ(t, y)|| = M . Si M = 0 alors le
théorème est évident. Si M 6= 0, on pose η0 = min(η, r0 /M ) et C = [t0 − η0 , t0 + η0 ] × Bf (y0 , r0 ) ; C s’appelle le
cylindre de sécurité (cf. la Fig. 3.1). Posons maintenant E = C 0 ([t0 − η0 , t0 + η0 ], Bf (y0 , r0 )) et d la distance sur E
définie par d(y1 , y2 ) = sup[t0 −η0 ,t0 +η0 ] ||y1 (t) − y2 (t)||. (E, d) est alors un espace métrique complet.
Rt
Montrons maintenant que l’application T est bien définie. y est continue, ϕ est continue donc y0 + t0 ϕ(s, y(s))ds ∈
Rn existe. Il nous reste à vérifier que cette quantité est bien dans Bf (y0 , r0 ) ; c’est ici que nous allons utiliser le
cylindre de sécurité. Mais ceci est immédiat car
Z t Z t
||T (y)(t) − y0 || = || ϕ(s, y(s))ds|| ≤ ||ϕ(s, y(s))||ds
t0 t0
Z t
≤ M ds = M (t − t0 ) ≤ M (r0 /M ) = r0 .
t0
Nous avons donc montrer l’existence et l’unicité de la solution dans E. Il reste donc à montrer pour l’unicité
que toute solution définie sur [t0 − η0 , t0 + η0 ] est à valeur dans la boule Bf (y0 , r0 ). Raisonnons par l’absurde et
supposons qu’il existe une solution v telle que
A = {t ∈ [t0 + η0 ]||v(t) − y0 || > r0 } =
6 ∅
Posons t1 = Inf {t ∈ A}, on a t0 < t1 < t0 + η0 , ||v(t1 ) − y0 || = r0 et v(t) ∈ Bf (y0 , r0 ), ∀t ∈ [t0 , t1 ]. Par suite
Z t
r0 = ||v(t1 ) − y0 || ≤ ||ϕ(s, v(s))||ds ≤ M (t1 − t0 ) ≤ r0
t0
Définition I.5 (ensemble ordonné inductif ) Un ensemble ordonné est dit inductif si toute partie totalement
ordonnée est majorée.
Rappelons aussi le
Théorème I.7
L’ensemble des solutions du problème de Cauchy est ordonnée par la relation d’ordre
I1 ⊂ I2
(I1 , y1 ) ≤ (I2 , y2 ) ⇐⇒
y2|I1 = y1
et si cet ensemble est non vide alors il est inductif.
Démonstration
La relation d’ordre est évidente. Montrons que toute partie totalement ordonnée (Iα , yα )α∈A admet un élément
maximal. Posons I = ∪α∈A Iα et y : I → Rn la fonction définie par y|Iα = yα . y est bien définie, en effet soit t dans
I, alors il existe Iα qui contient t et y(t) = yα (t) ne dépend pas le α, si t ∈ Iα ∩ Iβ alors on a (Iα , yα ) ≤ (Iβ , yβ ) ou
(Iβ , yβ ) ≤ (Iα , yα ), et donc yα (t) = yβ (t)
On a bien évidemment (Iα , yα ) ≤ (I, y) il reste donc à montrer que (I, y) est bien une solution.
– I est un intervalle. Soit donc (s, t) ∈ I 2 . Alors il existe Iα et Iβ qui contiennent respectivement s et t. Mais on
a soit Iα ⊂ Iβ , soit Iβ ⊂ Iα , donc soit [s, t] ⊂ Iα ⊂ I, soit [s, t] ⊂ Iβ ⊂ I.
– t0 ∈ I et y(t0 ) = y0 .
– Pour tout t ∈ I, il existe α tel que t ∈ Iα et y(t) = yα (t), par suite (t, y(t)) ∈ Ω.
– Pour tout t ∈ I, il existe α tel que Iα contient t et (Iα , yα ) est une solution. Donc y(t) = yα (t) = y0 +
Rt
t0
ϕ(s, y(s))ds.
2
Corollaire I.8
Sous les hypothèses du théorème de Cauchy-Lipschitz, toute solution se prolonge en une solution maximale (I, y),
cette solution maximale est unique et I est un intervalle ouvert.
Démonstration
L’existence d’une solution maximale vient de l’application du lemme de Zorn et l’unicité du théorème d’existence et
d’unicité de Cauchy-Lipschitz. Pour montrer que I est un intervalle ouvert il suffit de voir que si I =]t0 − η, t0 + η0 ]
on peut la prolonger en t0 + η0 grâce au théorème de Cauchy-Lipschitz. 2
Remarque I.9
Le résultat d’exitence et d’unicité d’une solution maximal implique que les courbes solutions y(t, t0 , y0 ) ne peuvent
se couper, elles sont confondues ou sans point commun, elles forment une partition de l’ouvert Ω (cf. Fig. 3.2).
Exemple I.10
On considère le problème de Cauchy définie sur Ω = R × R
ẏ(t) = −y 2 (t)
(IV P 1)
y(t0 ) = y0 .
Pour (t0 , y0 ) fixé on a une unique solution maximale définie sur I =]ω− (t0 , y0 ), ω+ (t0 , y0 )[ qui dépend de (t0 , y0 ) :
18 CHAPITRE 3. THÉORIE DES ÉQUATIONS DIFFÉRENTIELLES
1.5
0.5
0
y
−0.5
−1
−1.5
−2
−5 −4 −3 −2 −1 0 1 2 3 4 5
t
Figure 3.2 – Solutions pour le problème ẏ(t) = −y 2 (t), y(t0 ) = y0 , les courbes intégrales ne peuvent se couper, elles
forment une partition de l’ouvert Ω.
Corollaire I.11
Soit ϕ : I × Rn → R, I intervalle ouvert, continue. On suppose qu’il existe une fonction continue k : I → R+ telle
que tour tout t fixé l’application ϕ soit localement lipschitzienne par rapport à y de rapport k(t). Alors la solution
maximale est globale, c’est-à-dire définie sur I.
Démonstration
Soit [t0 − η1 , t0 + η2 ] ⊂ I. Dans la démonstration du théorème de Cauchy-Lipschitz, prenons r0 = +∞, E =
C 0 ([t0 − η1 , t0 + η2 ], Rn ), d) et K = max[t0 −η1 ,t0 +η2 ] k(t). ϕ(t, y) est alors lipschitzienne de rapport K sur cet
intervalle et si p est tel que (K p /p!) max(η1 , η2 ) < 1, alors T p est une contraction. 2
Corollaire I.12
On considère le système de Cauchy linéaire
ẏ = A(t)y(t) + b(t)
(IV P 2)
y(t0 ) = y0 .
Si A(t) et b(t) sont définie sur R et continue alors on a existence et unicité de la solution sur I = R. Le résultat est
en particulier vérifié si le système est autonome.
Démonstration
Il suffit de prendre k(t) = ||A(t)||. En effet on a
Remarque I.13
Le résultat est encore vrai si A(t) est localement intégrable.
I. EXISTENCE 19
∂ϕ
: Ω −→ L(Rn , Rn )
∂y
∂ϕ
(t, y) 7−→ (t, y)
∂y
soit continue. Soit K un compact contenu dan Ω et (t0 , y0 ) ∈ K, alors il existe η1 et η2 > 0 tels que pour tout
t 6∈]t0 − η1 , t0 + η2 [, (t, y(t, t0 , y0 )) soit extérieur à K.
Démonstration
Nous allons montrer l’existence de η2 .
Si ω+ (t0 , y0 ) = +∞ alors le résultat est évident car K étant compact, on a K ⊂ [t1 , t2 ] × Bf (y0 , R) et donc pour
tout t > t2 , on aura (t, y(t, t0 , y0 )) 6∈ K. Supposons donc maintenant que ω+ = ω+ (t0 , y0 ) ∈ R. Posons F = {Rn+1 Ω
et ρ = d(K, F ) > 0 et définissons le compact
On a K ⊂ Kρ/2 ⊂ Ω. Considérons maintenant un point (t1 , y1 ) ∈ K, alors l’ensemble Ω(t1 , y1 ) = {(t, y) ∈ Ω, |t−t1 | <
η et ||y − y1 || < a} avec η 2 + a2 ≤ ρ2 /4 est un ouvert inclu dans Kρ/2 . Or Kρ/2 est un compact, par suite pour
tout (t, y) ∈ Ω(t1 , y1 ), ||ϕ(t, y)|| ≤ M et || ∂ϕ
∂y (t, y)|| ≤ k. On peut alors dans la démonstration du théorème de
Cauchy-Lipschitz prendre r0 = +∞ et η0 = η, ces quantités étant indépendantes de (t1 , y1 ). Montrons alors que
t2 = ω+ − η = t0 + η2 répond à la question. Raisonnons par l’absurde et supposons qu’il existe t̄ ∈]t2 , ω+ ] tel que
y(t̄, t0 , y0 ) soit dans K. Prenons t1 = t̄ et y1 = y(t̄, t0 , y0 ), la solution du système de Cauchy
ẏ(t) = ϕ(t, y(t))
(IV P 3)
y(t1 ) = y1
existe alors sur ]t1 − η, t1 + η[. Par conséquent la fonction définie par
(
y(t, t0 , y0 ) si t ∈]ω− , t1 [,
y(t) =
y(t, t1 , y1 ) si t ∈ [t1 , t1 + η[
est une solution du problème de Cauchy de départ et t̄ + η > t2 + η > ω+ , ce qui est impossible. 2
Corollaire I.15
Si dans le théorème précédent Ω = R × Rn et ω+ (t0 , y0 ) ∈ R alors on a ||y(t, t0 , y0 )|| → +∞ quand t → ω+ (t0 , y0 )
(cf Fig. 3.2).
Si on suppose seulement que ϕ est continue, alors on peut montrer qu’il existe une solution locale.
Démonstration
cf. [5] page 42. 2
On peut cependant perdre l’unicité. Par exemple le problème
p
ẏ(t) = |y(t)|
(IV P 4)
y(0) = 0,
t|t|
admet les solutions y1 (t) = 0 et y2 (t) = 4 ainsi que
0 si t ≤ a
ya (t) =
y2 (t − a) si t > a
0.8
0.6
0.4
0.2
−0.2
−0.4
−0.6
−0.8
−1
−5 −4 −3 −2 −1 0 1 2 3 4 5
p
Figure 3.3 – Solutions pour le problème ẏ(t) = |y(t)|, y(0) = 0.
La visualisation des ensembles ]ω− (0, y0 ), ω+ (0, y0 )[×y0 est donné à la Fig. 3.4.
Posons O = {(t, t0 , y0 , λ0 ) ∈ R × Ω, ω− (t0 , y0 , λ0 ) < t < ω+ (t0 , y0 , λ0 )}, l’objectif de cette section est d’étudier
les propriétés de continuité et de dérivabilité de la fonction
y:O −→ Rn
(t, t0 , y0 , λ0 ) 7−→ y(t, t0 , y0 , λ0 ).
II.2 Continuité
Nous allons dans un premier temps considérer la dépendance par rapport au paramètre λ. Posons ici O =
{(t, λ) ∈ R × Rp , ω− (λ) < t < ω+ (λ)}. On a alors le
Théorème II.1
Sous les hypothèses de la sous-section précédente
(i) O est un ouvert ;
(ii) y : O → Rn est continue.
II. DÉPENDANCES PAR RAPPORTS AUX DONNÉES 21
1.5
0.5
y0
0
−0.5
−1
−1.5
−2
−5 −4 −3 −2 −1 0 1 2 3 4 5
t
Figure 3.4 – Visualisation de l’ensemble {(t, y0 ) tel que (t, 0, y0 ) ∈ O} pour l’exemple ẏ(t) = −y 2 (t), y(t0 ) = y0 .
Lemme II.2
Soit u(t) une fonction de R à valeurs dans R continue et α et β deux réels strictement positifs. On suppose que
Z t
u(t) ≤ (αu(s) + β)ds,
t0
alors on a
β α(t−t0 )
u(t) ≤ (e − 1).
α
Démonstration
Rt
Posons v(t) = t0 (αu(s) + β)ds, v(t) est la solution du système de Cauchy
ẏ(t) = αy(t) + β
(IV P 7)
y(t0 ) = 0.
Rt
Donc v(t) = (β/α)(eα(t−t0 ) − 1). Considérons maintenant la suite v0 (t) = u(t), . . . , vi (t) = t0 (αvi−1 (t) + β)ds.
Cette suite converge uniformement sur tout compact vers v(t) la solution du problème à valeur initiale linéaire
Rt
(IVP7). Montrons par récurrence que l’on a toujours vi (t) ≤ t0 (αvi (t) + β)ds et vi+1 (t) ≥ vi (t). Nous aurons donc
montrer ainsi que
β α(t−t0 )
(e − 1) = v∞ (t) ≥ v0 (t) = u(t)
α
Ceci est évident pour i = 0. Supposons donc l’inégalité vraie pour i, alors par hypothèse de récurrence
Z t
vi+1 (t) = (αvi (t) + β)ds ≥ vi (t).
t0
Et donc Z t
(αvi+1 (t) + β)ds ≥ vi+1 (t).
t0
2
Démonstration
du théorème. Le fait que O soit un ouvert est non trivial. Considérons (t∗ , λ∗ ) ∈ O et supposons pour fixer les
idées que t∗ ≥ t0 (le cas t∗ ≤ t0 se traite de la même manière). Comme y(t∗ , λ∗ ) existe, on a t∗ < ω+ (λ∗ ). On
peut donc choisir t∗ < t1 < ω+ (λ∗ ) et y(t, λ∗ ) est définie pour tout t ∈ [t0 , t1 ]. Définissons alors l’ensemble C =
{(t, y(t, λ∗ ), λ∗ ), t0 ≤ t ≤ t1 } ∈ Ω qui est un compact car c’est l’image du compact [t0 , t1 ] par l’application continue
22 CHAPITRE 3. THÉORIE DES ÉQUATIONS DIFFÉRENTIELLES
t → (t, y(t, λ∗ ), λ∗ )). C est un compact de Rn+1 , donc il existe un coefficient de Lebesgue ε > 0 du recouvrement Ω
(cf. (A.II.1)), c’est-à-dire tel que pour tout (t, y, λ∗ ) ∈ C, B((t, y, λ∗ ), ε) ⊂ Ω. Par suite il existe a et b strictement
positifs tels que l’ensemble K = {(t, y, λ) ∈ R × Rn × Rp , t0 ≤ t ≤ t1 , ||y − y(t, λ∗ )|| ≤ a et ||λ − λ∗ || ≤ b} ⊂ Ω.
De plus K est un fermé borné, donc un compact, et ϕ(t, y, λ) est uniformément continue sur K :
∀ε, ∃η, ∀(t1 , y1 , λ1 ) ∈ K, ∀(t2 , y2 , λ2 ) ∈ K, ||(t1 , y1 , λ1 ) − (t2 , y2 , λ2 )|| < η, ⇒ ||ϕ(t1 , y1 , λ1 ) − ϕ(t2 , y2 , λ2 )|| < ε.
Considérons maintenant y(t, t0 , y0 , λ) pour ||λ − λ∗ || < b. Le théorème d’explosion (I.14) implique que y(., t0 , y0 , λ)
quitte le compact K quand t → ω+ (λ). Posons alors t2 = Inf {t, y(t, t0 , y0 , λ) 6∈ K}. On a bien évidemment
t0 < t2 ≤ t1 par définition de K. Nous allons montrer que t2 = t1 .
Z t
||y(t, t0 , y0 , λ) − y(t, t0 , y0 , λ∗ )|| ≤ ||ϕ(s, y(s, t0 , y0 , λ), λ) − ϕ(s, y(s, t0 , y0 , λ∗ ), λ∗ )||ds
t0
Or
Par suite Z t
||y(t, t0 , y0 , λ) − y(t, t0 , y0 , λ∗ )|| ≤ (k||y(t, t0 , y0 , λ) − y(t, t0 , y0 , λ∗ )|| + ε)ds.
t0
Donc en posant u(t) = ||y(t, t0 , y0 , λ) − y(t, t0 , y0 , λ∗ )|| dans le lemme (II.2) on obtient
ε k(t−t0 )
u(t) = ||y(t, t0 , y0 , λ) − y(t, t0 , y0 , λ∗ )|| ≤ (e − 1) = ε2 . (3.1)
k
Prenons maintenant ρ2 ≤ b, ε2 < a et ||λ − λ∗ || < ρ2 , alors (t2 , y(t2 , t0 , y0 , λ∗ ), λ∗ ) ∈ ∂K par définition de t2 , mais
– ||λ − λ∗ || < ρ2 < b ;
– ||y(t, t0 , y0 , λ) − y(t, t0 , y0 , λ∗ )|| ≤ ε2 < a.
Il faut donc que t2 = t1 . En conclusion pour t∗ ≥ t0 , il existe t2 > t∗ et ρ2 > 0 tels que pour tout t, t0 ≤ t ≤ t2 et
tout λ, ||λ − λ∗ || ≤ ρ2 , y(t, t0 , y0 , λ) existe et donc (t, λ) ∈ O. Par une démonstration identique on peut construire
t1 < t∗ et donc un ouvert ]t1 , t2 [×B(λ∗ , ρ) ⊂ O. On en déduit que O est bien un ouvert. Quant-à la continuité, elle
provient immédiatement de (3.1). 2
Théorème II.3
Sous les hypothèses de la sous-section précédente
(i) les fonctions ω− : (t0 , y0 , λ0 ) → ω− (t0 , y0 , y0 ) et ω+ : (t0 , y0 , λ0 ) → ω+ (t0 , y0 , y0 ) sont respectivement semi-
continue inférieurement et semi-continue supérieurement ;
(ii) O est un ouvert ;
(iii) y : O → Rn est continue ;
(iv) si ϕ est indépendante de λ, (t0 , y0 ) ∈ Ω ⊂ R × Rn et si ω− (t0 , y0 ) < a < b < ω+ (t0 , y0 ), alors pour tout
r > 0, il existe s > 0 et M ≥ 0 tels que pour tout (t1 , y1 ) vérifiant t1 ∈ [a, b] et ky1 − y(t1 , t0 , y0 )k ≤ s, on ait
ω− (t1 , y1 ) < a < b < ω+ (t1 , y1 ) et pour tout t ∈ [a, b]
ky(t, t1 , y1 ) − y(t, t0 , y0 )k ≤ r
≤ M |t1 − t0 | + M ky1 − y0 k
Démonstration
cf. [12] page 344 ou [8] 2
Remarque II.4
On suppose ϕ indépendante de λ, ϕ : Ω ∈ R × Rn → Rn , et on considère t0 < t1 . On pose
Dire que y0 ∈ O0 , c’est dire que l’intervalle de définition de y(t, t0 , y0 ) contient t1 , le point y(t1 , t0 , y0 ) appartient
alors à O1 . Ces ensembles O0 et O1 sont des ouverts et l’application
R(t0 , t1 ) : O0 −→ O1
y0 7−→ y(t1 , t0 , y0 )
O0
y
[
O1
]
t_0 t_f
t
II.3 Dérivée
On suppose dans cette sous-section que Λ = Rp .
Théorème II.5
Soit ϕ : Ω ⊂ R × Rn × Rp → Rn , Ω ouvert, ϕ continue. On suppose que ϕ admet des dérivées partielles continues
par rapport à y et λ
∂ϕ ∂ϕ
: Ω → Mn (R) : Ω → M(n,p) (R).
∂y ∂λ
Alors, la fonction y : O → E est de classe C 1 . Elle est de classe C k , 1 ≤ k ≤ ∞, si ϕ est de classe C k . De plus
∂y
(i) La fonction ∂y0 (., t0 , y0 , λ0 ) :]ω− (t0 , y0 , λ0 ), ω+ (t0 , y0 , λ0 )[→ Mn (R) est la solution au problème de Cauchy
linéaire
1 Ẏ (t) = A(t)Y (t)
(V AR8)
Y (t0 ) = In ,
∂ϕ
où A(t) = ∂y (t, y(t, t0 , y0 , λ0 ), λ0 ) ∈ Mn (R) et In est la matrice identité d’ordre n.
∂y
(ii) La fonction ∂t0 (., t0 , y0 , λ0 ) :]ω− (t0 , y0 , λ0 ), ω+ (t0 , y0 , λ0 )[→ Rn est la solution au problème de Cauchy linéaire
ẏ(t) = A(t)y(t)
(V AR9)
y(t0 ) = −ϕ(t0 , y0 , λ0 ).
∂y
(iii) La fonction ∂λ0 (., t0 , y0 , λ0 ) :]ω− (t0 , y0 , λ0 ), ω+ (t0 , y0 , λ0 )[→ Mn,p (R) est la solution au problème de Cauchy
linéaire
Ẏ (t) = A(t)Y (t) + B(t)
(V AR10)
Y (t0 ) = 0,
∂ϕ
avec B(t) = ∂λ (t, y(t; t0 , y0 , λ0 ), λ0 ) ∈ Mn,p (R).
1. Équations variationnelles.
24 CHAPITRE 3. THÉORIE DES ÉQUATIONS DIFFÉRENTIELLES
Démonstration
Supposons que l’on ait la dérivabilité alors, puisque nous avons par définition
Z t
y(t, t0 , y0 , λ0 ) = y0 + ϕ(s, y(s, t0 , y0 , λ0 ), λ0 )ds,
t0
D’où le résultat.
Les autres formules s’obtiennent de façon similaire. Pour une démonstration complète du théorème nous renvoyons
à [12] page 350 ou [8] 2
Deuxième partie
Intégration numérique
25
Chapitre 4
Introduction
I Introduction
L’objectif de cette partie est d’étudier les algorithmes numériques utilisés dans les programmes actuels, en
particulier les programmes Ode45 de Matlab [10] et Dopri5 du professeur Hairer [5].
II Exemples
II.1 Exemple 1
ẏ1 (t) = y1 (t) + y2 (t) + sin t
ẏ2 (t) = −y1 (t) + 3y2 (t)
(IV P )
y 1 (0) = −9/25
y2 (0) = −4/25.
La solution est
Sur cet exemple on constate que si on utilise les valeurs des paramètres par défauts dans les codent d’intégrations
numériques on peut très rapidement obtenir des résultats faux. Par exemple sur la Fig. 4.1, la solution calculée pour
les valeurs par défauts des paramètres RelTol et AbsTol de Ode45 n’est pas du tout périodique.
0 0.5
−100 0
−200 −0.5
−300 −1
−400 −1.5
−500 −2
−600 −2.5
0 2 4 6 8 0 2 4 6 8
t t
0.5 0.5
0 0
−0.5 −0.5
−1 −1
0 2 4 6 8 0 2 4 6 8
t
Figure 4.1 – Solutions calculées avec Ode45, RelTol=10−3 et AbsTol=10−6 , RelTol=10−6 et AbsTol=10−9 ,
RelTol=10−10 et AbsTol=10−15 et solution exacte
27
28 CHAPITRE 4. INTRODUCTION
avec σ = 10, r = 28, b = 8/3. La solution est visualisée sur la figure 4.2.
20
y1 10
−10
−20
0 10 20 30 40 50 60 70 80 90 100
t
25 50
20 45
15 40
10 35
5 30
y2
y3
0 25
−5 20
−10 15
−15 10
−20 5
−25 0
−20 −10 0 10 20 −20 −10 0 10 20
y1 y1
Le système différentiel associé à cette réaction chimique, qui est un exemple de problème raide 1 , est donnée par
et la solution calculée par les deux programmes Ode45 et Dopri5 sont visualisées sur la figure 4.3.
−5
x 10
4
3.5
2.5
y2
1.5
0.5
0
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
t
Figure 4.3 – Solutions numérique pour le problème raide obtenues par une méthode classique ( Ode45) et par une
méthode pour les équations différentielles raides ( Ode15s)
30 CHAPITRE 4. INTRODUCTION
Chapitre 5
I Introduction
Exemple I.1 (Orbite d’Arenstorf)
On considère deux corps de masses 1 − µ et µ en rotation circulaire dans le plan et un troisième corps de masse
négligeable dans le même plan. Les équations du mouvement sont
0
ÿ1 (t) = y1 (t) + 2ẏ2 (t) − µ0 y1r(t)−µ − µ y1r(t)−µ
3 (t) 3 (t)
1 2
2.5
Euler
RK4
ode45
2
1.5
0.5
Lune
0 Terre
point initial
−0.5
−1
−1.5
−2 −1.5 −1 −0.5 0 0.5 1 1.5 2
Figure 5.1 – Orbite d’Arenstorf calculée avec Euler (24000 pas équidistants), Rk4 (6000 pas équidistants) et
Ode45 (64 pas variables), cf. [5] page 130.
II Définitions et exemples
On désire calculer la solution sur l’intervalle I = [t0 , tf ] du problème de Cauchy
ẏ(t) = ϕ(t, y(t))
(IV P )
y(t0 ) = y0 .
31
32 CHAPITRE 5. LES MÉTHODES DE RUNGE-KUTTA
On considère pour cela une subdivision t0 < t1 < . . . < tN = tf de I. On note hi = ti+1 − ti , i = 0, N − 1, les
pas, et hmax = maxi (hi ). Nous allons calculer successivement les valeurs approchées y1 , . . . , yN de y(t1 ), . . . , y(tN ).
Définition II.1 (Méthodes à un pas explicite) On appelle méthode à un pas explicite toute méthode pour
laquelle la valeur de yi+1 est calculée de façon explicite en fonction de ti , yi et hi :
Remarque II.2
Pour simplifier les notations, nous n’écrirons dans la suite que le premier pas
y1 = y0 + hΦ(t0 , y0 , h).
Définition II.3 (Schéma d’Euler (1768)) On appelle méthode d’Euler explicite le schéma
y1 = y0 + hϕ(t0 , y0 ). (5.2)
Remarque II.4 Rt
Le shéma d’Euler explicite est tout simplement une approximation de l’intégrale t01 ϕ(s, y(s))ds par hϕ(t0 , y0 ).
Exemple II.5
ẏ(t) = t2 + y 2 (t)
(IV P )
y(−1.5) = −1.4
3
h:1/2
h=1/4
2.5 h=1/8
solution
1.5
1
y
0.5
−0.5
−1
−1.5
−1.5 −1 −0.5 0 0.5 1 1.5
t
L’idée évidente pour améliorer la précision numérique est d’approcher cette intégrale par une formule de
quadrature ayant un ordre plus élevé. Si on prend pour approximer l’intégrale le point milieu nous obtenons
h h
y(t1 ) ≈ h0 + hϕ(t0 + , y(t0 + )).
2 2
Mais on ne connaı̂t pas la valeur de y(t0 + h2 ), d’où l’idée d’approximer cette quantité par un pas d’Euler. Nous
obtenons ainsi le schéma de Runge.
h h
y1 = y0 + hϕ(t0 + , y0 + ϕ(t0 , y0 )). (5.3)
2 2
III. MÉTHODES DE RUNGE-KUTTA EXPLICITE 33
c1
c2 a21
c3 a31 a32
.. .. .. ..
. . . .
cs as1 as2 ... ass−1
b1 b2 ... bs−1 bs
Exemple III.2
On considére par exemple les schémas
0
0 1/3 1/3
0 1/2 1/2 2/3 0 2/3
1 0 1 1/4 0 3/4
Euler Runge Heun
0 0
1/2 1/2 1/3 1/3
1/2 0 1/2 2/3 −1/3 1
1 0 0 1 1 1 −1 1
1/6 2/6 2/6 1/6 1/8 3/8 3/8 1/8
La méthode Rk4 Rk4, règle 3/8
Exercice III.3
On considère le schéma de Heun, cf. la table 5.2.
III.2 Ordre
Rappelons tout d’abord les notations de Landau
Définition III.4 (Notations de Landau) (i) L’équation (5.5) ci-après signifie qu’il existe un voisinage U de
0 et il existe une constante C telle que pour tout h ∈ U on a ke(h)k ≤ C|h|p .
e(h) = O(hp ) (5.5)
34 CHAPITRE 5. LES MÉTHODES DE RUNGE-KUTTA
(ii) L’équation (5.6) ci-après signifie qu’il existe une fonction ε(h) à valeurs réelles telle que ke(h)k = |h|p ε(h)
avec ε(h) → 0 quand h → 0.
e(h) = o(hp ) (5.6)
Définition III.5 (Ordre) On dit d’une méthode à un pas est d’ordre p ≥ 1 si, pour tout problème de Cauchy avec
ϕ suffisamment dérivable, l’erreur sur un pas, appelée erreur locale satisfait
où y1 est la valeur calculée par le schéma et y(t1 , t0 , y0 ) est la valeur exacte du problème de Cauchy avec la valeur
initiale y(t0 ) = y0 .
Remarque III.6
Attention, un schéma d’ordre p a une erreur locale en O(hp+1 ). Nous verrons au corollaire (III.17) que c’est l’erreur
globale yN − y(tf , t0 , y0 ) qui est en O(hpmax ).
Exemple III.7
Le schéma d’Euler explicite est d’ordre p = 1 car par définition de la dérivée on a
Nous allons maintenant étudier les relations que doivent vérifier les coefficients aij , bi et ci pour qu’un schéma
de Runge-Kutta explicite à 2 étages soit d’ordre 2. Pour cela nous allons comparer les développements de Taylor à
l’ordre 2 de y1 et de y(t1 , t0 , y0 ). Pour y1 , nous avons
k1 = ϕ(t0 , y0 )
k2 = ϕ(t0 + c2 h, y0 + a21 hk1 )
y1 = y0 + h(b1 k1 + b2 k2 )
= y0 + h(b1 ϕ(t0 , y0 ) + b2 ϕ(t0 + c2 h, y0 + a21 hϕ(t0 , y0 )))
= y0 + h(b1 + b2 )ϕ(t0 , y0 ) + h2 b2 (c2 ϕt (t0 , y0 ) + a21 ϕy (t0 , y0 )ϕ(t0 , y0 )) + O(h3 ).
h2
y(t0 + h, t0 , y0 ) = y0 + hẏ(t0 ) + ÿ(t0 ) + O(h3 )
2
h2
= y0 + hϕ(t0 , y0 ) + (ϕt (t0 , y0 ) + ϕy (t0 , y0 )ϕ(t0 , y0 )) + O(h3 ).
2
Par suite en identifiant les termes des coefficients des puissances de h et en utilisant c2 = a21 , on peut voir que le
schéma sera d’ordre deux si et seulement si on a
1
b1 + b2 = 1 et b2 a21 = .
2
Si on considère la méthode de Runge de la table 5.2, on voit qu’elle est d’ordre 2.
Exercice III.8
On considère le schéma de Runge-Kutta explicite à 3 étages
0
s
c2 a21 X
avec ci = aij ,
c3 a31 a32
j=1
b1 b2 b3
1 Vérifier que, dans le cas d’un système autonome, les relations que doivent vérifier les coefficients pour avoir un
schéma d’ordre 3 sont
b1 + b2 + b3 = 1
b2 a21 + b3 a31 + b3 a32 = 12
b2 a221 + b3 (a231 + 2a31 a32 + a232 ) = 31
b3 a32 a21 = 16
III. MÉTHODES DE RUNGE-KUTTA EXPLICITE 35
Théorème III.9
Les méthodes de Heun et de Runge-Kutta Rk4 de la table 5.2 sont respectivement d’ordre 3 et 4.
Démonstration
cf. [5]. 2
Remarque III.10
On démontre que :
– p = 4 est possible pour s = 4 et que l’on a 8 conditions ;
– pour avoir p = 5, il faut que s ≥ 6 ;
– pour avoir p = 8, il faut s ≥ 11 et il y a 200 conditions ;
– pour p = 10, il y a 1205 conditions.
III.3 Convergence
Définition III.11 (Erreur de consistance ) Soit y(t) la solution du problème de Cauchy à valeur initiale y(t0 ) =
y0 . L’erreur de consistance ei+1 est l’erreur locale en ti+1 obtenue par le schéma à un pas en partant de la solution
à l’instant ti (cf. Fig. 5.3).
Z ti+1
ei+1 = y(ti+1 ) − yi+1 = ϕ(s, y(s))ds − hi Φ(ti , y(ti ), hi ). (5.8)
ti
y(ti+1 , ti , y(ti ))
← ei+1
yi+1
y(ti )
ti ti+1
Définition III.12 On dit qu’une méthode à un pas est consistante avec l’équation différentielle ẏ(t) = ϕ(t, y(t)) si
pour toute solution y(.) de l’équation différentielle on a
N
X −1 N
X −1
kei k = ky(ti+1 ) − hi Φ(ti , y(ti ), hi )k → 0, (5.9)
i=0 i=0
Définition III.13 (Méthode stable) On dit qu’une méthode à un pas est stable si et seulement si il existe une
constante S indépendante de h telle que pour toutes suites
on ait
N
X
max ke
yi − yi k ≤ S(ke
y0 − y0 k + kεi k). (5.12)
0≤i≤N
i=1
36 CHAPITRE 5. LES MÉTHODES DE RUNGE-KUTTA
Définition III.14 Une méthode à un pas est convergente si pour toute solution exacte y(t), la suite (yi )i définie
par yi+1 = yi + hi Φ(ti , yi , hi ) vérifie
max ky(ti ) − yi )k → 0, (5.13)
0≤i≤N
Remarque III.15
La quantité max0≤i≤N ky(ti ) − yi )k dans l’équation (5.13) est l’erreur globale.
Calculons cette erreur globale. Posons yei = y(ti ). Par définition de l’erreur de consistance on a
Théorème III.16
Si la méthode est stable et consistante, alors, elle est convergente.
Corollaire III.17
Si la méthode est stable, consistante, d’ordre p et si ye0 = y0 alors l’erreur globale est en O(hp ).
Démonstration
Il suffit d’écrire (cf. Fig 5.4) que
X
max ky(ti ) − yi k ≤ S kei+1 k
0≤i≤N
0≤i≤N −1
Chp+1
X
≤S i
0≤i≤N −1
X
≤ SC(hmax )p hi
0≤i≤N −1
≤ SC(tf − t0 )(hmax )p
← Se0 ← e2 = Se2
← Se1 ← Se1
← Se0
← e2
← e1
← e1
← e0 ← e0
y0 y0
t0 t1 t2 t3 t0 t1 t2
Figure 5.4 – Convergence, attention l’erreur de consistance et la propagation des erreurs sont visualisées sur le
graphique de droite et non de gauche.
2
III. MÉTHODES DE RUNGE-KUTTA EXPLICITE 37
Théorème III.18
Une méthode à un pas est consistante si et seulement si
Démonstration
Par définition, nous avons
ei+1 = y(ti+1 ) − y(ti ) − hi Φ(ti , y(ti ), hi ).
Le théorème des accroissements finis appliqué à y(t) sur l’intervalle [ti , ti+1 ] implique qu’il existe ci ∈]ti , ti+1 [ tel que
Or la fonction (t, h) → Φ(t, y(t), h) est continue. Elle est donc uniformément continue sur le compact [t0 , tf ] × [0, δ],
et donc pour tout ε > 0, il existe η > 0, tels que hmax ≤ η(⇒ |ci − ti | < η) ⇒ kβi k < ε.
N
X −1 N
X −1
| (kei+1 k − hi kαi k)| ≤ |kei+1 k − hi kαi k|
i=0 i=0
N
X −1
≤ kei+1 − hi αi k
i=0
N
X −1
≤ khi βi k ≤ ε(tf − t0 )
i=0
PN PN −1
Par suite, si les limites existent, on a limhmax →0 i=1 kei k = limhmax →0 i=0 hi kαi k. Or, par définition de l’intégrale
de Riemann, nous avons
Z tf X
kϕ(t, y(t)) − Φ(t, y(t), 0)kdt = lim hi kϕ(ξi , y(ξi )) − Φ(ξi , y(ξ), 0)k,
t0 hmax →0
i
alors
i−1
X
θi ≤ eΛ(ti −t0 ) θ0 + eΛ(ti −tk+1 ) |εk+1 |. (5.15)
k=0
38 CHAPITRE 5. LES MÉTHODES DE RUNGE-KUTTA
Démonstration
Démontrons le résultat par récurrence. Pour i = 0, l’inégalité (5.15) devient θ0 ≤ θ0 . Pour i = 1, l’inégalité (5.14)
s’écrit θ1 ≤ (1 + Λh0 )θ0 + |ε1 |. Il suffit alors de remarquer que (1 + Λh0 ) ≤ eΛ(t1 −t0 ) pour conclure.
Supposons donc maintenant que l’assertion soit vraie pour i − 1 et montrons là pour i.
2
Démonstration
du théorème III.19. On considère les deux suites
yi+1 = yi + hi Φ(ti , yi , hi )
yei+1 = yei + hi Φ(ti , yei , hi ) + εi .
2
En conclusion lorsque le pas est constant, si nous notons f e = N s le nombre total d’évaluations du deuxième
membre ϕ(t, y) de l’équation différentielle, l’erreur globale en tf pour une méthode à un pas explicite d’ordre p
stable et consistante s’écrit
err = Chp
= C(tf − t0 )p sp (f e)−p
= C(p)(f e)−p .
Ceci est illustré, pour l’équation Van der Pol (cf. page 140 de [5])
ẏ1 (t) = y2 (t) 2
ẏ2 (t) = (1 − y1 (t))y2 (t) − y1 (t)
(IV P )
y1 (0) = 2.00861986087484313650940188
y2 (0) = 0,
avec tf = T = 6.6632868593231301896996820305, sur la Fig. 5.5 où la pente de la droite est −p.
IV Erreurs d’arrondi
On considère sur [0, 1] l’équation différentielle ordinaire
ẏ(t) = y(t)
(IV P )
y(0) = 1.
Si on considère le schéma de Runge on a
V. CONTRÔLE DU PAS 39
0 0
Euler
−2 Euler −2
Runge
−4 Runge −4
10
Rk4
−8 −8
−10 −10
−12 −12
2 2.5 3 3.5 4 4.5 2 2.5 3 3.5 4 4.5
log10(fe) log10(fe)
Figure 5.5 – Erreur globale, pour chaque composante, en fonction du nombre d’évaluations, pour l’équation de Van
der Pol (E. Hairer, S.P. Norsett and G. Wanner, Tome I, page 140).
−9
x 10
5
4
erreur globale
0
0 0.5 1 1.5 2 2.5 3
−5
x 10
−12
x 10
8
erreur globale (Horner)
0
0 0.5 1 1.5 2 2.5 3 3.5 4
h −6
x 10
Figure 5.6 – Erreurs globales en fonction du pas h pour le schéma de Runge ; en haut y1 = (1 + h + h2 /2)y0 et en
bas y1 = y0 + h(y0 + (h/2)y0 ), hopt = 6.26 10−6 , J.P. Demailly page 218
(i) Calcul 1
k1 = y0
k2 = y0 + (h/2)y0
y1 = y0 + h(y0 + (h/2)y0 )
V Contrôle du pas
V.1 Introduction
La question qui se pose maintenant est le choix du pas ; sachant qu’un calcul à pas constant est en général
inefficace (cf. Fig 5.1). L’idée est de choisir les pas afin que l’erreur locale soit partout environ égale à une tolérance
T ol fournie par l’utilisateur. Il faut pour cela avoir une estimation de cette erreur locale.
40 CHAPITRE 5. LES MÉTHODES DE RUNGE-KUTTA
Remarque V.1
Si on pose ŷ2 = y2 + y22p−ȳ
−1 , l’erreur local est en O(h
2 p+2
). Nous pouvons donc ainsi construire à partir d’une méthode
d’ordre p, une méthode d’ordre p + 1. Cette méthode est implémenté en particulier dans le code Odex des professeurs
Hairer et Wanner[5].
0
1/2 1/2
0 1
1 0
k1 = f (t0 , y0 )
k2 = f (t0 + h/2, y0 + h/2k1 )
y1 = y0 + hk2 Runge
ŷ1 = y0 + hk1 Euler
0
1/3 1/3
2/3 −1/3 1
1 1 −1 1
1 1/8 3/8 3/8 1/8
1/12 1/2 1/4 0 1/6
k1 = f (t0 , y0 )
k2 = f (t0 + h/3, y0 + (h/3)k1 )
k3 = f (t0 + 2h/3, y0 + h(−k1 /3 + k2 ))
k4 = f (t + h, y0 + h(k1 − k2 + k3 ))
y1 = y0 + (h/8)(k1 + 3k2 + 3k3 + k4 ) 0(h5 )
ŷ1 = y0 + (h/12)(k1 + 6k2 + 3k3 + 2f (t0 + h, y1 )) O(h4 )
L’idée est alors d’accepter le pas si ||y1 − ŷ1 || < T ol. La norme choisie est en générale
s
yi1 − ŷi1
1X
||y1 − ŷ1 || = .
n i 1 + max(|yi0 |, |yi1 |)
et sci = T ol + T ol max(|yi0 |, |yi1 |). En pratique on prend sci = Atoli + Rtoli max(|yi0 |, |yi1 |).
Remarque V.4
– Si Rtoli = 0, on a pour cette composante une erreur locale absolue.
– Si Atoli = 0 on a pour cette composante une erreur locale relative.
– Dans Ode45 Rtol est un scalaire et Atol est un vecteur.
– Dans Dopri5 Rtol et Atol sont des vecteurs.
Il nous reste maintenant à déterminer la mise à jour du pas. Comme||y1 − ŷ1 || ≈ Chp̂+1 , et que l’on veut
1/(p̂+1)
1 1/(p̂+1)
Chp̂+1 T ol T ol
opt = T ol, on peut estimer que C = hp̂+1 . On en déduit que hopt = 0.9h ||y1 −ŷ1 || = 0.9h err .
opt
Le coefficient 0.9 est un coefficient de sécurité. Afin d’éviter de plus des variations brusques du pas on imposera en
pratique que 0.2 ≤ hopt ≤ 5h.En conclusion on obtient l’algorithme suivant.
y1 et y2
4
0
0 2 4 6 8 10 12 14 16 18 20
0
10
−1
10
pas acceptés
pas rejetés
−2
10
0 2 4 6 8 10 12 14 16 18 20
−4
10
−6
10
0 2 4 6 8 10 12 14 16 18 20
t
erreur local estimée
erreur locale "exacte"
erreur globale "exacte"
Figure 5.7 – Solutions, pas acceptés et rejetés, erreurs locales estimés, ”exactes” et erreurs globales ”exactes”.
L’intégration est effectuée avec rk34 (règle 3/8 pour l’ordre 4) et les solutions ”exactes” sont calculées avec ode45,
E. Hairer, S.P. Norsett and G. Wanner, Tome I, page 170.
La Fig. 5.7 donne pour tf = 20 la solution calculée, les pas acceptés et rejetés et les erreurs commises.
0
1/2 1/2
3/4 0 3/4
2/9 1/3 4/9
7/24 1/4 1/3 1/8
VI. LES MÉTHODES DE RUNGE-KUTTA IMPLICITES 43
k1 = f (t0 , y0 )
k2 = f (t0 + h/2, y0 + h/2k1 )
k3 = f (t0 + 3/4h, y0 + 3/4hk2 )
y1 = y0 + h(2/9k1 + 3/9k2 + 4/9k3 ) O(h4 )
ŷ1 = y0 + h(7/24k1 + 1/4k2 + 1/3k3 + 1/8f (t1 , y1 )) O(h3 )
estimation de l’erreur locale : ||y1 − ŷ1 || = (h/72)|| − 5k1 + 6k2 + 8k3 − 9f (t1 , y1 )||
0
1 1
5 5
3 3 9
10 40 40
4 44
5 45 − 56
15
32
9
8 19372
9 6561 − 25360
2187
64448
6561 − 212
729
9017
1 3168 − 355
33
46732
5247
49
176
5103
− 18656
35 500 125 2187 11
1 384 0 1113 192 − 6784 84
5179 7571 393 92097 187 1
57600 0 16695 640 − 339200 2100 40
Remarque VI.2
La méthode est implicite car sur chaque pas, il faut résoudre un système d’équations non linéaires.
y1 = y0 + hϕ(t1 , y1 )
1 1
1
44 CHAPITRE 5. LES MÉTHODES DE RUNGE-KUTTA
y1 = y0 + h(ϕ(t0 , y0 ) + ϕ(t1 , y1 ))
0
1/2 1/2 1/2
1/2 1/2
Théorème VI.7
On suppose ϕ : R × Rn → Rn continue et Lipchitzienne par rapport à la deuxième variable y de constante L. Si
1
h< P
L maxi ( j |aij |)
alors il existe une unique solution à (S) (cf. (5.16)). Si ϕ(t, y) est C p , alors les ki sont aussi C p .
Exercice VI.8
Démonstration du théorème (VI.7)
2 Démontrer que les ki sont C p si ϕ est C p (utiliser le théorème des fonctions implicites).
Nous allons maintenant voir le lien entre les méthodes de Runge-Kutta implicites et les méthodes de collocation.
Ces dernières méthodes consistent à chercher sur chaque intervalle d’une discrétisation en temps un polynôme u de
degré s dont les dérivées coı̈ncident 1 en s points donnés à ϕ(t0 + ci h, u(t0 + ci h)).
Définition VI.9 (Méthode de collocation) Soit s ≥ 1 et c1 , . . . , cs , s points distincts de [0, 1], on définit
l’unique polynôme u(t) de degré s vérifiant
u(t0 ) = y0
u0 (t0 + ci h) = ϕ(t0 + ci h, u(t0 + ci h)).
y1 = u(t0 + h).
1. co-locate en anglais.
VII. EXERCICES 45
Remarque VI.11
Pour résoudre sur chaque pas le système d’équations non linéaires, on peut soit utiliser un point fixe (cf. la
démonstration du théorème (VI.7)), soit utiliser un algorithme de type Newton. Nous allons donner ici le cas le
plus simple d’un algorithme du point fixe, sachant qu’en pratique, il est préférable d’utiliser un algorithme du type
Newton (cf. IV.8 page 118 de [5]).
Algorithme VI.12
Initialisation
N = nombre de pas
fpeps= epsilon pour le point fixe
fpitermax= nombre maximum d’itérations pour le point fixe
h = (tf − t0 )/N
pour l = 1 à N faire
Initialiser les ki = f (t0 + ci h, y0 )
normprog=1 ; nbiter=0
tant que (normprog>fpeps) et (nbiter≤fpitermax)
Ps faire
Calculer les newki = f (t0 + ci h, y0 + h j=1 aij kj ) pour i = 1, . . . , s
Calculer normprog=||(newk1 − k1 ; . . . ; newks − ks )||
ki := newki pour i = 1, . . . , s
nbiter=nbiter+1
fin tant que
t0 = t0 + h P
s
y0 = y0 + h j=1 bj kj
fin pour
VII Exercices
Exercice VII.1
1 Appliquez un pas d’une méthode de Runge-Kutta explicite à s étages à l’équation ẏ(t) = y(t), y(0) = 1 et montrez
que y1 est un polynôme en h de degré s.
2 En déduire que l’ordre d’une méthode de Runge-Kutta explicite ne peut être plus grand que le nombre d’étages :
p ≤ s.
Exercice VII.2
On rappelle qu’un système non autonome peut toujours s’écrire sous forme autonome. En effet si on considère le
problème à valeur initiale
ẏ(t) = ϕ(t, y(t))
(IV P )
y(t0 ) = y0 ,
et si on pose t = t0 + τ , τ ∈ [0, tf − t0 ], on a
dt
(τ ) = 1 dz
dτ dτ (τ )
=ϕ(z(τ
e ))
dy
dτ (τ ) = ϕ(t(τ ), y(τ ))
(IV P ) ⇐⇒ ⇐⇒ t
τ (0) = t0 z(0) = 0 ,
y0
y(0) = y0 ,
avec
t(τ ) 1
z(τ ) = et ϕ(z(τ )) = .
y(τ ) ϕ(t(τ ), y(τ ))
e
1 Écrire ce que devient le schéma de Runge-Kutta explicite à s étages dans le cas autonome, c’est-à-dire avec la
variable z : e
k1 = ....
Pi−1
2 On pose g1 = z0 et gi = z0 + h j=1 aij ϕ(g
e j ) pour i = 1, . . . , s. Écrire ce que donne ce schéma de Runge-Kutta
explicite avec ces notations.
Exercice VII.3
2
On considère l’équation différentielle de Cauchy du deuxième ordre et autonome (on considère pour simplifier ici
que y(t) ∈ R)
ÿ(t) = ϕ(y(t))
(IV P ) y(t0 ) = y0
ẏ(t0 ) = ẏ0 .
.
T
1 On pose z(t) = ẏ(t) et u(t) = y(t) z(t) . Écrire le système (IV P ) sous la forme d’un système à condition
initiale du premier ordre.
4 Donner les relations que doivent vérifier les coefficients pour que la méthode soit d’ordre 3.
2. sujet 36 page 83, Calcul différentiel et équations différentielles, Azé, Constans, Hiriart-Urruty, Dunod, 2002.
Chapitre 6
I Sortie dense
I.1 Objectif
Les intégrateurs numériques ne donnent les résultats qu’aux points de la subdivision t0 < t1 < . . . < tN (celle-ci
étant déterminée a priori pour les méthodes à pas fixes et a posteriori pour les méthodes à pas variables), or
l’utilisateur peut vouloir calculer la solution en tout point de l’intervalle [t0 , tf ] ou sur une grille très fine. L’objectif
de ce qui est appelé dans la littérature la sortie dense 1 est de répondre à ce besoin. La sortie dense est en autre
nécessaire :
– pour faire le tracé de la solution (cf. la trajectoire tracée dans le cas de l’utilisation d’Ode45 sur la figure 5.1) ;
– pour détecter un événement, on intègre le système différentiel jusqu’à l’instant T où E(y(T )) = 0 (cf. la
sous-section I.3 ci-après) ;
– pour intégrer les équations différentielles à second membre discontinue (cf. la sous section I.4 ci-après).
On désire donc sur un pas [t0 , t1 ] avoir une approximation peu coûteuse de la solution y(t) = y(t0 + θh), θ ∈ [0, 1],
c’est-à-dire qui ne nécessite pas d’évaluation supplémentaire du second membre de l’équation différentielle, et
de même ordre que la solution aux points de la subdivision t0 , . . . , tN . Cette approximation sera en pratique un
polynôme u(θ) ≈ y(t0 + θh) de degré p∗ = p − 1. Si on choisit correctement ce polynôme, nous pouvons avoir une
erreur d’approximation en O(θp ). En ajoutant cette erreur à l’erreur globale qui est en O(hp ) pour un schéma
d’ordre p, nous obtiendrons bien ce que nous voulons.
Remarque I.1
– La solution approximée ainsi est C 1 ;
– pour calculer le polynôme, il faut calculer ϕ(t1 , y1 ), mais comme cette valeur est calculer au pas suivant, il ne
s’agit pas d’une évaluation supplémentaire de ϕ.
Dans le cas général, on suppose que l’on part d’une méthode de Runge-Kutta d’ordre p à s étages. On rajoute
s∗ − s étage et on cherche le polynôme u(θ) sous la forme
∗
s
X
u(θ) = y0 + bi (θ)ki .
i=1
En générale on prend s∗ ≥ s + 1 avec ks+1 = ϕ(t1 , y1 ). On cherche alors les polynômes bi (θ) tels que
∗
u(θ) − y(t0 + θh) = O(hp +1
).
1. dense output en anglais.
47
48 CHAPITRE 6. SORTIE DENSE, DISCONTINUITÉS, DÉRIVÉES
Exemple I.2
Pour la méthode Rk4, s = s∗ = 4, on peut prendre
3θ2 2θ3
b1 (θ) = θ − +
2 3
2θ2
b2 (θ) = b3 (θ) = θ2 −
3
θ2 2θ3
b4 (θ) = − + .
2 3
u(θ) est alors continue sur [t0 , tf ], mais non C 1 .
Exemple I.3
Pour la paire de Dorman-Prince (Dopri5 et Ode45) on trouvera les valeurs des bi (θ) page 192 de [5].
Remarque I.4
La sortie dense permet aussi d’obtenir une approximation polynomiale des dérivées u(k) (θ) et donc des y (k) (t0 + θh) :
∗
h−k u(k) (θ) − y (k) (t0 + θh) = O(hp +1−k
).
Algorithme I.5
si ψ(ti , yi )ψ(ti+1 , yi+1 ) ≤ 0 alors
Déterminer τ = ti + θhi et yτ , θ ∈ [0, 1] tel que g(θ) = ψ(ti + θh, u(θ)) = 0 {u(θ) est la sortie dense sur
[ti , ti+1 ].}
ti+1 = ti + θhi
yi+1 = u(ti + θhi )
fin si
>> orbitode
The orbit of the third body is plotted using the output function
ODEPHAS2.
>> orbitode
Note that the step sizes used by the integrator are NOT
determined by the location of the events, and the events are
still located accurately.
35
pas acceptés
pas rejetés
30
25
Nombre de pas
20
15
10
0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
t
Figure 6.1 – Utilisation du pas variable, programme myode43.m, E. Hairer, S.P. Norsett and G. Wanner, Tome I,
page 197.
II Calcul de la dérivée
II.1 Différences finies externes
∂y 1
(tf , y0 ) ≈ (y(tf , y0 + δej ) − y(tf , y0 )),
∂y0j δ
où e1 , . . . , en désigne la base canonique de Rn .
50 CHAPITRE 6. SORTIE DENSE, DISCONTINUITÉS, DÉRIVÉES
∂ϕ
ϕ(t, y(t) + δYj (t)) = ϕ(t, y(t)) + (t, y(t))δYj (t) + o(δYj (t))
∂y
On approxime alors dans les équations variationnelles
∂ϕ 1
(t, y(t))Yj (t) ≈ (ϕ(t, y(t) + δYj (t)) − ϕ(t, y(t))).
∂y δ
On résout donc
ẏ(t) = ϕ(t, y(t))
˙
Yj (t) = 1δ (ϕ(t, y(t) + δYj (t)) − ϕ(t, y(t)))
(IN D)j
y(0) = y0
Yj (0) = ej .
0 2
1
−1
y1
y2
−2 −1
2.85 2.9 2.95 3 3.05 3.1 2.85 2.9 2.95 3 3.05 3.1
−0.5 2
1
−1
y1
y2
−1.5 −1
2.85 2.9 2.95 3 3.05 3.1 2.85 2.9 2.95 3 3.05 3.1
−0.5 2
1
−1
y1
y2
−1.5 −1
2.85 2.9 2.95 3 3.05 3.1 2.85 2.9 2.95 3 3.05 3.1
−0.5 2
1
−1
y1
y2
−1.5 −1
2.85 2.9 2.95 3 3.05 3.1 2.85 2.9 2.95 3 3.05 3.1
∂y (t ,λ) ∂y (t ,λ)
Figure 6.2 – Dérivée de la solution par rapport à λ 1∂λf et 2∂λf pour (de haut en bas) : les différences finies
√ √
avants (δλ = 4T ol), les différences finies avants (δλ = T ol), la différentiation interne de Bock (δλ = macheps)
et l’équation variationnelle. On utilise le code Ode45 de Matlab avec Atol = Rtol = T ol = 10−4 .
Annexe A
Théorème I.2
Soit (E, d) un espace métrique complet et f : E → E une application, on suppose qu’il existe p > 0 telle que f p soit
contractante, alors f admet un point fixe unique x = f (x).
Démonstration
Le théorème du point fixe précédent appliqué à g = f p implique que g a un unique point fixe x = g(x) = f p (x). Par
suite f (x) = f (f p (x)) = g(f (x)). Donc f (x) est aussi un point fixe de g. L’unicité du point fixe de g implique alors
que x = f (x).
Supposons maintenant que f possède 2 points fixes x1 et x2 . On a x1 = f (x1 ) = f p (x1 ) et x2 = f p (x2 ). Donc x1
et x2 sont des points fixes de g. L’unicité du point fixe de g implique alors que x1 = x2 . 2
II Topologie
Lemme II.1 (Coefficient de Lebesgue d’un recouvrement)
Soient X un espace métrique compact et (Oi )i∈I un recouvrement ouvert de X, alors il existe ε > 0, appelé
coefficient de Lebesgue du recouvrement, tel que pour tout x ∈ X, B(x, ε) ⊂ ∪i∈I Oi .
Démonstration
Pour tout x ∈ X, il existe i ∈ I et ηx > 0, tel que B(x, ηx ) ⊂ Oi . Comme X ⊂ ∪x∈X B(x, ηx /2) et que X est
compact il existe J fini tel que X ⊂ ∪j∈J B(xj , ηxj ). Posons alors ε = minj∈J (ηxj ) > 0, alors pour tout x ∈ X il
existe j ∈ J tel que d(x, xj ) < ηxj /2, par suite si x0 ∈ B(x, ε) on a d(x0 , xj ) ≤ d(x0 , x) + d(x, xj ) < ε + ηxj /2 < ηxj .
Et donc il existe i ∈ Oi tel que B(x, ε) ⊂ B(xj , ηxj ) ⊂ Oi . 2
f 00 (y) : E × E −→ F
(h1 , h2 ) 7−→ f 00 (y).(h1 , h2 )
f (k) (y) ∈ Lk (E, F ) (A.1)
f (k) (y) : E k −→ F
(h1 , . . . , hk ) 7−→ f (k) (y).(h1 , . . . , hk )
Si E = R, on identifie f (k) (y) ≡ f (k) (y).(1, . . . , 1) ∈ F .
51
52 ANNEXE A.
Proposition VI.1
Si y : [t0 , tf ] → F est C k et (k + 1) fois différentiable sur ]t0 , tf [ et telle que ||y k+1 (t)|| ≤ M, ∀t0 < t < tf alors
hk
y(t0 + h) = y(t0 ) + y 0 (t0 ).h + · · · + y (k) (t0 ) + rk (t),
k!
avec
M
||rk (t)|| ≤ hk+1 = O(hk+1 )
(k + 1)!
Théorème VI.2
Soit f : Ω ∈ E → F une fonction C k+1 et y0 et y0 + h deux points de Ω tels que [y0 , y0 + h] ∈ Ω alors
1 1
f (y0 + h) = f (y0 ) + f 0 (y0 ).h + f 00 (y0 ).(h, h) + · · · + f (k) (y0 ).(h, · · · , h) + rk (h),
2 k! | {z }
k fois
avec
||h||k+1 ||h||k+1
||rk (h)|| ≤ sup ||f (k+1) (y0 + th)|| ≤M = O(||h||k+1 )
0<t<1 (k + 1)! (k + 1)!
Bibliographie
[1] Patrick Altibelli and Luc Giraud. Cours d’algèbre linéaire : valeurs propres et vecteurs propres de matrices,
Décompositions canoniques de matrices et applications. Université de Toulouse, INPT-ENSEEIHT, département
Informatique et Mathématiques Appliquées, 2, rue Camichel - B.P. 7122 - 31071 Toulouse Cedex FRANCE,
2008.
[2] H.G. Bock. Numerical treatment of inverse problems in chemical reaction kinetics. In K.H. Hebert, P. Deuflhard,
and W. Jäger, editors, Modelling of chemical reaction systems, volume 18 of Springer series in Chem. Phys.,
pages 102–125, 1981.
[3] J.C. Butcher. Numerical Methods For Ordinary Differential Equations. John Wiley & Sons, 2003.
[4] A. Guillou and J.L. Soulé. La résolution numérique des problèmes différentiels aux conditions initiales par les
méthodes de collocation. R.I.R.O., (R-3) :14–44, 1969.
[5] E. Hairer, S.P. Norsett, and G. Wanner. Solving Ordinary Differential Equations I, Nonstiff Problems, volume 8
of Springer Serie in Computational Mathematics. Springer-Verlag, second edition, 1993.
[6] E. Hairer and G. Wanner. Solving Ordinary Differential Equations II, Stiff and Differential–Algebraic Problems,
volume 14 of Springer Serie in Computational Mathematics. Springer-Verlag, second edition, 1996.
[7] Frédéric Jean. Équations différentielles et introduction à l’automatique. ENSTA, 2006.
http ://www.ensta.fr/˜fjean/Cours enligne/.
[8] L. Pontriaguine. Équations différentielles ordinaires. Mir, 1975.
[9] L.F. Richardson. The deferred aproach to the limit. Philosophical Transactions of the Royal Society of London,
Series A, 226 :299–349, 1927.
[10] L.F. Shampine and M.W. Reichelt. The matlab ode suite.
http ://www.mathworks.com/access/helpdesk/help/pdf doc/otherdocs/ode suite.pdf.
[11] C. Wagschal. Dérivation, Intégration. Hermann, 1999.
[12] C. Wagschal. Fonctions holomorphes, Équations différentielles. Hermann, 2003.
[13] C. Wagschal. Topologie et analyse fonctionelle. Hermann, 2003.
[14] K. Wright. Some relationships between implicit runge-kutta collocation and lanczos τ methods, and their
stability properties. BIT, 10 :217–227, 1970.
53
Index
détection d’événements, 46
développement de Taylor, 49
effet papillon, 27
erreur de consistance, 33
erreur locale, 32
extrapolation de Richardson, 38
Landau, 31
lemme de Gronwall, 35
méthode à un pas, 30
méthode de collocation, 42
Méthode de Runge-Kutta, 31
Méthode de Runge-Kutta implicite, 41
méthode explicite, 30
méthode stable, 33
modèle de Lorentz, 27
orbite d’Arenstorf, 29
ordre, 32
problème raide, 28
Roberston, 28
schéma d’Euler, 30
schéma de Runge, 30
sortie dense, 45
54