Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Poly Copie

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 197

Licence de Mathématiques - Sorbonne Université

année 2021-2022

UE LU3MA232

Analyse Numérique

Antoine Gloria & Raphaël Roux

LJLL & LPSM

21 septembre 2021
Table des matières

1 Introduction 5
1.1 Analyse numérique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2 Ce qu’il faut savoir avant de commencer . . . . . . . . . . . . . . . . . . . 6
1.2.1 Prérequis généraux . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.2.2 Topologie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.2.3 Calcul différentiel . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.2.4 Equations différentielles ordinaires . . . . . . . . . . . . . . . . . . 8

2 Notion de schéma numérique pour les EDO 9


2.1 Equations différentielles ordinaires : rappels . . . . . . . . . . . . . . . . . 9
2.1.1 Définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.1.2 Le problème de Cauchy . . . . . . . . . . . . . . . . . . . . . . . . 10
2.1.3 Approche historique par la méthode d’Euler . . . . . . . . . . . . . 13
2.2 La notion de schéma numérique . . . . . . . . . . . . . . . . . . . . . . . . 17
2.3 Schémas numériques généraux . . . . . . . . . . . . . . . . . . . . . . . . 25

3 Analyse numérique matricielle 29


3.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.2 Méthodes directes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.2.1 Notation et opérations élémentaires . . . . . . . . . . . . . . . . . . 30
3.2.2 Factorisation A = LU et résolution de AY = B . . . . . . . . . . . . . 30
3.2.3 Méthode de Cholesky . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.3 Méthodes itératives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.3.1 Reformulation de AY = B comme problème de minimisation . . . . . 37
3.3.2 Méthode du gradient à pas fixe . . . . . . . . . . . . . . . . . . . . 38
3.3.3 Méthode du gradient conjugué . . . . . . . . . . . . . . . . . . . . 41
3.4 Quelle méthode choisir en pratique ? . . . . . . . . . . . . . . . . . . . . . 44

4 Schémas à un pas : analyse générale 45


4.1 Schémas explicites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
4.1.1 Formulation du schéma . . . . . . . . . . . . . . . . . . . . . . . . 45
4.1.2 Stabilité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
4.1.3 Consistance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
4.1.4 Convergence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
4.1.5 Ordre d’un schéma, estimation d’erreur . . . . . . . . . . . . . . . . 53
4.2 Schémas implicites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

1
5 Méthode de Newton 67
5.1 Présentation en dimension 1 . . . . . . . . . . . . . . . . . . . . . . . . . . 67
5.2 La méthode de Newton dans Rn . . . . . . . . . . . . . . . . . . . . . . . . 70
5.2.1 д(x) = 0 du point de vue théorique . . . . . . . . . . . . . . . . . . 71
5.2.2 La méthode de Newton(-Raphson) . . . . . . . . . . . . . . . . . . 72
5.2.3 Quelques illustrations en dimension 2 . . . . . . . . . . . . . . . . . 76
5.3 Pour en savoir plus : le théorème de Kantorovich . . . . . . . . . . . . . . . 79
5.4 Retour à la méthode d’Euler implicite . . . . . . . . . . . . . . . . . . . . . 83
5.5 Considérations de mise en œuvre pratique . . . . . . . . . . . . . . . . . . 84
5.6 Les méthodes de quasi-Newton . . . . . . . . . . . . . . . . . . . . . . . . 85

6 Schémas d’ordre élevé 89


6.1 Schémas de type Taylor . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
6.2 Schémas de Runge-Kutta. . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
6.3 Méthodes d’Adams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104

7 Intégration numérique 109


7.1 Intégration de type interpolation de Lagrange . . . . . . . . . . . . . . . . 109
7.1.1 Interpolation de Lagrange . . . . . . . . . . . . . . . . . . . . . . . 109
7.1.2 Formules de Newton-Côtes . . . . . . . . . . . . . . . . . . . . . . 112
7.1.3 Formules composites . . . . . . . . . . . . . . . . . . . . . . . . . . 113
7.2 Intégration de type interpolation de Gauss . . . . . . . . . . . . . . . . . . 114
7.2.1 Polynômes de Legendre . . . . . . . . . . . . . . . . . . . . . . . . 114
7.2.2 Méthode de Gauss-Legendre . . . . . . . . . . . . . . . . . . . . . . 116
7.2.3 Formules composites . . . . . . . . . . . . . . . . . . . . . . . . . . 118

8 Précision numérique 119


8.1 Schémas d’ordre élevé et précision numérique . . . . . . . . . . . . . . . . 119
8.2 Contrôle du pas de temps . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

9 Propriétés asymptotiques de schémas numériques 127


9.1 Stabilité absolue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
9.1.1 Domaine de stabilité . . . . . . . . . . . . . . . . . . . . . . . . . . 130
9.1.2 Stabilité absolue de quelques schémas numériques . . . . . . . . . . 132
9.2 Schémas numériques pour les systèmes hamiltoniens . . . . . . . . . . . . 137

A Rappels de topologie 147


A.1 Espaces métriques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
A.2 Normes d’application linéaire et norme subordonnée . . . . . . . . . . . . . 150
A.3 L’ensemble des matrices inversibles est ouvert . . . . . . . . . . . . . . . . 151

B Rappels de calcul différentiel 153

C Rappels sur les équations différentielles ordinaires 159


C.1 Présentation générale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
C.1.1 Systèmes différentiels d’ordre 1 . . . . . . . . . . . . . . . . . . . . 159
C.1.2 Le cas des équations différentielles autonomes . . . . . . . . . . . . 160
C.2 Équations différentielles linéaires . . . . . . . . . . . . . . . . . . . . . . . 161
3

C.2.1 Définitions et propriétés générales . . . . . . . . . . . . . . . . . . . 162


C.2.2 Systèmes différentiels linéaires à coefficients constants . . . . . . . . 164
C.2.3 Systèmes différentiels linéaires à coefficients variables . . . . . . . . 170
C.3 Existence et unicité dans le cas général . . . . . . . . . . . . . . . . . . . . 177
C.3.1 Résultats d’existence et d’unicité dans le cas général . . . . . . . . . 177
C.4 existence locale d’une solution . . . . . . . . . . . . . . . . . . . . . . . . 182
C.4.1 Existence globale à l’aide des fonctions de Liapounov . . . . . . . . . 189
Bibliographie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
4
Chapitre 1

Introduction

1.1 Analyse numérique


L’analyse numérique est une discipline à l’interface des mathématiques et de l’infor-
matique. Elle s’intéresse tant au développement, à l’analyse, qu’à la mise en pratique des
méthodes permettant de résoudre, par des calculs purement numériques, des problèmes
d’analyse mathématique.
Plus formellement, l’analyse numérique est l’étude des algorithmes permettant de
résoudre numériquement par discrétisation les problèmes de mathématiques continues
(distinguées des mathématiques discrètes). Cela signifie qu’elle s’occupe principalement
de répondre de façon numérique à des questions posées sur des modèles (formulés en
langage mathématique) survenant dans les sciences physiques et l’ingénierie. Branche
des mathématiques appliquées, son développement est étroitement lié à celui des outils
informatiques.
Le calcul scientifique est omniprésent dans la vie quotidienne : votre téléphone n’est
autre qu’un calculateur. Chaque texte, image, son, ou vidéo échangé ou partagé implique
du calcul, de la compression ou décompression de données etc. L’analyse numérique est la
branche des mathématiques qui étudie ces algorithmes et répond aux questions telles que
— L’algorithme est-il bien défini (ou va-t-il faire planter l’ordinateur) ?
— L’algorithme fait-il bien ce que pour quoi il a été créé (exemple : résout-il bien mon
équation) ?
— L’algorithme est-il précis (penser à la qualité de compression d’une image) ?
— L’algorithme est-il efficace et rapide ?
L’objectif de ce cours est d’adopter ce schéma de pensée et d’introduire quelques méthodes
d’analyse numérique pour répondre à des questions variées. Pour donner un fil conducteur
au cours, nous nous focaliserons sur l’approximation numérique des solutions d’équations
différentielles ordinaires. Outre son intérêt historique, la résolution numérique des équations
différentielles ordinaires est le premier pas vers la résolution numérique des équations
aux dérivées partielles (équations utilisées pour modéliser la plupart des phénomènes
physiques, mécaniques, chimiques, économiques, biologiques voire bio-médicaux...). Notre
étude des EDO nous amènera à définir le concept de schéma numérique, les notions de
stabilité et de consistance, et d’aborder les questions de résolution numérique de grands
systèmes linéaires, d’équations non linéaires, des questions d’approximation de fonctions et
d’intégration numérique. Nous conclurons par la question de reproduire au niveau discret
6 1. Introduction

des propriétés fondamentales des modèles continus associés (ici dans le cadre des schémas
symplectiques pour les systèmes hamiltoniens).
De nombreux algorithmes et domaines de l’analyse numérique ne seront pas abordés
dans ce cours, notamment les questions d’optimisation, pour lesquelles nous renvoyons par
exemple au cours de calcul différentiel et optimisation.

1.2 Ce qu’il faut savoir avant de commencer


Les mathématiques sont une discipline cumulative : on y construit des édifices de
plus en plus élevés sur des bases larges et solides. Ce cours ne fera pas exception à ce
principe général des études en mathématiques. Aucun préréquis n’est cependant demandé
en programmation.

1.2.1 Prérequis généraux


— Ensembles, applications.
— R, C, propriétés algébriques et topologiques.
— Algèbre linéaire en dimension finie, matrices, diagonalisation, trigonalisation (on ne
saurait trop insister sur combien l’algèbre linéaire est fondamentale).
— Espaces euclidiens, espaces hermitiens.
— L’intégrale de Riemann suffira. Une intégrale fonction de sa borne supérieure donne
une primitive de l’intégrande (par exemple si celle-ci est continue).

1.2.2 Topologie
— Espaces métriques, boules ouvertes, boules fermées.
— Topologie d’un espace métrique : ouverts, fermés. Intérieur et adhérence d’une partie
d’un espace métrique.
— Convergence d’une suite dans un espace métrique.
— Applications continues entre deux espaces métriques. Applications uniformément
continues entre deux espaces métriques.
— Compacts d’un espace métrique. L’image d’un compact par une application continue
est compacte. Toute application continue d’un compact à valeurs dans un espace
métrique est bornée. Tout application continue d’un compact métrique à valeurs dans
un espace métrique est uniformément continue.
— Espaces vectoriels 1 normés, topologie d’espace métrique associée à une norme.
Déclinaison des notions précédentes dans ce cas particulier.
— Suite de Cauchy dans un espace métrique, espace métrique complet, espace vectoriel
normé complet ou de Banach.
— Toute application uniformément continue d’une partie d’un espace métrique à
valeurs dans un espace métrique complet admet un unique prolongement continu à
l’adhérence de la partie de départ.
— Dans un espace de Banach, toute série normalement convergente, c’est-à-dire dont la
série des normes est convergente dans R+ , est convergente, c’est-à-dire que la suite
1. On ne parlera ici que d’espaces vectoriels sur les corps R ou C.
1.2. Ce qu’il faut savoir avant de commencer 7

de ses sommes partielles converge dans l’espace de Banach. La limite de cette suite
est appelée somme de la série.
— Toutes les normes sur un espace vectoriel de dimension finie sont équivalentes.
— Tous les espaces vectoriels normés de dimension finie sont complets, i.e., de Banach.
— Normes usuelles sur Rm , Cm .
— Les compacts d’un espace vectoriel normé de dimension finie sont ses fermés bornés.
— L’espace des fonctions continues d’un intervalle fermé borné I¯ à valeurs dans Rm , noté
C 0 (I¯; Rm ), muni de la norme ky kC 0 (I¯;Rm ) = maxt ∈I¯ ky(t)kRm (où l’on a pris n’importe
quelle norme sur Rm ) est un espace de Banach (de dimension infinie). La convergence
d’une suite de fonctions au sens de cet espace n’est autre que la convergence uniforme
sur I¯.
Quelques rappels sont donnés à l’annexe A.

1.2.3 Calcul différentiel

On se doute bien que pour parler d’EDO, il faut savoir différentier toutes sortes d’appli-
cations.
— Application différentiable d’un ouvert d’un espace vectoriel normé à valeurs dans un
autre espace vectoriel normé (différentiabilité en un point, différentiabilité partout).
Application continûment différentiable.
— Différentielle en un point d’une telle application comme application linéaire entre les
deux espaces vectoriels.
— À toutes fins utiles, on rappelle qu’une dérivée partielle n’a rien de bien méchant.
C’est juste une dérivée ordinaire par rapport à une variable quand on fixe toutes les
autres variables.
— En dimension finie, après un choix de base dans chacun des deux espaces vectoriels de
départ et d’arrivée, la matrice qui représente la différentielle d’une application dans
ces bases est appelée sa matrice jacobienne. Ses coefficients sont les dérivées partielles
des différentes composantes. Plus explicitement, soit f : U → F une application de
U ouvert d’un espace vectoriel normé E de dimension k à valeurs dans un espace
vectoriel normé F de dimension m . On suppose f différentiable au point x 0 ∈ U . Sa
différentielle en x 0 est une application linéaire d fx 0 de E dans F . Si l’on choisit une
base (u j )j=1,...,k de E et une base (vi )i=1,...,m de F , et que l’on note (x j ) les coordonnées
cartésiennes associées dans E et (yi ) les coordonnées cartésiennes associées dans F ,
alors l’application f est représentée par m applications coordonnées fi de l’ouvert de
Rk contenant les coordonnées des points de U , à valeurs dans R, de telle sorte que

m
Õ k
Õ
f (x) = fi (x 1, x 2, . . . , xk )vi , où x = x ju j .
i=1 j=1

La différentielle d fx 0 de f en x 0 est alors représentée dans ces bases par la matrice


jacobienne ∇f (x 0 ), matrice m × k dont les coefficients sont donnés par (∇f (x 0 ))ij =
∂ fi
∂x j (x 0 ), i = 1, . . . , m , j = 1, . . . , k . Cette représentation a lieu au sens usuel de
8 1. Introduction

Ík
l’algèbre linéaire, c’est-à-dire que pour tout vecteur h = j=1 h j u j de E , on a

m k k
Õ Õ Õ ∂ fi
d fx 0 h = (d fx 0 h)ivi avec (d fx 0 h)i = (∇f (x 0 ))ij h j = (x 0 )h j .
i=1 j=1 j=1
∂x j

On reconnaît un simple produit matrice-vecteur. Bien sûr, le fait que f soit différen-
tiable en x 0 implique que toutes ces dérivées partielles existent en x 0 .
— La composée de deux applications différentiables est différentiable. Si f : U → F est
différentiable en x 0 ∈ U ⊂ E et д : V → G est différentiable en f (x 0 ) ∈ V ⊂ F , U et
V ouverts de leur espace respectif, alors д ◦ f : U → G est différentiable en x 0 et sa
différentielle est la composée des différentielles de f et д, d(д ◦ f )x 0 = dд f (x 0 ) ◦ d fx 0 .
— Avec des choix de bases dans les trois espaces vectoriels, comme la matrice de la
composée de deux applications linéaires est le produit de leurs matrices (dans le même
ordre), on en déduit pour les matrices jacobiennes ∇(д ◦ f )(x 0 ) = ∇д(f (x 0 ))∇f (x 0 ).
— En explicitant tout cela avec des dérivées partielles, on obtient la très importante
formule de dérivation des fonctions composées de plusieurs variables, qu’il faut
absolument savoir appliquer quelles que soient les circonstances, même les plus
adverses,
m
∂(д ◦ f )l Õ ∂дl ∂ fi
(x 0 ) = (f (x 0 )) (x 0 ),
∂x j i=1
∂yi ∂x j

pour j = 1, . . . , k et l = 1, . . . , n où n est la dimension de G . 2 C’est une application


immédiate de la formule générale donnant les coefficients d’un produit matriciel en
fonction des coefficients des matrices dont on effectue le produit. C’est de l’algèbre
linéaire en fait (dont on ne saurait trop rappeler combien elle est fondamentale).
— On aura sûrement besoin de l’inégalité des accroissements finis, et plus généralement
de l’inégalité de Taylor-Lagrange, ainsi que de la formule de Taylor avec reste intégral
(de préférence), parfois avec reste de Taylor-Lagrange quand c’est possible, ou encore,
quand ce n’est pas la peine de trop se fatiguer, avec un reste exprimé sans autre
forme de procès et un peu vaguement avec des O (notation de Landau).
Quelques rappels sont donnés à l’annexe B.

1.2.4 Equations différentielles ordinaires


On suppose connue la théorie élémentaire d’existence et d’unicité des solutions d’équa-
tions différentielles ordinaires. La plupart des résultats utilisés dans le cours sont rappelés
dans l’annexe C, mais ne seront pas détaillés en cours.

De large portions de ce polycopié sont directement empruntées à des supports de cours


rédigés par Hervé Le Dret et par Marie Postel (Sorbonne Université, LJLL).

2. En fait, on a seulement besoin de se rappeler du cas n = 1, manifestement.


Chapitre 2

Notion de schéma numérique pour les


EDO

2.1 Equations différentielles ordinaires : rappels


Dans cette section, nous rappelons la définition d’une équation différentielle ordinaire,
la notion de problème de Cauchy et un premier algorithme de résolution numérique (la
méthode d’Euler). L’analyse théorique des EDO a été faite en L2 – les résultats principaux
sont rappelés Appendice C.

2.1.1 Définition
Dans tout ce qui suit, I est un intervalle ouvert de R, de la forme I = ]0,T [ le plus
souvent, avec T > 0, plus généralement parfois de la forme ]t 0,T [ avec T > t 0 , mais la
généralité supplémentaire apportée par ce t 0 par rapport à t 0 = 0 n’est qu’apparente. On
note I¯ = [0,T ] l’intervalle fermé correspondant. Soit m ≥ 1 un nombre entier. Étant donnée
une fonction continue f définie sur I¯ × Rm et à valeurs dans Rm , donc qui a tout couple (t, y)
avec t ∈ I¯ et y ∈ Rm associe un vecteur f (t, y) ∈ Rm , on s’intéresse au problème suivant :
trouver les fonctions y : I¯ 7→ Rm dérivables sur I , qui satisfont

∀t ∈ I, y 0(t) = f t, y(t) .

(2.1.1)

On rappelle qu’une fonction y : I¯ → Rm est dérivable en un point t ∈ I si et seulement


si toutes ses fonctions composantes, qui sont des fonctions définies sur I¯ à valeurs réelles
t 7→ yi (t), i = 1, . . . , m, sont dérivables au point t . Le vecteur dérivé y 0(t) a alors pour
composantes les dérivées yi0(t) des composantes de y .
Pour ce qui concerne la notation des dérivées, on utilisera de façon essentiellement
dy d 2y d ny
interchangeable y 0, y 00, . . . , y (n), dt , dt 2 , . . . , dt n . Dans certains contextes, comme celui de la
dynamique des systèmes de points matériels, on sera parfois amenés à noter traditionnelle-
ment yÛ et yÜ les dérivées première et seconde de y par rapport à t . 1
On dit que le problème (2.1.1) est un système d’équations différentielles ordinaires ou
système d’EDO ou EDO 2 tout court, du premier ordre, car seule la dérivée première de
1. Alors prononcées “ y point ” et “ y deux points ” ou “ y point point ”.
2. Abréviation que l’on utilisera plus ou moins systématiquement dans la suite pour éviter d’écrire
l’expression système d’équations différentielles ordinaires.
10 2. Notion de schéma numérique pour les EDO

y par rapport à t y apparaît. Dans le cas où m = 1, mais pas uniquement, on parle


simplement d’équation différentielle ordinaire, ou encore parfois plus rapidement d’équation
différentielle. La fonction f est appelée le second membre de l’EDO ou encore fonction second
membre de l’EDO.
L’égalité (2.1.1) est pour chaque t une égalité entre deux vecteurs de Rm . On peut l’écrire
composante par composante sous la forme

yi0(t) = fi t, y1 (t), y2 (t), . . . , ym (t) ,



(2.1.2)

où fi : I¯ × Rm → R désigne la i -ème composante de la fonction f , soit donc un jeu de m


équations scalaires pour i = 1 jusqu’à m , à satisfaire par le m -uplet des fonctions scalaires
inconnues yi : I¯ → R.
Une solution de l’EDO est donc une courbe paramétrée dans Rm , t 7→ y(t), qui se
débrouille pour faire en sorte que sa dérivée, ou son vecteur tangent au point t , vaut
exactement ce que vaut le second membre f en t et au point y(t). Il faut penser à la fonction
second membre comme à un champ de vecteurs dépendant du temps : à chaque instant t ,
on a en tout point y de Rm la donnée d’un vecteur f (t, y) de Rm .
Si l’on pense à une interprétation cinématique plutôt que géométrique, où t représente
le temps et y(t) la position d’un point mobile dans Rm à l’instant t , alors y 0(t) représente
la vitesse instantanée du mobile à l’instant t . Cette vitesse est donc égale à f (t, y(t)). C’est
d’ailleurs de cette façon que les EDO sont apparues historiquement, en lien avec la mécanique
du point matériel.
Prenons l’exemple d’un baton qu’on jette dans une rivière. En première approximation,
il est transporté par l’eau à la vitesse du courant. Sa position le long de l’axe de la rivière est
donc régie par l’EDO

x 0(t) = f (t, x(t))


où la fonction f (t, x) donne la vitesse du courant à la position x et au temps t . On peut
imaginer que cette vitesse dépend de x si le lit de la rivière est irrégulier (la vitesse sera
d’autant plus grande que la largeur sera petite), et du temps (la vitesse aumente avec le
débit, et varie donc en fonction des précipitations). La figure 2.1 donne un exemple de
champ de vecteurs correspondant à une variation sinusidale en x et en t . La longueur des
flèches est proportionnelle à la force du courant en un point x et un temps t . Les trois
courbes correspondent à trois solutions de l’EDO pour trois positions initiales différentes.
Pour approfondir et visualiser la notion de champ de vecteur, on pourra visionner la
vidéo disponible sur le site http://www.chaos-math.org/

2.1.2 Le problème de Cauchy


On sait bien qu’en général, si l’on se donne une EDO raisonnable, celle-ci va avoir une
infinité de solutions. Si l’on admet que de nombreux phénomènes naturels ou artificiels
sont régis par des équations différentielles, comment la nature choisit-elle la solution qui se
réalise parmi cette infinité possible ? En d’autre termes, comment obtient-on de l’unicité ?
Cette question est liée à celle du déterminisme de la physique classique et on l’exprime à
l’aide de la notion de problème de Cauchy 3.
3. Augustin Louis, baron Cauchy, 1789–1857.
2.1. Equations différentielles ordinaires : rappels 11

Figure 2.1 – Champ de vecteurs du courant dans une rivière f (x, t) = (2 + 0.9 cos(x))(1 +
0.9 sin(t)) et positions de trois bâtons lancés à x 0 = 1, x 0 = 3 et x 0 = 5 à l’instant initial
(voir le notebook cours_1.ipynb).

Définition 2.1.1 On appelle problème de Cauchy, la conjonction d’une EDO (2.1.1) et d’une
condition additionnelle, la donnée initiale,

y (t) = f (t, y(t)), pour tout t ∈ I,


 0
(2.1.3)
y(t 0 ) = y0,

où t 0 ∈ I¯ est un instant donné et y0 un vecteur donné de Rm .

On considérera le plus souvent pour simplifier que I = ]0,T [ et que t 0 = 0, ce qui ne nuit
pas à la généralité ⁴. La condition initiale est donc

y(0) = y0 .

Notons que pour le problème à N corps présenté plus haut, la donnée initiale consiste à
se donner les N positions initiales des corps célestes, qi (0) ∈ R3 , i = 1, . . . , N , et pour
chacun d’entre eux, sa vitesse initiale qÛi (0) ∈ R3 , i = 1, . . . , N , donc au total 6N conditions
scalaires.
Ce problème de Cauchy a-t-il une solution, et si oui, est-elle unique ? Pour répondre
à cette question fondamentale, il serait évidemment très agréable de pouvoir exhiber la
solution à l’aide d’une formule ne faisant intervenir que des fonctions bien connues comme
les fonctions polynomiales, les fractions rationnelles, les exponentielles, les logarithmes,
les fonctions trigonométriques et trigonométriques hyperboliques directes et inverses. ⁵
C’est ce que l’on appelle résoudre analytiquement ou intégrer l’EDO. Malheureusement, c’est
rarement possible. Il s’agit bien d’une impossibilité de principe, et non pas d’une impossibilité
d’incompétence...
4. Pourquoi d’ailleurs ?
5. Les fonctions que l’on obtient en combinant les éléments de cette liste par les opérations algébriques
usuelles et la composition forment ce que l’on appelle les fonctions élémentaires. Si l’on est plus savant, on peut
aussi en faire intervenir d’autres plus sophistiquées, appelées fonctions spéciales, souvent définies d’ailleurs
comme solutions de telle ou telle EDO.
12 2. Notion de schéma numérique pour les EDO

Le cas dit “ à variables séparées ”


En dimension m = 1, il existe une classe d’équations différentielles que l’on peut avoir
une chance d’intégrer au sens ci-dessus ⁶. Il s’agit des EDO dont les fonctions second membre
f sont à variables séparées, c’est-à-dire sous forme d’un produit d’une fonction de t par une
fonction de y ,
f (t, y) = д(t)h(y),
où д et h sont deux fonctions d’une seule variable. Il s’agit manifestement d’une condition
extrêmement restrictive. La plupart des EDO scalaires ne sont pas à variables séparées. Dans
ce cas particulier, l’équation différentielle se met sous la forme
y 0(t)
= д(t),
h(y(t))
(en supposant que l’on n’est pas en train de diviser par 0, ⁷ on procède ici un peu “ à la
physicienne ” comme on dit dans les cercles mathématiques). Au membre de gauche, on
reconnaît la dérivée de la fonction t 7→ R(y(t)) où R désigne une primitive de 1/h . Au
membre de droite, on a une fonction д à intégrer, notons G une de ses primitives sur [0,T ].
Il vient donc, pour tout t ∈ [0,T ],
t t
y 0(t)
∫ ∫
R(y(t)) − R(y(0)) = dt = д(t) dt = G(t) − G(0),
0 h(y(t)) 0

soit
R(y(t)) = R(y0 ) + G(t) − G(0).
Supposons que la fonction R soit bijective sur l’intervalle auquel appartient y(t) (nous
procédons toujours à la physicienne) et y admette donc une fonction réciproque notée R −1 .
On en déduit alors que
y(t) = R −1 R(y0 ) + G(t) − G(0) .


On conclut donc, avec un léger manque de rigueur, que s’il y a une solution au problème de
Cauchy, alors celle-ci est unique et donnée par la formule ci-dessus.
À ce stade-là, il faut encore vérifier que la formule en question donne bien une solution
du problème de Cauchy, car ce n’est absolument pas garanti par ce qui précède, même si
l’on fait abstraction des irrégularités qui ont émaillé le parcours. Pour la donnée initiale,
c’est assez évident :

y(0) = R −1 R(y0 ) + G(0) − G(0) = R −1 R(y0 ) = y0 .


 

Pour l’EDO, il faut savoir dériver une fonction réciproque et une fonction composée, ce qui
ne devrait pas poser de problème de principe à ce niveau d’études.
d −1
y 0(t) = R R(y0 ) + G(t) − G(0)

dt
1
=   × G 0(t)
R0 R −1
R(y0 ) + G(t) − G(0)
= д(t)h(y(t)) = f (t, y(t)),
6. Bien que cela ne soit pas gagné d’avance.
7. Ce qui est rigoureusement interdit en mathématiques.
2.1. Equations différentielles ordinaires : rappels 13

vu que R 0 = h1 et G 0 = д (et R(y0 ) − G(0) est une constante). On a donc trouvé, en croisant
un peu (en fait beaucoup) les doigts, l’unique solution du problème de Cauchy dans ce cas
simple.
Bien sûr, pour que l’EDO soit résoluble analytiquement, encore faut-il que les deux calculs
de primitives soient faisables analytiquement, c’est-à-dire s’expriment avec des fonctions
élémentaires. C’est pourquoi l’affaire n’était pas gagnée d’avance. Par exemple, les primitives
de la fonction t 7→ e −t ne peuvent pas s’exprimer à l’aide des fonctions élémentaires. On
2

a la même difficulté pour la fonction réciproque d’ailleurs. Mais enfin, même si le calcul
explicite n’est pas possible, on a quand même ainsi une petite idée de la solution.
Il existe d’autres familles d’équations différentielles dont on peut calculer explicitement
les solutions, par changement d’inconnues, ou bien quand il s’agit d’équations différentielles
exactes. On pourra se reporter à ses cours de L1 ou bien au site web de l’université en ligne :

http://uel.unisciel.fr/mathematiques/eq_diff/eq_diff/co/eq_diff.html

La théorie élémentaire d’existence et unicité de solutions d’EDO a été vue en L2.


Elle est reprise de façon assez détaillée en appendice de ce cours. L’objectif du cours est
plutôt de présenter des méthodes d’approximation numérique de solutions d’EDO, qui
donnent lieu à des algorithmes programmables sur ordinateur. Nous commençons par le
premier tel algorithme introduit dans l’histoire : la méthode d’Euler (qui a servi à l’origine à
justifier l’existence de solutions).

2.1.3 Approche historique par la méthode d’Euler


Dans ce paragraphe, nous allons décrire sans démonstration et sans être très précis, une
approche pour l’existence d’une solution du problème de Cauchy. Cette approche annonce
également la problématique du cours, celle de l’approximation numérique, mais utilisée ici
pour montrer l’existence et l’unicité. C’est une approche constructive, puisqu’elle consiste
à montrer la convergence d’une suite de solutions approchées connues explicitement et
calculables numériquement vers une solution de (2.1.3).
Bien avant l’informatique et le calcul scientifique, il est apparu judicieux d’introduire des
procédures de calcul approché pour les solutions d’équations différentielles. ⁸ Elles reposent
sur la notion de discrétisation.
Soit n un entier strictement positif. On définit une subdivision de l’intervalle [t 0,T ]

t 0 < t 1 < . . . < tn−1 < tn = T .

Soit une fonction y(t) dérivable sur [t 0,T ]. Si les points ti , i = 0, . . . , n , sont suffisamment
rapprochés les uns des autres, on peut raisonnablement approcher la dérivée y 0(ti ) aux
points ti par le taux de variation de y , appelé également quotient aux différences finies

y(ti+1 ) − y(ti )
y 0(ti ) ≈ .
ti+1 − ti
8. La méthode d’Euler date de 1768 dans Institutionum Calculi Integralis, Libri Prioris Pars Prima Sectio
Secunda, Caput VII, De Integratione Æquationum Differentialum Per Approximationem.
14 2. Notion de schéma numérique pour les EDO

Figure 2.2 – La source.

En tant que telle, cette approximation un peu vague ne sert pas à grand-chose, puisque l’on
ignore les valeurs y(ti ). L’idée est de remplacer ces valeurs par des valeurs yi , i = 0, . . . , n ,
qui soient calculables par récurrence en partant de y0 , la donnée initiale connue, et dont
on espère qu’elles seront proches des valeurs exactes y(ti ) si tout se passe bien. Pour cela,
notant que y 0(ti ) = f (ti , y(ti )), on imite l’EDO sous la forme

yi+1 − yi
= f (ti , yi ).
ti+1 − ti

Cette définition fonctionne clairement, puisqu’elle se réécrit comme

y1 = y0 + (t 1 − t 0 )f (t 0, y0 )
..
.
yn = yn−1 + (tn − tn−1 )f (tn−1, yn−1 ).

On l’a déjà dit, l’espoir est que ces valeurs calculables sont en fait des approximations des
valeurs exactes, qui ne sont pas en général calculables, en un sens à préciser. La méthode
est évidemment définie dans ce but, mais il n’est aucunement évident que ce but soit atteint
à ce point de l’analyse...
2.1. Equations différentielles ordinaires : rappels 15

On note hi = ti+1 − ti et h = maxi=0,...,n−1 hi . Le nombre h est appelé le pas de la


discrétisation. La ligne brisée reliant les points (ti , yi )i=0,...,n est appelée le polygone d’Euler.
C’est le graphe de la fonction affine par morceaux yh définie par

yh (t) = yi + (t − ti )f (ti , yi ), pour t ∈ [ti , ti+1 ]. (2.1.4)

La Figure 2.3 représente ce polygone pour n = 5, pour la fonction y(t) = t(1 − t) solution

Figure 2.3 – Polygone d’Euler pour y 0(t) = 1 − 2t 2 − 2y(t), T = 1 et n = 5.

de y 0(t) = 1 − 2t 2 − 2y(t) et pour un pas uniforme. On s’attend à ce que yh soit une


approximation de la solution y(t), convergeant vers y(t) lorsque n → ∞, ce qui implique
h → 0.

Exemple 2.1.1 Considérons le problème de Cauchy y 0(t) = ay(t) sur [0,T ], y(0) = y0 , dont
la solution est y(t) = e at y0 et choisissons une subdivision uniforme hi = ti+1 − ti = h = Tn
pour simplifier. Il est facile de voir que, pour T > 0 fixé, la valeur approchée yi = yh (ti ) est
donnée par
 aT  i
yh (ti ) = 1 + y0 .
n

Si y0 = 0, alors yh (t) = 0 = y(t) pour tout h et tout va bien. Supposons y0 , 0 et posons


y (t)
zh (t) = hy0 . Fixons t dans l’intervalle [0,T ]. Si l’on pose i = ht = n Tt , où le crochet
   

désigne la partie entière, alors on voit que ti ≤ t < ti+1 , ce qui implique que |t − ti | ≤ Tn .
Naturellement, cet indice i dépend de t et de h , même si on ne l’écrit pas explicitement. Par
conséquent, en prenant n assez grand pour que 1 + aTn > 0, comme zh (t) = (1 +a(t −ti ))zh (ti ),
16 2. Notion de schéma numérique pour les EDO

on a
h ti  aT 
ln(zh (t)) = ln(1 + a(t − ti )) + n ln 1 +
T n
 1  h t i aT 1
=O + n +O
n T n n
1
= at + O .
n

En effet, comme n Tt − 1 ≤ n Tt ≤ n Tt , on voit que at − aT


 t  aT
n T n ≤ at pour a ≥ 0 et un
 
n ≤
encadrement analogue pour a < 0. On en déduit que yh (t) tend vers y(t) quand n → +∞.
Avec un peu plus de soin, on établit que la convergence est uniforme. ♦

L’exemple ci-dessus n’est pas très éclairant, puisque c’est un cas où l’on sait que la
solution existe, on a même une formule explicite pour celle-ci. On peut en fait montrer
la convergence du schéma d’Euler, voir Figure 2.4, dans le cas général modulo quelques
hypothèses supplémentaires. On ne va pas les donner ici. ⁹ Sous ces hypothèses, la suite de
fonctions affines par morceaux yh converge uniformément vers une fonction y qui se trouve
être dérivable (ce que les yh ne sont pas) et solution du problème de Cauchy.

Figure 2.4 – Convergence des polygones d’Euler pour le problème de Cauchy y 0(t) =
1 − 5t 2 − 10y(t), y(0) = 0, 5. On a tracé la solution exacte en bleu et trois polygones de
couleurs différentes correspondant respectivement à n = 10 (bleu foncé), 18 (cyan) et 26
(brun).
9. On aura cette preuve par des voies détournées par la suite : existence de la solution d’abord par un
autre biais, puis convergence de la méthode d’Euler, parmi bien d’autres méthodes d’approximation.
2.2. La notion de schéma numérique 17

Retenons que ce n’est pas une méthode très performante du point de vue numérique,
mais que c’est la plus simple de toutes et qu’à ce titre elle reste utile pour appréhender
rapidement le comportement des solutions.
Ceci constitue le premier exemple d’approximation numérique d’une EDO, par la méthode
d’Euler. Nous allons maintenant généraliser le principe pour définir un grand nombre d’autres
méthodes d’approximation numérique, que nous appellerons aussi des schémas numériques.
Nous aborderons ensuite l’étude mathématique de ces schémas avec en ligne de mire leur
convergence vers la solution du problème de Cauchy de départ. Cette étude portera sur deux
notions essentielles, la stabilité du schéma et sa consistance. On parlera aussi d’estimation
d’erreur et l’on appliquera tout cela à plusieurs grandes familles de schémas numériques.
Pour mettre en oeuvre (ou juste développer) certains de ces schémas, nous serons
confrontés à des problèmes qui ne sont pas directement reliés aux EDO, mais qui font
partie de l’analyse numérique au sens large – tels l’analyse numérique matricielle, les
algorithmes de résolution de problèmes non linéaires, la théorie de l’approximation ou
encore l’intégration numérique de fonctions.

2.2 La notion de schéma numérique


On se donne un problème de Cauchy générique de la forme (2.1.3) que l’on supposera
satisfaire de bonnes hypothèses assurant existence, unicité et régularité de la solution.
Dans l’hypothèse réaliste où il est impossible d’en donner une solution analytique, si
l’on veut disposer d’informations quantitatives sur la solution, il faut donc définir des
procédés d’approximation effectivement calculables, à la main dans le passé, sur ordinateur
aujourd’hui. Cela implique en particulier que de tels procédés ne fassent intervenir qu’un
nombre fini d’inconnues scalaires, alors qu’une fonction fait naturellement intervenir une
infinité non dénombrable de valeurs scalaires.
On commence donc par discrétiser, c’est-à-dire remplacer du continu par du discret,
l’intervalle I = [0,T ] en y plaçant N + 1 points tn = nh , n = 0, . . . , N , appelés points de
discrétisation, uniformément espacés de h = T /N (h est appelé pas de la discrétisation), pour
un entier N > 0 donné. En particulier t 0 = 0 est l’instant initial et t N = T l’instant final.
Le cas d’une discrétisation à pas variable hn = tn+1 − tn , ajusté de manière adaptative pour
optimiser la précision du schéma sera traité ultérieurement au paragraphe 8.2.
L’approximation numérique du problème de Cauchy consiste à construire une suite
indexée par N ∈ N∗ de valeurs y0N , . . . y NN censées approcher les valeurs exactes de la
solution aux points de discrétisation, y(t 0 ), . . . , y(t N ), en un sens que l’on précisera plus loin.
Comme y(t 0 ) = y0 est connu, on prendra (presque) toujours y0N = y0 et, même si cela peut
créer de l’ambiguïté, on notera généralement ynN par yn (mais il faut garder à l’esprit la
dépendance par rapport à N ).
Un schéma numérique est la donnée d’une telle construction, nous en verrons de nombreux
exemples. Notons que dans le contexte de l’approximation numérique, on parle couramment
de “ résoudre ” l’équation avec un schéma, alors qu’on ne fait en réalité que calculer une
approximation nécessairement entachée d’erreur de la solution. Le vocabulaire est correct
par contre si l’on parle d’un schéma convergent en tant que procédé abstrait d’approximation.
Après tout, mis à part les objets construits en un nombre fini d’étapes à partir des nombres
entiers, tous les objets de l’analyse sont définis par des approximations diverses et variées.
18 2. Notion de schéma numérique pour les EDO

Dans la pratique, par contre, on ne peut pas faire tendre N vers l’infini, mais on n’effectue
les calculs que pour une ou un petit nombre de valeurs de N , d’où les guillemets entourant
le mot résoudre plus haut.
Il y a plusieurs façons de procéder pour construire des schémas numériques.
1. On écrit l’équation (2.1.1) à l’instant tn (ou à un instant de discrétisation voisin),

y 0(tn ) = f (tn , y(tn )),

relation exactement satisfaite. On remplace alors la dérivée y 0(tn ) du membre de gauche


par un quotient aux différences, obtenu généralement en utilisant des développements de
Taylor faisant intervenir les valeurs exactes de la fonction inconnue y à des instants de
discrétisation voisins de tn . Dans un deuxième temps, on remplace les valeurs exactes de
la fonction inconnue dans le quotient aux différences et dans le membre de droite par les
fameuses approximations, encore potentielles à ce stade. Voici quelques exemples :
(a) L’approximation
y(tn+1 ) − y(tn )
y 0(tn ) ≈ (2.2.1)
h
remplace la dérivée par un quotient aux différences contenant les valeurs de y en deux
points de discrétisation. C’est une approximation qui semble raisonnable quand h est petit.
Le deuxième temps de la construction consiste à remplacer ces valeurs exactes par des
valeurs approchées potentielles dans les deux membres de l’équation
yn+1 − yn
= f (tn , yn ),
h
ce qui conduit au schéma
yn+1 = yn + h f (tn , yn ), (2.2.2)
qui est appelé schéma d’Euler explicite, ou schéma d’Euler progressif, ou plus simplement
schéma d’Euler.
Attention, une erreur trop fréquente est de confondre y(tn ) et yn ! Si l’on pouvait confondre
les deux, il n’y aurait aucune raison de se casser la tête à définir des schémas numériques...
Le schéma d’Euler (2.2.2) se présente sous la forme d’une récurrence vectorielle, défi-
nissant une suite finie de vecteurs y0, y1, . . . , y N de Rm , dont il faut assurer l’initialisation.
On prendra donc pour y0N (on note ici l’exposant N implicite parce qu’il est utile de le
voir, on l’oubliera ensuite 1⁰) soit la valeur initiale exacte y0 , si celle-ci est connue, soit une
approximation de y0 dépendant donc de N . À partir de là, la récurrence se déroule sans
accroc.
Jusqu’ici, il ne s’agit que d’une recette, certes a priori raisonnable, mais dont on n’a
aucune garantie qu’elle fournisse bien ce que l’on espère, à savoir des approximations des
valeurs exactes y(tn ).
Cette méthode est dite explicite car yn+1 est donnée explicitement par une formule
connue appliquée à tn et yn . Il n’y a pas d’équation supplémentaire à résoudre pour l’obtenir.
Plus généralement, si la valeur de yn+1 est donnés explicitement en fonction de certaines des
valeurs calculées aux instants antérieurs, y0, . . . , yn , qui ont déjà été calculées précédemment
lors de la mise en œuvre du schéma, on dit que l’on a affaire à un schéma explicite.

10. Voir remarque plus haut sur cet exposant implicite.


2.2. La notion de schéma numérique 19

(b) L’approximation
y(tn+1 ) − y(tn )
y 0(tn+1 ) ≈ (2.2.3)
h
conduit de la même façon à partir de y 0(tn+1 ) = f (tn+1, y(tn+1 )) au schéma implicite

yn+1 = yn + h f (tn+1, yn+1 ). (2.2.4)

Cette fois-ci, pour calculer yn+1 , il faut résoudre une équation, en général non linéaire (sauf
si y → f (t, y) est affine en y ), d’où le qualificatif d’implicite. Il n’est pas évident que cette
équation ait une solution ni que celle-ci soit unique, on verra plus loin sous quelles conditions
ceci est vrai. Quand on y adjoint une condition initiale comme précédemment, on obtient
donc une autre récurrence vectorielle. Le schéma (2.2.4) est appelée schéma d’Euler implicite
ou rétrograde.
(c) L’approximation centrée

y(tn+1 ) − y(tn−1 )
y 0(tn ) ≈ (2.2.5)
2h
conduit au schéma
yn+1 = yn−1 + 2h f (tn , yn ), (2.2.6)
appelé schéma leapfrog (saute-mouton). Ce schéma est explicite, mais c’est une récurrence à
deux pas. Sa mise en ?uvre demande par conséquent de connaître y0 , disons la donnée de
Cauchy, et y1 qui n’est pas une donnée du problème, et qu’il faut donc se procurer autrement
d’une façon ou d’une autre (forcément avec un schéma à un pas, mais convenablement
choisi).
(d) On peut aussi utiliser des combinaisons de plusieurs approximations de y 0(tn ). Par
exemple une combinaison linéaire de (2.2.1), (2.2.3) et (2.2.5) conduit au schéma

α(yn+1 − yn ) + β(yn+1 − yn ) + γ (yn+1 − yn−1 ) = αh f (tn , yn ) + βh f (tn+1, yn+1 ) + 2γh f (tn , yn ),

ou toute autre variante raisonnable. Les paramètres α , β et γ sont à choisir au mieux pour
que le schéma ait les meilleures propriétés d’approximation possibles.
2. Une deuxième manière de construire un schéma numérique utilise les techniques
d’intégration numérique ou de quadrature (voir [4] chapitre 2). En intégrant l’EDO (2.1.1)
sur un intervalle [tn , tn+1 ], on obtient
∫ tn+1 ∫ tn+1
y(tn+1 ) − y(tn ) = y (s) ds =
0
f s, y(s) ds.

(2.2.7)
tn tn

On peut donc calculer y(tn+1 ) connaissant y(tn ), pourvu que l’on sache aussi calculer
l’intégrale ∫ tn+1
In = f s, y(s) ds.

(2.2.8)
tn

Évidemment, on ne sait pas calculer cette intégrale puisqu’on ne connait pas la solution
exacte 11. Par contre, on peut l’approcher à l’aide d’une des multiples formules de quadra-
ture numérique qui existent déjà dans la nature, voir la Figure 2.9 pour l’interprétation
11. Et même si on la connaissait... mais est-ce que l’on n’est pas en train de tourner un peu en rond ?
20 2. Notion de schéma numérique pour les EDO

géométrique des méthodes les plus élémentaires d’intégration numérique. On procédera ici
aussi en deux temps : approximation de l’intégrale par une formule de quadrature faisant
intervenir les valeurs exactes en des points de discrétisation (si possible), puis remplacement
de toutes les valeurs exactes par des valeurs approchées potentielles. Dans ce qui suit, on
n’écrit plus la donnée initiale.
(a) Approchons l’intégrale (2.2.8) par la méthode des rectangles à gauche (avec un seul
rectangle).

Rm

f (tn , y(tn ))

tn tn+1 t
h

Figure 2.5 – À gauche, la fonction t 7→ f (t, y(t)) étant tracée en rouge.

On obtient donc
In ≈ h f tn , y(tn ) .


Remplaçant maintenant dans (2.2.7) et dans l’approximation précédente les valeurs exactes
y(tn ) par des valeurs que l’on espère approchées yn , il vient

yn+1 − yn = h f (tn , yn ),

soit
yn+1 = yn + h f (tn , yn ),
On retrouve ainsi le schéma d’Euler explicite, déception (de courte durée). Dans le cas
(on le rappelle pas très intéressant) où f (t, y) = д(t) ne dépend pas de y , le schéma redonne
la méthode des rectangles à gauche composée pour approcher ∫t une intégrale, voir Figure
2.9. En effet, dans ce cas et avec y0 = 0, on a y(t) = 0 д(s) ds et yn+1 = yn + hд(tn ), d’où
yn = h n−k=0 д(tk ).
Í 1
(b) Le même procédé appliqué avec la méthode des rectangles à droite, toujours avec un
seul rectangle, donne
yn+1 = yn + h f (tn+1, yn+1 ).
2.2. La notion de schéma numérique 21

Rm

f (tn+1, y(tn+1 ))

tn tn+1 t
h

Figure 2.6 – À droite.

C’est le schéma d’Euler implicite, toujours rien de nouveau jusque là. Dans le cas où
f (t, y) = д(t) ne dépend pas de y , le schéma redonne la méthode
Ín des rectangles à droite
composée pour approcher une intégrale, voir Figure 2.9, yn = h k=1 д(tk ).
(c) Si l’on approche (2.2.8) par la méthode du point milieu, 12 on trouve l’approximation

Rm
f (tn + h2 , y(tn + h2 ))

tn tn + h/2 tn+1 t
h

Figure 2.7 – Au milieu.

12. En tant que méthode de quadrature, la méthode du point milieu, qui est aussi une méthode des
rectangles, est nettement plus précise que les méthodes des rectangles à gauche et à droite quand h → 0. On
peut espérer que le schéma numérique que l’on en tire soit plus performant que les schémas d’Euler, ce qui en
fait se révélera bien être le cas.
22 2. Notion de schéma numérique pour les EDO

h h
  
In ≈ h f tn + , y tn + .
2 2

Cela ne permet pas de construire directement un schéma numérique suivant la recette


habituelle, puisque la valeur y(tn + h/2) ne correspond pas à un point de discrétisation.
Néanmoins, on peut reprendre pour cette valeur intermédiaire l’idée du schéma d’Euler et
dire que
h h h
 
y tn + ≈ y(tn ) + y 0(tn ) = y(tn ) + f (tn , y(tn )).
2 2 2
Remplaçant les valeurs exactes y(tn ) par des valeurs approchées yn , on obtient ainsi un
schéma appelé schéma d’Euler modifié (ou schéma du point milieu),

h h
 
yn+1 − yn = h f tn + , yn + f (tn , yn ) ,
2 2

soit
h h
 
yn+1 = yn + h f tn + , yn + f (tn , yn ) , (2.2.9)
2 2
qui est un schéma explicite. On voit que les choses commencent à se compliquer un peu,
avec des compositions de la fonction f avec elle-même qui ne sont pas exactement intuitives.
Dans le cas où f (t, y) = д(t) [...] la méthode du point milieu composée [...] Figure 2.9,
yn = h n− h
k=0 д(tk + 2 ).
Í 1
(d) En approchant (2.2.8) par la méthode des trapèzes (avec un seul trapèze, cf.
Figure 2.8), on obtient le schéma

Rm

f (tn+1, y(tn+1 ))

f (tn , y(tn ))

tn tn+1 t
h

Figure 2.8 – Avec un trapèze.

h
yn+1 = yn + f (tn , yn ) + f (tn+1, yn+1 ) ,

(2.2.10)
2
2.2. La notion de schéma numérique 23

appelé schéma de Crank-Nicolson ¹³. C’est un schéma implicite. Dans le cas où f (t, y) = д(t)
[...] la méthode des trapèzes composée [...] Figure 2.9, yn = h 12 д(t 0 ) + n−
k=1 д(tk ) + 2 д(tn ) .
Í 1 1


À chaque discrétisation de (2.2.8), on peut ainsi associer un schéma numérique pour le


problème de Cauchy.
1.8 1.8

1.6 Méthode des rectangles à gauche 1.6 Méthode des rectangles à droite

1.4 1.4

1.2 1.2

1 1

0.8 0.8

0.6 0.6

0.4 0.4

0.2 0.2

0 0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

1.8 1.8

1.6 Méthode du point milieu 1.6 Méthode des trapèzes

1.4 1.4

1.2 1.2

1 1

0.8 0.8

0.6 0.6

0.4 0.4

0.2 0.2

0 0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

Figure 2.9 – Illustration des formules de quadratures utilisées dans le contexte de l’inté-
gration numérique : on approche l’aire située sous la courbe par la somme des aires des
rectangles (ou des trapèzes).

3. La dernière catégorie de schémas que l’on abordera dans ce cours est celle des
schémas symplectiques, destinés spécifiquement aux systèmes hamiltoniens comme ceux de
la mécanique céleste. 1⁴
Les schémas précédemment introduits, Euler, leapfrog, Crank-Nicolson, sont d’un usage généraliste. On
peut les utiliser pour n’importe quelle EDO. Néanmoins, pour certaines familles d’EDO qui possèdent une
structure supplémentaire, il peut se faire que des schémas numériques spécialisés soient plus indiqués, en
particulier si ces schémas sont adaptés pour tenter de prendre en compte la structure supplémentaire en
question. C’est le cas pour les systèmes hamiltoniens. On rappelle que ces systèmes différentiels s’écrivent sous
la forme générique
∂H
qÛ = ∂p ,





(2.2.11)
∂H
pÛ = − ∂q ,




où le hamiltonien H est une fonction des variables de position q = (qi )i=1,...,m et de moment ou impulsion
p = (pi )i=1,...,m et où l’on a écrit ∂H
∂p à la place de ∇p H etc. Ces systèmes ont la propriété de conserver le
hamiltonien au cours du temps. Qui plus est, ils conservent également les volumes 2m -dimensionnels au sens
suivant. Il existe une notion de volume k -dimensionnel sur tout Rk , volk , qui généralise naturellement la
longueur pour k = 1, l’aire pour k = 2 et le volume pour k = 3. Le volume du parallélotope défini par k
vecteurs de Rk est simplement la valeur absolue de leur déterminant. On imagine comment définir le volume

13. John Crank, 1916–2006 ; Phyllis Nicolson, 1917–1968.


14. La géométrie cachée derrière les systèmes hamiltoniens s’appelle la géométrie symplectique.
24 2. Notion de schéma numérique pour les EDO

d’une partie de Rk en la découpant en tous petits parallélotopes... 1⁵ Pour tout t ≥ 0, on note

φt : R2m −→ R2m
(q 0, p0 ) 7−→ φ t (q 0, p0 ) = (q(t), p(t)),
où (q, p) est la solution de (2.2.11) muni des conditions initiales

q(0) = q 0, p(0) = p0 .
L’application φ t s’appelle le flot de l’EDO. On admet le théorème de Liouville suivant : pour tout ouvert borné
D de R2m et tout t ,
vol2m (D) = vol2m (φ t (D)).
En particulier, pour m = 1, on a conservation de l’aire usuelle par le flot dans l’espace des phases R2 . C’est la
seule dimension où l’on puisse visualiser cette conservation.
Il est possible et intéressant de construire des schémas numériques de précision arbitrairement grande
conservant à la fois les aires et le hamiltonien (en moyenne). L’exemple le plus simple s’obtient en modifiant
très légèrement le schéma d’Euler, qui prend ici la forme
∂H
qn+1 = qn + h ∂p (qn , pn ),





∂H
pn+1 = pn − h ∂q (qn , pn ),




en changeant juste un indice dans la deuxième ligne
∂H
qn+1 = qn + h ∂p (qn , pn ),





∂H
pn+1 = pn − h ∂q (qn+1, pn ).




Le schéma obtenu s’appelle schéma d’Euler symplectique. Remarquons que, contrairement aux apparences, le
schéma d’Euler symplectique reste explicite. On effet, on calcule d’abord qn+1 en fonction de (qn, pn ) via la
première ligne, puis pn+1 via la seconde. On a donc en fait pn+1 = pn − h ∂H ∂H
∂q q n + h ∂p (q n , pn ), pn .
Insistons bien une nouvelle fois sur le fait qu’aucune de ces constructions aussi tarabiscotée soit-elle ne
garantit que les valeurs yn calculées par un de ces schémas approchent bien les valeurs exactes y(tn ). On a
simplement défini ces valeurs de façon a priori raisonnable par rapport au problème de Cauchy considéré.
Montrer a posteriori que ces méthodes fonctionnent est ce qu’on appelle effectuer l’analyse numérique de ces
schémas. Ce que l’on fera d’ailleurs dans la suite.
Par curiosité, regardons ce que donnent les schémas définis plus haut dans le cas d’une équation scalaire
linéaire y 0(t) = ay(t), c’est-à-dire f (t, y) = ay . On sait dans ce cas que la solution du problème de Cauchy n’est
autre que y(t) = e at y0 . Pour le schéma d’Euler, on obtient

yn+1 = yn + hayn = (1 + ha)yn , d’où yn = (1 + ha)ny0 .


La discussion de l’exemple 2.1.1 montre que l’on converge bien vers ce qu’on veut. Pour le schéma d’Euler
implicite, on trouve
yn+1 = yn + hayn+1 .
C’est bien une équation pour yn+1 , il se trouve que c’est l’un des rares cas où elle se résout facilement et
explicitement. En effet, on en déduit que
yn y0
yn+1 = , d’où yn = ,
1 − ha (1 − ha)n
à condition que h soit assez petit pour que 1 − ha , 0, c’est-à-dire pour N assez grand. Pour la méthode d’Euler
modifiée, on obtient
n
h h 2a 2 h 2a 2
    
yn+1 = yn + ha yn + ayn = 1 + ha + yn , d’où yn = 1 + ha + y0 .
2 2 2

15. La théorie de la mesure, c’est quand même un peu plus compliqué que cela.
2.3. Schémas numériques généraux 25

Enfin pour le schéma de Crank-Nicolson, qui est implicite, il vient


!n
h 1 + h2 a 1 + h2 a
yn+1 = yn + (ayn + ayn+1 ), d’où yn+1 = yn , d’où yn = y 0,
2 1 − h2 a 1 − h2 a

là aussi pour h assez petit. On peut voir en suivant les même lignes que dans l’exemple 2.1.1 que l’on converge
bien aussi dans ces trois derniers cas vers ce que l’on veut, voir Figure 2.10. 1⁶
L’équivalent de ces exemples pour le schéma d’Euler symplectique correspond à l’hamiltonien le plus
simple possible H (q, p) = 12 p 2 + 21 q 2 . On obtient

qn+1 = qn + hpn et pn+1 = pn − hqn+1 = (1 − h 2 )pn − hqn ,

c’est-à-dire n  
qn h q0
  
1
= .
pn −h 1 − h2 p0
q0 qn
   
On voit que la matrice qui apparaît est de déterminant 1 et donc que l’application 7 → conserve les
p0 pn
aires dans R2 . Notons que dans ce cas, le schéma d’Euler (pas symplectique pour un sou) donne

qn+1 = qn + hpn et pn+1 = pn − hqn ,

soit n  
qn 1 h q0
  
= ,
pn −h 1 p0
avec une matrice qui n’est pas de déterminant 1.

2.3 Schémas numériques généraux


La forme générale d’un schéma numérique pour approcher les solutions d’un problème
de Cauchy est la suivante

yn+1 = yn + hΦ(tn+p , yn+p , tn+p−1, yn+p−1, . . . , tn−q , yn−q , h),

où p et q sont des entiers relatifs tels que p ≥ −q , de sorte que n + p ≥ n − q pour tout n , et Φ
est une fonction de ([0,T ] × Rm )p+q+1 × [0, 1], à valeurs dans Rm . En effet, si l’on part de n +p
et que l’on descend jusqu’à n −q , cela se fait en p +q + 1 étapes. Pour rendre l’écriture unique,
on suppose que n + p (respectivement n − q ) est le plus grand (respectivement plus petit)
indice qui apparaît effectivement dans le schéma. On se restreint, un peu arbitrairement,
à [0, 1] pour la variable h , qui est le pas de la discrétisation, car celle-ci va tendre vers 0
dans la suite. N’importe quel autre intervalle compact contenant 0 conviendrait aussi bien,
d’ailleurs on sera parfois contraints de prendre un tel autre intervalle [0, h 0 ].
Cette forme englobe tous les exemples précédents, sauf le schéma leapfrog qui ne rentre
pas tout à fait naturellement dans cette case. Par exemple, pour le schéma d’Euler, on a
Φ(tn , yn , h) = f (tn , yn ) soit p = q = 0, ou pour le schéma d’Euler implicite Φ(tn+1, yn+1, h) =
f (tn+1, yn+1 ) soit p = 1, q = −1. Dans la suite, on se limitera à p ≤ 1.
Si p ≤ 0, le schéma est dit explicite, sinon il est dit implicite, l’idée étant toujours la
même : avec un schéma explicite, la donnée des valeurs y j correspondant à des instants
antérieurs à tn , donc normalement déjà calculées, donne directement yn+1 par une formule
16. Que donne le schéma leapfrog sur cet exemple, d’ailleurs ?
26 2. Notion de schéma numérique pour les EDO

0 1 2 3 4

Figure 2.10 – × : Euler, × : Euler implicite, ◦ : Euler modifiée, ◦ : Crank-Nicolson, tous avec
le même pas h = 31 . En vert, la solution exacte. On en ressort avec l’impression nette que
Euler modifiée et Crank-Nicolson donnent de meilleurs résultats que Euler et Euler implicite.
Intuition à confirmer plus tard.

connue qu’il suffit alors d’appliquer, alors que dans le cas d’un schéma implicite, on doit
résoudre une équation en général non linéaire pour déterminer yn+1 . 1⁷ Parmi les schémas
déjà vus, les schémas d’Euler implicite et de Crank-Nicolson sont implicites, les autres sont
explicites. On verra un peu plus loin que la terminologie explicite-implicite est légèrement
différente dans le cas des schémas de Runge-Kutta.
Si q ≥ 1, on dira que le schéma est à q + 1 pas, et si q ≤ 0 qu’il est à un pas. Par exemple,
les schémas d’Euler, Euler implicite, point milieu et Crank-Nicolson sont à un pas. Le schéma
leapfrog est considéré comme un schéma à deux pas.
Pour démarrer un schéma à un pas, il suffit d’une valeur y0 , dans la mesure du possible
prise égale à y(0), à moins que cette valeur ne soit pas exactement connue, auquel cas il faut
se contenter d’une approximation y0 ≈ y(0) (ce qui est le cas général dans la vraie vie). 1⁸
La situation est différente pour les schémas à q + 1 pas avec q ≥ 1 : ces schémas ne peuvent
être utilisés que pour calculer les valeurs yn pour n ≥ q + 1 et cela suppose connues les
q + 1 premières valeurs y0, . . . yq . Or seule y0 est donnée par le problème de Cauchy. Pour
calculer les valeurs manquantes, il faut utiliser d’autres schémas, par exemple un schéma à
un pas pour calculer y1 , puis un schéma à deux pas pour calculer y2 , etc. et un schéma à q
pas pour calculer yq , ou bien calculer les q valeurs de n = 1 à n = q avec un schéma à un

17. On peut légitimement s’interroger sur la raison de s’imposer cette torture supplémentaire dans les
schémas implicites... on verra ça plus tard.
18. Il faudrait donc pour être complètement précis dans la notation distinguer entre le y0 donnée initiale du
problème de Cauchy et le y0 , première valeur d’un schéma numérique. Mais c’est trop lourd, alors on ne le fait
pas.
2.3. Schémas numériques généraux 27

pas en partant de y0 ...


Par ailleurs, des variantes sophistiquées des schémas construits sur les principes précé-
dents peuvent être introduites, en particulier pour gérer la taille du pas entre deux points de
discrétisation. En effet, il est souvent utile de faire varier ce pas en fonction de la régularité
de la solution. Dans les zones où la solution varie beaucoup, il faut suivre au mieux ces
variations et l’on utilisera un pas de temps plus petit que dans les zones où elle est varie peu
et où il n’est pas utile de calculer trop souvent. On sent que les stratégies pour arriver à faire
cela de façon algorithmique ne sont pas forcément évidentes.
On est donc face à un choix impressionnant de schémas numériques, qui ont tous leurs
avantages et leurs inconvénients :
— simplicité/difficulté de la conception,
— simplicité/difficulté de la mise en œuvre informatique,
— rapidité d’exécution (nombre d’opérations élémentaires),
— précision (par rapport à la solution exacte qu’on ne connaît pas en général...),
— stabilité par rapport à de petites variations ou erreurs sur la condition initiale.
Nous allons dans les chapitres suivants préciser et quantifier l’évaluation de ces différents
critères. Nous verrons également sur des exemples qu’en pratique le choix n’est pas toujours
simple.
28 2. Notion de schéma numérique pour les EDO
Chapitre 3

Analyse numérique matricielle

3.1 Motivation
On considère une EDO linéaire d’ordre 2 avec condition initiale et finale : I =]0, 1[,

∀t ∈ I, y 00(t) = y(t), et y(0) = 0, y(1) = 1.


exp(t)−exp(−t)
Bien sûr, l’unique solution de ce problème est donnée par y(t) = exp(1)−exp(−1) . Supposons
qu’on veuille approcher cette solution par la méthode d’Euler (explicite). Soit N ≥ 1, on
décompose [0, 1] en N intervalles et on pose tn = Nn pour n = 0, . . . , N , h = N1 . La méthode
d’Euler consiste à approcher la dérivée par un taux d’accroissement. Pour la dérivée seconde,
on écrit
y(tn+1 )−y(tn ) y(tn )−y(tn−1 )
y 0(tn ) − y 0(tn−1 ) h − h y(tn+1 ) − 2y(tn ) + y(tn−1 )
y (tn ) '
00
' = .
h h h2
Le schéma d’Euler s’écrit alors
yn+1 − 2yn + yn−1
y0 = 0, yN = 1, ∀n = 1, . . . , N − 2, = yn ,
h2
ou encore

y0 = 0, yN = 1, ∀n = 1, . . . , N − 2, yn+1 − (2 + h 2 )yn + yn−1 = 0. (3.1.1)

Bien que (3.1.1) soit linéaire, la solution ne peut pas se calculer de proche en proche : comme
on ne connaît pas y1 , la première relation y2 − (2 + h 2 )y1 + y0 = 0 ne permet pas de calculer
y2 . Par ailleurs, la condition finale yN = 1 donne une relation de compatibilité entre yN −1 et
yN −2 sous la forme 1 − (2 + h 2 )yN −1 + yN −2 = 0. Pour y voir plus clair, récrivons (3.1.1) sous
forme matricielle. En posant Y = (yn )n=1,...,N −1 , on obtient

−(2 + h 2 ) 1 0 ... 0   y1   0 
−(2 + h 2 ) 1 ...   y2   0 
    
 1 0
 .. ... ... ... ..  .   . 
  ..  =  ..  ,

 . .     (3.1.2)
. . . −( + h 2
)  y
N
 0 1 2 1  0
  −2   

 0 ... 0 1 −(2 + h 2 ) yN −1  −1
 
| {z } | {z } |{z}
=: A =: Y =: B
30 3. Analyse numérique matricielle

ou de manière compacte AY = B , où A est une matrice carrée symétrique de taille


(N − 1) × (N − 1) et B est un vecteur de taille N − 1. La première question est de savoir
si ce système admet bien une unique solution. La matrice A est à diagonale strictement
dominante, elle est donc inversible par le lemme d’Hadamard.
D’un point de vue pratique, comment calculer la solution Y ? Ceci est l’objectif de l’analyse
numérique matricielle. Nous allons présenter deux types de méthodes : les méthodes directes
(qui reviennent à inverser la matrice A d’une manière ou d’une autre) et les méthodes
itératives (qui reviennent à approcher la solution Y de manière itérative, sans jamais inverser
explicitement A).

3.2 Méthodes directes


On appelle méthode directe de résolution d’un système linéaire une méthode qui converge
en un nombre fini (et prédéfini) d’itérations. Dans cette section, nous revisitons d’abord la
méthode du pivot de Gauss.

3.2.1 Notation et opérations élémentaires


On considère A une matrice carrée réelle de taille N , avec la convention que aij est l’entrée
de la i -ème ligne et de la j -ème colonne de A (de manière générale, les majuscules sont
réservées aux matrices ou vecteurs et les minuscules à leurs entrées). On utilise la notation
Ai : pour la i -ème ligne Ai : = {aij }j=1,...,N et A:i pour la i -ème colonne A:i = {a ji }j=1,...,N .
On définit deux opérations élémentaires :
— l’échange des lignes i et j , qu’on note de la façon D ← (Ai : ↔ Aj : ) (D est la matrice
obtenue en échangeant les lignes i et j de A) ;
— la combinaison linéaire de lignes de A, qu’on note de la façon Di : ← (λAi : + µAj : ) (D
est la matrice obtenue en remplaçant la ligne i de A par λ fois la ligne i plus µ fois la
ligne j , pour λ, µ ∈ R).
On notera aussi AT pour la transposée de A : aTij := a ji pour tout 1 ≤ i, j ≤ N .

3.2.2 Factorisation A = LU et résolution de AY = B


Notre objectif est de construire deux matrices triangulaires L (inférieure, L comme
“lower”) et U (supérieure, U comme “upper”) telles que A = LU , en utilisant la méthode du
pivot de Gauss. Nous présentons l’algorithme en supposant qu’on ne divise jamais par zéro
(i.e. tous les pivots sont non nuls).
La méthode de Gauss consiste, à chaque itération 1 ≤ k ≤ N − 1, à éliminer la variable
d’indice k des équations k + 1 . . . N de la matrice. On note A(1) = A. On procède de manière
itérative et on suppose les k − 1 premières itérations établies au sens où on a obtenu une
matrice A(k) de la forme
" #
(k)
U (k) A12 k+(N −k),k+(N −k)
A(k) = (k) (k) ∈ R ,
A21 A22
3.2. Méthodes directes 31

avec
a (k) . . . a (k)  0 . . . 0 a (k) 
 11 1k  k+1,k 
... ..  , ..  .

U (k) = .  A(k) = 0 . . . 0 . 
 
21
(k)  0 . . . 0 a (k) 
 

 akk   N ,k 
A l’itération k , on cherche à interpréter les opérations élémentaires menant à l’élimination
de la variable d’indice k en termes de multiplication à gauche par des matrices bien choisies.
(k)
Supposons que ukk = akk (le pivot) est non nul. Pour annuler les coefficients de la variable k
dans les lignes k + 1, . . . , N de A, on fait naturellement les combinaisons linéaires suivantes
(k)
aik
A(k+
i:
1)
← A(k)
i: − (k)
A(k)
k:
pour k + 1 ≤ i ≤ N .
akk

En termes matriciels, cela revient à multiplier A(k) à gauche par E (k) = (eij ) ∈ RN ,N , avec
(k)
(k) aik
eii = 1 pour 1 ≤ i ≤ N , eik =− (k)
pour k + 1 ≤ i ≤ N , eij = 0 autrement,
akk
soit
1 
 ..
 
.

0 
.
 ..

1

 
. a
(k)
E (k) =  .. .

− k+(k)1,k 1
akk

 .. .. . . . 
 
. .
 (k)

 a N ,k 
0 − (k) 1
 akk
 
(k+1)
Par construction, la nouvelle matrice A(k+1) = E (k)A(k) est telle que aij = 0 pour tout
1 ≤ j ≤ k + 1 et 1 ≤ i < j . Un point important à noter est que la matrice est triangulaire E (k)
(k)
inférieure car, pour tout 1 ≤ i < j ≤ N on a Eij = 0. De plus, on a diag (E(k)) = (1, . . . , 1).
(k)
En supposant tous les pivots non nuls, à savoir, akk , 0 pour tout 1 ≤ k ≤ N − 1, on
peut donc écrire la méthode de Gauss de la manière compacte

E (N −1) . . . E (1)A = U ⇐⇒ A = LU ,
où nous avons posé L := (E (N −1) . . . E (1) )−1 et où U := A(N ) ∈ RN ,N est une matrice
triangulaire supérieure. La proposition suivante montre que la matrice L est obtenue au
cours des itérations sans coût supplémentaire.
Proposition 3.2.1 (Calcul de la matrice L) Supposons qu’aucun pivot n’est nul. La matrice L
est triangulaire inférieure et on a L = L(1) . . . L(N −1), où pour tout 1 ≤ k ≤ N − 1, L(k) = (E (k) )−1
est explicitement donnée par
(k)
aik
lii(k) = 1 pour 1 ≤ i ≤ N , lik(k) = (k)
pour k + 1 ≤ i ≤ N , lij(k) = 0 autrement,
akk
32 3. Analyse numérique matricielle

soit
1 
 ..
 
.

0 
.
 ..

1

 
=  ...
(k)
ak +1,k
L(k)  = 2IdN − E (k) .
 
(k) 1
akk

 .. .. . . . 
 
. .
 (k)

 a N ,k 
0 (k) 1
 akk
 
En particulier, pour tout 1 ≤ k ≤ N − 1, le produit L̃(k) := L(1) . . . L(k) prend la forme
 1 
 a21 . .
 (1) 
.

 (1) 
 a11 
 .
 .. ...

1

 
L̃ (k)
=  ..
(k)
ak+1,k
 
 .

(k) 1
akk

 .. .. . . . 
 
 . .
 (1) (k)

 aN 1 a N ,k
 (1) . . .

 a11 (k) 1
akk
 
et on a L̃(k)A(k+1) = A.
(k+1) (k)
Démonstration. Comme Akk = Akk , pour tout 1 ≤ k ≤ N − 1 la matrice A(k) peut s’obtenir
à partir de la matrice A(k+1) en effectuant les combinaisons linéaires
(k)
aik
A(k)
i: ← A(k+
i:
1)
+ (k)
A(k+
k:
1)
pour k + 1 ≤ i ≤ N ,
akk

qu’on peut récrire sous la forme matricielle A(k) = L(k)A(k+1) = L(k) E (k)A(k) ou encore A(k+1) =
E (k)A(k) = E (k)L(k)A(k+1) . Ceci montre bien que E (k) est inversive et que (E (k) )−1 = L(k) . La
matrice L est bien triangulaire inférieure comme produit de matrices triangulaires inférieures
et on obtient la formule explicite donnée par récurrence (faites la preuve !). Enfin, on a par
définition de l’algorithme que E (k) . . . E (1)A = A(k+1) , soit A = (E (1) )−1 . . . (E (k) )−1A(k+1) =
L(1) . . . L(k)A(k+1) = L̃(k)A(k+1) , comme annoncé. ♦

Corollaire 3.2.2 (Déterminant de A) Soit A une matrice admettant une factorisation A =


LU comme ci-dessus, alors
N
Ö
det A = det U = ukk .
k=1

Démonstration. D’une parte det A = det(LU ) = det L det U . D’autre part, comme L et U sont
ÎN
triangulaires, det L = k=1 lkk = 1 (cf. diagonale de 1) et det U = k= 1 ukk . On en déduit
Î
le résultat. ♦
3.2. Méthodes directes 33

Un décompte rapide montre que le nombre de d’opérations élémentaires (i.e multiplica-


tions, divisions et additions) à effectuer pour la factorisation LU est de l’ordre de 2N 3 /3
(en négligeant les termes d’ordre inférieur).
Le résultat suivant donne une condition suffisante pour que la méthode de factorisation
soit bien définie (c’est-à-dire une condition qui assure a priori qu’aucun pivot n’est nul).

Théorème 3.2.3 Soit A = (aij ) ∈ RN ,N une matrice et posons pour tout 1 ≤ k ≤ N

a 11 . . . a 1k 
∆(k) :=  ... . . . ..  ∈ Rk,k .

. 
a
 k 1 . . . akk 

Si pour tout 1 ≤ k ≤ N , ∆(k) est inversible, alors il existe une unique factorisation A = LU
avec U triangulaire supérieure inversible et L triangulaire inférieure dont les entrées diagonales
sont 1.

Démonstration. On procède par récurrence pour montrer que l’hypothèse implique que
le pivot ne peut pas être nul dans la méthode de Gauss. Comme a 11 = ∆(1) , 0, on peut
faire la première itération de la factorisation. Supposons qu’on ait fait 1 ≤ k < N − 1
itérations et ainsi construit les matrices L̃(k) et A(k+1) qu’on décompose en quatre blocs de
taille (k + 1) × (k + 1), (k + 1) × (N − 1 − k), (N − 1 − k) × (k + 1) et (N − 1 − k) × (N − 1 − k)
" # " #
L̃(k) 0 U (k+1) A(k+1)
k+1+(N −1−k),k+1+(N −1−k)
L̃(k) = (k)11 , A(k+1) = (k+1) (k+1) ∈ R
12 .
L̃ 21 IdN −1−k A21 A22

On rappelle que U (k+1) est triangulaire supérieure, que L̃(k) triangulaire inférieure avec une
diagonale de 1 et qu’on a

∆(k+1) A12
 
L̃ A
(k) (k+1)
=A= ,
A21 A22
(k) (k)
d’où on déduit par un calcul par blocs que L̃ 11 U (k+1) = ∆(k+1) . Puisque L̃ 11 est inversible
(comme matrice triangulaire avec une diagonale de 1, et donc de déterminant 1), cela
(k)
implique U (k+1) = (L̃ 11 )−1 ∆(k+1) . La matrice triangulaire supérieure U (k+1) est donc inver-
sible comme produit de deux matrices inversibles (en utilisant l’hypothèse sur ∆(k+1) ) et
son déterminant est non nul. Comme det U (k+1) = k+
Î 1 (k+1) (k+1)
i=1 aii , 0, le pivot ak+ 1,k+1
est
nécessairement non nul et on peut passer à l’étape k + 1. Par la récurrence ci-dessus, on
peut poursuivre l’algorithme jusqu’à l’étape k + 1 = N − 1, définissant L̃(N −1) et A(N ) , auquel
cas on a terminé la factorisation A = LU en posant U = A(N ) et L = L̃(N −1) .
On conclut par l’unicité. Supposons qu’on ait A = L 1U1 = L 2U2 pour deux jeux de
matrices L 1, L 2 triangulaires inférieures avec des 1 comme entrées diagonales et U1, U2
triangulaires supérieures. Comme A, L 1 et L 2 sont inversibles, U1 et U2 sont inversibles et on
a l’égalité U1U2−1 = L−1 1L 2 . De cette égalité on veut conclure que M := U1U2−1 = L−1 1L 2 = Id.
En notant que l’inverse d’une matrice triangulaire supérieure (respectivement inférieure
avec une diagonale de 1) est triangulaire supérieure (respectivement inférieure avec une
diagonale de 1) et que le produit de deux matrices triangulaires supérieures (respectivement
inférieures avec une diagonale de 1) est triangulaire supérieure (respectivement inférieure
34 3. Analyse numérique matricielle

avec une diagonale de 1), on déduit que M est triangulaire supérieure car M = U1U2−1 et
triangulaire inférieure avec une diagonale de 1 car M = L−1 1L 2 . Ainsi M est nécessairement
diagonale et ses entrées diagonales sont 1, soit M = Id. Ceci prouve que L 1 = L 2 et U1 = U2 :
la décomposition est bien unique. ♦

On pourrait croire que ce théorème n’a qu’une importance théorique. En effet, comment
peut-on savoir a priori que toutes les “sous-matrices” de A sont inversibles ? Si on revient
à l’exemple (3.1.2) qui a motivé ce chapitre, on se rend rapidement compte que toutes
les sous-matrices ont exactement la même forme et sont donc, tout comme A, inversibles.
Les matrices rencontrées lors de la discrétisation d’EDO (et aussi d’équations aux dérivées
partielles) ont souvent une structure particulière qu’il conviendra d’essayer d’exploiter en
pratique.
D’une manière plus générale, on n’implémente pas cet algorithme directement mais on
se permet plutôt d’échanger des lignes (voire des colonnes) de manière à trouver le grand
pivot possible (en particulier un pivot non nul). Cette méthode, appelée “pivoting” partiel
ou total, sera traitée en exercice.
Une fois qu’on a une factorisation de type A = LU pour la matrice A ∈ RN ,N , la résolution
du système linéaire AY = B avec Y, B ∈ RN se fait simplement en résolvant à la suite les
deux systèmes triangulaires suivants (par substitutions successives)

LX = B, UY = X.

En effet, on a alors LU Y = LX = B comme voulu. On parle de descente pour la matrice


triangulaire inférieure et de remontée pour la matrice triangulaire inférieure. Traitons en
détail la remontée pour résoudre U Y = X . On rappelle que U a la forme générale

u 11 u 12 . . . u 1N 
u 22 . . . u 2N 
 
U = 

... .. 
 . 

 u N N 
ÎN
et qu’on a ukk , 0 car 0 , det U = k=1 ukk . La solution Y de U Y = X est donc donnée par

N
xN 1 Õ
yN = , pour i de 1 à N − 1, yN −i = x N −i − u N −i,jy j .

uN N u N −i,N −i j=N −i+1

On remarque que le nombre d’opérations (additions, multiplications et divisions) est


exactement N 2 , ce qui est négligeable devant le nombre d’opérations requises pour la
factorisation (de l’ordre de 2N 3 /2).

3.2.3 Méthode de Cholesky


Dans ce paragraphe on traite le cas particulier (et souvent rencontré en pratique) des
matrices symétriques définies positives. On rappelle qu’une matrice A ∈ RN ,N symétrique
3.2. Méthodes directes 35

est définie positive si et seulement si toutes ses valeurs propres sont strictement positives,
ou, de manière équivalente si pour tout vecteur X ∈ RN non nul on a
N
Õ
X · AX := aij xi x j > 0,
i,j=1

où X · AX = (X, AX )RN est le produit scalaire de RN . Reprenons la factorisation A = LU . En


appelant D la matrice diagonale qui contient la diagonale de U , on peut écrire A = LDMT
avec MT := D −1U , matrice triangulaire supérieure avec une diagonale de 1 (donc M est
triangulaire inférieure avec une diagonale de 1). Sous les hypothèses du Théorème 3.2.3, la
décomposition A = LDMT est unique. Si A est symétrique, on obtient LDMT = A = AT =
MDLT , d’où on déduit M = L par unicité de la décomposition. On a ainsi A = LDLT , d’où
on déduit D = L−1A(L−1 )T (en utilisant que l’inverse commute avec la transposition, comme
le montre le petit calcul LT (L−1 )T = (L−1L)T = Id).
Montrons que cela implique que D est elle-même symétrique définie positive. Elle est
T
bien symétrique car DT = L−1A(L−1 )T = L−1AT (L−1 )T = L−1A(L−1 )T (propriété qu’on
savait déjà car D est diagonale !). Soit X ∈ RN non nul. Le vecteur Y = (L−1 )T X est aussi
non nul (car (L−1 )T est inversible), on a

X · DX = X · L−1A(L−1 )T X = (L−1 )T X · A(L−1 )T X = Y · AY > 0

et D est donc bien définie positive. Commes les entrées de D sont ses valeurs propres, ellse
sont strictement positives et on peut définir la racine carrée de D par la formule
√ p p
D := diag ( d 11, . . . , d N N ).

En notant H := DLT (qui est une matrice triangulaire supérieure par construction), on
obtient la décomposition (dite de Cholesky)

A = HT H .

Le résultat suivant donne une construction directe de la matrice H .

Théorème 3.2.4 (Factorisation de Cholesky) Soit A ∈ RN ,N une matrice symétrique définie


positive. Alors il existe une unique matrice H triangulaire supérieure avec diagonale strictement
positive telle que A = H T H . Les éléments de H peuvent être calculés à partir des formules

suivantes : h 11 = a 11 et, pour tout, 2 ≤ i ≤ N ,
j−1 i−1 1
1  Õ   Õ
h ji = aij − hki hkj , pour 1 ≤ j ≤ i − 1, hii = aii − hki
2 2
.
h jj k=1 k=1

Démonstration. On commence par l’unicité et suppose qu’on a A = H 1T H 1 = H 2T H 2 pour


deux telles matrices H 1 et H 2 . Comme H 1 et H 2 sont inversibles, en multipliant à gauche par
(H 1−1 )T et à droite par H 2−1 on obtient l’égalité H 1H 2−1 = (H 1T )−1H 2T . Cela implique d’abord
que (H 1T )−1H 2T est diagonale (elle est à la fois triangulaire supérieure et inférieure). Elle est
donc égale à sa transposée et on peut récrire l’égalité sous la forme

H 1H 2−1 = (H 2H 1−1 )T = H 2H 1−1 = (H 1H 2−1 )−1 .


36 3. Analyse numérique matricielle

Comme seules Id et −Id sont leur propre inverse, on a H 1H 2−1 = ±Id, qu’on récrit H 1 = ±H 2 .
On a donc nécessairement H 1 = H 2 car leurs diagonales sont toutes deux à termes positifs.
Cela montre l’unicité.
On passe maintenant à l’existence et aux formules explicites. On raisonne par récurrence
sur la dimension N . Pour N = 1, le résultat est trivial. Supposons-le vrai en dimension
N − 1 et et prouvons-le en dimension N . On considère une matrice AN symétrique définie
positive, qu’on écrit sous la forme
A N −1 ν
 
AN = ,
νT aN N
où ν est un vecteur de taille N − 1 et a N N ∈ R (on a même a N N > 0, mais on ne s’en sert
pas). Avant d’appliquer l’hypothèse de récurrence, vérifions que la matrice symétrique AN −1
est bien définie positive. Pour cela, Il suffit de montrer que pour tout X ∈ RN −1 non nul on
a X · AN −1X > 0. Définissons alors Y ∈ RN via yi = xi pour 1 ≤ i ≤ N − 1 et y N = 0. Si X
est non nul, Y est non nul, et comme AN est définie positive, on a bien
N
Õ N
Õ −1
0 < Y · AN Y = (AN )ijyi y j = (AN )ij xi x j = X · AN −1X .
i,j=1 i,j=1

D’après l’hypothèse de récurrence, il existe H N −1 triangulaire supérieure telle que AN −1 =


H NT −1H N −1 . On cherche alors β > 0 et h ∈ RN −1 tels qu’on ait l’égalité
  T
AN −1 ν H N −1 0 H N −1 h
  
AN = = ,
νT aN N hT β 0 β

H N −1 h
 
auquel cas AN T
= H N H N avec H N := triangulaire supérieure à diagonale
0 β
strictement positive. Vérifions que c’est possible. Par bloc, c’est équivalent aux deux égalités

H NT −1h = ν, h · h + β 2 = aN N .
Le première relation définit bien h de manière unique (c’est une descente pour la matrice
triangulaire inférieure H N T , qui correspond à la définition de l’énoncé pour h ). Reste à
−1 ji
vérifier que la seconde relation définit bien un réel β > 0. Par la première relation, on a
h = (H N−1−1 )T ν et donc h · h = (H N−1−1 )T ν · (H N−1−1 )T ν = ν · A−N1−1ν . Avec Y 0 ∈ RN défini par
yi0 = (A−N1−1ν)i pour 1 ≤ i ≤ N − 1 et yN0 = −1, on obtient l’égalité

Y 0 · AN Y 0 = (A−N1−1ν ) · AN −1 (A−N1−1ν ) + a N N − 2ν · A−N1−1ν


= aN N − h · h

Comme AN est symétrique définie positive, Y 0 ·AN Y 0 > 0 et on peut définir β := Y 0 · AN Y 0 >
0 qui satisfait bien la relation h · h + β 2 = a N N (et correspond à la définition de l’énoncé
pour hii ). ♦

On conclut ce paragraphe sur la forme a priori de la matrice H . Un résultat similaire


est vrai pour la factorisation LU , mais il est rendu un peu plus subtil quand on s’autorise
(ce qu’il faut) le pivotage. On commence par définir la notion d’enveloppe convexe d’une
matrice.
3.3. Méthodes itératives 37

Définition 3.2.5 (Enveloppe convexe d’une matrice) Soit A ∈ RN ,N une matrice symé-
trique définie positive. Pour tout 1 ≤ i ≤ N , on pose mi (A) := i − min{j < i | aij , 0}. On
appelle enveloppe convexe de A la suite d’indices

E(A) := {(i, j) | 0 < i − j ≤ mi (A)}.

L’enveloppe convexe de A décrit la structure des termes hors-diagonaux non nuls de A,


comme on le voit dans l’exemple suivant (où les croix indiquent les indices retenus dans
E(A)).
10 0 0 0 1
­×
© ª © ª
­ 0 5 6 0 0® ®
A = ­ 0 6 10 9 2® , E(A) { ­× × ®.
­ ® ­ ®
­× ×
­ ® ­ ®
­ 0 0 9 10 3® ®
« 1 0 2 3 1¬ «× × × ¬

Corollaire 3.2.6 Soit A ∈ RN ,N une matrice symétrique définie positive et H l’unique matrice
triangulaire supérieure à diagonale strictement positive telle que A = H T H . Alors E(H + H T ) =
E(A).

En particulier, le stockage de H ne prend pas plus de place que le stockage de A (si A est
stockée via son enveloppe convexe). Ceci est une conséquence directe des formules explicites
du Théorème 3.2.4.

3.3 Méthodes itératives


Les méthodes itératives pour résoudre le système linéaire AY = B sont basées sur un
principe itératif et ne visent pas à inverser la matrice A, mais plutôt à calculer une suite
d’approximations de la solution Y (d’autant plus précise que l’itération est grande – ou en
tout cas on l’espère). Les approches que nous proposons ci-dessous sont basées sur une
interprétation variationnelle de l’équation AY = B pour laquelle nous avons besoin que A
soit symétrique définie positive, ce que nous supposerons par la suite.

3.3.1 Reformulation de AY = B comme problème de minimisation


Rappelons qu’un point y minimise une fonction j sur un ensemble E si et seulement si
y ∈ E et j(y) ≤ j(x) pour tout x ∈ E . Le résultat principal de ce paragraphe est le suivant.

Théorème 3.3.1 Soit A ∈ RN ,N une matrice symétrique définie positive et B ∈ RN un vecteur.


Soit J : RN → R la forme quadratique définie par J (X ) := 21 X · AX − B · X . Alors on a
l’équivalence pour Y ∈ RN

AY = B ⇐⇒ J (Y ) = inf {J (X ), X ∈ RN }.

Ce théorème affirme que Y est solution du système linéaire AY = B si et seulement si il


minimise la fonction J sur RN .
38 3. Analyse numérique matricielle

Démonstration. Soit Y tel que AY = B . Un tel Y existe et est unique car A est inversible. Soit
X ∈ RN . Par la symétrie de A sous la forme Y · AX = X · AT Y = X · AY , on a
1 1
J (X ) − J (Y ) = X · AX − B · X − Y · AY + B · Y
2 2
1 1
= X · AX − AY · X − Y · AY + AY · Y
2 2
1 1
= X · AX + Y · AY − X · AY − Y · AX ) = (X − Y ) · A(X − Y ).
2 2
Comme (X − Y ) · A(X − Y ) ≥ 0, on a J (X ) ≥ J (Y ) pour tout X ∈ RN et Y est un
bien un minimiseur de J . Réciproquement, si Y 0 ∈ RN est un minimiseur de J , alors
0 ≥ J (Y 0) − J (Y ) = 12 (Y 0 − Y ) · A(Y 0 − Y ) ≥ 0, auquel cas (Y 0 − Y ) · A(Y 0 − Y ) = 0 et donc
Y 0 = Y , ce qui montre que Y 0 satisfait bien AY 0 = B .
L’argument ci-dessus marche bien car on sait déjà que le système linéaire AY = B a une
solution. Pour la culture, montrons comment procéder en supposant plutôt que c’est pour
le problème de minimisation qu’on sait qu’il y a une solution (c’est aussi le cas ici par un
argument de convexité). Soit donc Y 0 ∈ RN un vecteur qui minimise J sur RN . En particuler,
pour tous t > 0 et X ∈ RN , on obtient en utilisant la symétrie de A
1 0 1
0 ≤ J (Y 0 + tX ) − J (Y 0) = (Y + tX ) · A(Y 0 + tX ) − B · (Y 0 + tX ) − Y 0 · AY 0 + BY 0
2 2
1
= tX · (AY 0 − B) + t 2X · AX .
2
En divisant par t > 0, on obtient
1
X · (AY 0 − B) + tX · AX ≥ 0,
2
puis en faisant tendre t vers 0
X · (AY 0 − B) ≥ 0,
d’où on déduit AY 0 − B = 0 (prendre X puis −X dans l’inégalité, puis conclure que le seul
vecteur orthogonal à tout l’espace est le vecteur nul). ♦

Les méthodes itératives que nous présentons ci-dessous visent à minimiser la forme
quadratique J de manière approchée plutôt qu’à résoudre le système linéaire AY = B (ce
qui, à convergence, revient au même par le Théorème 3.3.1).

3.3.2 Méthode du gradient à pas fixe


Le point de départ est la minimisation de la fonctionnelle J du Théorème 3.3.1. Cette
fonctionnelle est de classe C ∞ (c’est une fonction quadratique). En particulier, si on a une
approximation Yn de la solution de AY = B et qu’on la perturbe par αX avec α > 0 et
X ∈ RN (pour l’instant, le α est un peu redondant) on a (en utilisant la symétrie de A pour
écrire Yn · AX = X · AYn )
1 1 1
J (Yn + αX ) = Yn · AYn + (Yn · AX + X · AYn ) + α 2X · AX − B · Yn − αB · X
2 2 2
= J (Yn ) + α(AYn − B) · X + O(α 2 kX kR2 N ).
3.3. Méthodes itératives 39

Si AYn = B , on a trouvé notre minimiseur. Si non, on appelle rn := AYn − B le résidu. Dans


ce cas, si on veut que J (Yn + αX ) < J (Yn ), il faut que rn · X < 0. On choisit alors X = −rn et
pose Yn+1 = Yn − αrn . Reste à choisir le scalaire α , c’est-à-dire de combien on avance dans la
direction opposée au résidu rn . Pour cela, on reformule la méthode comme

Yn+1 = (Id − αA)Yn + αB.

Sous quelles conditions cette méthode itérative converge ? Appelons en := Yn − Y l’erreur à


l’ordre n . La relation de récurrence prend la forme, en utilisant que AY = B ,

en+1 = (Id − αA)Yn + αB − Y = (Id − αA)en + Y − αAY + αB − Y = (Id − αA)en .

Ainsi, on obtient par récurrence (la rédiger !) que pour tout n ≥ 0

en = (Id − αA)n−1e 0 . (3.3.1)

Dans le cas N = 1, on connaît bien la condition nécessaire et suffisante pour que en → 0, il


s’agit juste de | 1 − αa| < 1. Dans le cas matriciel N > 1, il y a un résultat du même type.

Lemme 3.3.2 Soit D ∈ RN ,N une matrice symétrique et soit ρ(D) = max{|λ|, λ ∈ spectre (D)},
où le spectre de D est l’ensemble de ses valeurs propres (on rappelle qu’une matrice symétrique
est diagonalisable dans R). On a l’équivalence suivante

Pour tout X ∈ RN , lim Dn X = 0 ⇐⇒ ρ(D) < 1.


n→∞

Démonstration. Soit X 1, . . . , X N une famille libre de vecteurs propres de D , associés aux


valeurs propres λ 1, . . . , λ N (comptées avec leur multiplicité). Tout X ∈ RN se décompose
ÍN
sous la forme X = i= 1 xi X i et on a par linéarité de D et définition des vecteurs propres

N
Õ
DX = x i λi X i
i=1

et ainsi, par récurrence, pour tout n


N
n
xi λni Xi .
Õ
D X =
i=1

Comme la famille X 1, . . . , X N est libre, limn→∞ Dn X = 0 si et seulement si pour tout


1 ≤ i ≤ N , limn→∞ xi λni = 0, soit |λi | < 1, ce qui est bien équivalent à ρ(D) < 1. ♦

Ce lemme permet de donner une condition nécessaire et suffisante pour la convergence


de la méthode du gradient.

Théorème 3.3.3 (Convergence de la méthode du gradient) Soit A ∈ RN ,N une matrice


symétrique définie positive, spectre (A) l’ensemble de ses valeurs propres et B ∈ RN un vecteur.
Soit α > 0 un réel, Y0 ∈ RN un point de départ et, pour tout n ∈ N, soit Yn+1 = (Id −αA)Yn +αB
l’itérée par la méthode du gradient à pas α . La suite Yn converge vers la solution Y ∈ RN de
AY = B pour tout point de départ Y0 ∈ RN si et seulement si maxλ∈spectre (A) | 1 − αλ| < 1. Par
40 3. Analyse numérique matricielle

ailleurs, pour le choix optimal α = 2


λ M +λm on a l’estimation pour la norme euclidienne ken k2 de
l’erreur en = Yn − Y
 λ − λ n
M m
ken k2 ≤ ke 0 k2, (3.3.2)
λM + λm
où λm = min{spectre(A)}, λM = max{spectre(A)}, et k · k2 désigne la norme euclidienne sur
ÍN 2
RN (soit kX k22 := i=1 xi ).

Démonstration. D’après (3.3.1), avec la notation en = Yn − Y , on a en = (Id − αA)ne 0 pour


tout n . En appliquant le lemme 3.3.2 à la matrice D = Id − αA, on a la convergence en → 0
(et donc Yn → Y pour tout choix de Y0 ), si et seulement ρ(Id − αA) < 1. Comme Id est
diagonale dans toute base, les vecteurs propres Xi de A sont aussi vecteurs propres de
Id − αA, cette fois avec les valeurs propres 1 − αλi (où les λi sont les valeurs propres de
A). La condition ρ(D) < 1 est donc équivalente à maxλ∈spectre (A) | 1 − αλ| < 1. On peut
vérifier que le choix qui rend maxλ∈spectre (A) | 1 − αλ| minimal est α = λ M +λ
2
m
, auquel cas
λ M −λm λm +λ M −2λ
maxλ∈spectre (A) | 1 − αλ| = λ M +λm . En effet, pour ce choix de α , 1 − αλ = λm +λ M , est une
λm +λ M λm +λ M
fonction décroissante en λ , positive pour λ ∈ [λm , 2 ] et négative pour λ ∈ [ 2 , λM ],
et sa valeur absolue pour λ ∈ [λm , λM ] est maximale en λ = λm et λ = λM et vaut bien λλ MM −λ m
+λm .
Pour montrer (3.3.2), il suffit de prendre la norme euclidienne de l’égalité (3.3.1),
c’est-à-dire, ken k2 = k(Id − αA)ne 0 k2, qui implique pour la norme subordonnée sur les
matrices
ken k2 ≤ k Id − αAk2n ke 0 k2,
où k Id − αAk2 := sup kX k2 =1 k(Id − αA)X k2 (les normes du membre de droite sont sur les
vecteurs de RN – définition A.2.1 de la norme subordonnée dans l’annexe A). En écrivant
le vecteur unitaire X sous la forme X = i=1 xi Xi pour une base orthonormée de RN de
Í
vecteurs propres {X 1, . . . , X N } de A, on obtient par orthogonalité des Xi , et le fait que
ÍN 2
kXi k2 = 1 et kX k22 = i= 1 xi = 1

N
Õ N
Õ
k(Id − αA)X k22 =k (1 − αλi )xi Xi k2 =
2
(1 − αλi )2xi2
i=1 i=1
N λ − λ 2
M m
Õ
≤ max | 1 − αλ| 2 xi2 = ,
λ∈spectre (A)
i=1
λM + λm

d’où on déduit k Id − αAk2 = λλ MM −λ


+λm (choisir pour X le vecteur propre associé à λm pour voir
m

que ce n’est pas juste une borne, mais bien la norme de la matrice) et donc (3.3.2). ♦

L’estimation (3.3.2) est intéressante et montre que plus les valeurs propres sont éloi-
gnées les unes des autres, plus la méthode du gradient est lente à converger. On réécrit
traditionnellement le facteur dans (3.3.2) sous la forme

λM − λm cond2 (A) − 1
= ,
λM + λm cond2 (A) + 1

où le conditionnement cond2 (A) de A est le ratio cond2 (A) := λM /λm (la plus grande sur la
plus petite valeur propre).
3.3. Méthodes itératives 41

Montrons sur un exemple que le conditionnement d’une matrice donne une mesure du
module de continuité de l’inverse. Pour cela, considérons la matrice A d’ordre 4 et les deux
vecteurs X 1 et X 2 suivants
10 7 8 7 32 1 32.01
­−1® ­22.99®
© ª © ª © ª © ª
­7 5 6 5® ­23®
A = ­ ®, X1 = ­ ® , X 2 = X 1 + 0.01 × ­ ® = ­ ®.
­8 6 10 9 ® ­33® ­ 1 ® ­33.01®
«7 5 9 10¬ «31¬ «−1¬ «30.99¬
Un calcul direct (ou en utilisant un ordinateur) donne λm ' 0.0102 and λM ' 30.28867,
d’où cond2 (A) ' 2984.1, ce qui est plutôt grand. Regardons maintenant les solutions Y1 et
Y2 aux systèmes AY1 = X 1 et AY2 = X 2 :
1 1.82
­−0.36®
© ª © ª
­1®
Y1 = ­ ® , Y2 = ­ ®.
­1® ­ 1.35 ®
«1¬ « 0.79 ¬
kX 1 −X 2 k2 kY1 −Y2 k2
En particulier, on a kX 1 k2 ' 3.33 10−4 , kY1 k2 ' 1, d’où sur cet exemple

kY1 − Y2 k2 kX 1 − X 2 k2
' cond2 (A) .
kY1 k2 kX 1 k2

3.3.3 Méthode du gradient conjugué


La méthode du gradient conjugué a un point de départ similaire à la méthode de gradient,
au détail (fondamental) près qu’on impose en plus une condition d’orthogonalité sur les
directions de descentes (on ne prend pas simplement −rn ).
On considère toujours A ∈ RN ,N une matrice symétrique définie positive et on rappelle
qu’elle définit un produit scalaire sur RN , via la forme bilinéaire X, X 0 7→ X ·AX 0 = ij aij xi x j0.
Í

Soit B ∈ RN un vecteur. On veut résoudre le système linéaire AY = B de manière itérative,


on choisit un point de départ Y0 ∈ RN et on définit le résidu r 0 = AY0 − B . On va choisir des
directions de descente wn (pour n ≥ 0) obtenues via w 0 := −r 0 , puis par récurrence via

wn = −rn − βnwn−1, (3.3.3)

où les βn seront choisis pour assurer des conditions d’orthogonalité. Etant donnée la direction
de descente, on met à jour Yn en posant

Yn+1 = Yn + αn+1wn , (3.3.4)

où αn+1 sera aussi choisi pour assurer des conditions d’orthogonalité. Avec ces définitions
on a l’égalité

rn+1 = AYn+1 − B = AYn + αn+1Awn − B = rn + αn+1Awn . (3.3.5)

Pour fixer les valeurs de αn et βn , on impose que pour tout 0 ≤ j ≤ n − 1

wn · Aw j = 0, (3.3.6)
rn · w j = 0, (3.3.7)
42 3. Analyse numérique matricielle

c’est-à-dire que la direction de descente wn à l’ordre n est orthogonale (pour le produit


scalaire induit par A) à toutes les directions précédentes (condition sur βn ), et que le reste
rn à l’ordre n est orthogonal (pour le produit scalaire euclidien) à toutes les directions de
descente précédentes (condition sur αn ). Si cela est bien possible (on ne l’a pas encore
montré), la méthode converge nécessairement en au plus N itérations : en effet, après N
itérations, on a N directions de descente wn orthogonales entre elles (c’est donc une base
de RN ) et le reste à l’ordre N , qui est par définition orthogonal aux vecteurs de cette base
de RN , est donc nécessairement nul. Ceci démontre

Théorème 3.3.4 Soit A ∈ RN ,N une matrice symétrique définie positive et B ∈ RN un vecteur.


Si la méthode de gradient conjugué pour la résolution du système AY = B est bien définie, alors
elle converge en au plus N itérations.

Le lemme suivant montre que la méthode du gradient conjugué est bien définie.

Lemme 3.3.5 Pour tout Y0 ∈ RN , il existe des paramètres αn , βn et une famille de vecteurs wn
pour n ≥ 1 tels que les conditions (3.3.6) et (3.3.7) sont satisfaites pour l’itération définie par
(3.3.3) et (3.3.4), tant que rn , 0.

Démonstration. On procède par récurrence. On rappelle que w 0 = −r 0 . Pour n = 1, on a


Y1 = Y0 + α 1w 0 où on choisit α 1 de manière à satisfaire (3.3.7) : en utilisant (3.3.5),
w0 · r0
0 = w 0 · r 1 = w 0 · (r 0 + α 1Aw 0 ) = w 0 · r 0 + α 1w 0 · Aw 0 ⇐⇒ α 1 = − ,
w 0 · Aw 0
qui est bien défini (et non nul) si w 0 = −r 0 , 0. Si r 1 , 0, on définit alors la nouvelle
direction de descente w 1 = −r 1 − β 1w 0 en choisissant β 1 de manière à satisfaire (3.3.6) :

w 0 · Ar 1
0 = w 0 · Aw 1 = w 0 · A(−r 1 − β 1w 0 ) ⇐⇒ β 1 = − ,
w 0 · Aw 0
où on note que w 0 · Aw 0 , 0 si r 0 , 0.
Supposons maintenant qu’on ait construit αi , 0, βi , wi , 0, ri , 0 pour tout i ≤ n
satisfaisant (3.3.6) et (3.3.7). On pose Yn+1 = Yn + αn+1wn où on choisit αn+1 de manière à
satisfaire (3.3.7) at l’ordre n + 1 pour j = n : en utilisant (3.3.5),
wn · rn
0 = wn · rn+1 = wn · (rn + αn+1Awn ) = wn · rn + αn+1wn · Awn ⇐⇒ αn+1 = − ,
wn · Awn
quantité bien définie puisque wn , 0. Montrons maintenant que (3.3.7) at l’ordre n + 1 est
aussi vérifié pour j ≤ n − 1 : en utilisant (3.3.5), on a

w j · rn+1 = w j · rn + αn+1w j · Awn

qui est bien nul grâce à (3.3.6) et (3.3.7) à l’ordre n . Par ailleurs, par définition de wn et en
utilisant (3.3.7) à l’ordre n , on a (puisqu’on a supposé rn , 0)

wn · rn = −rn · rn − βnrn · wn−1 = −rn · rn < 0 (3.3.8)

et donc αn+1 , 0.
3.3. Méthodes itératives 43

Une fois qu’on a Yn+1 , on met à jour la direction de descente wn+1 = −rn+1 − βn+1wn . On
choisit βn+1 de manière à satisfaire (3.3.6) à l’ordre n + 1 pour j = n :
wn · Arn+1
0 = wn+1 · Awn = wn · A(−rn+1 − βn+1wn ) ⇐⇒ βn+1 = − .
wn · Awn
Notons que si rn+1 = 0, i.e. AYn+1 = B , l’algorithme a convergé et wn+1 = 0. Si non, par
définition de wn+1 et en utilisant (3.3.7) à l’ordre n + 1, on a wn+1 · rn+1 = −rn+1 · rn+1 −
βn+1rn+1 · wn = −rn+1 · rn+1 , 0, ce qui montre que wn+1 , 0. Supposons donc rn+1 , 0
et vérifions que ce choix de βn+1 implique bien (3.3.6) à l’ordre n + 1 pour j ≤ n − 1. Par
symétrie de A et la définition de wn+1 , on a
wn+1 · Aw j = w j · A(−rn+1 − βn+1wn ) = −w j · Arn+1 − βn+1w j · Awn = −rn+1 · Aw j ,
en utilisant (3.3.6) à l’ordre n qui implique que w j · Awn = 0. Montrons qu’également le
terme rn+1 · Aw j est nul. D’une part, la définition wi = −ri − βi wi−1 et la condition (3.3.7)
à l’ordre i ≤ n impliquent (par récurrence) que Vi+1 := vect(r 0, . . . , ri ) = vect(w 0, . . . , wi )
pour i ≤ n et, en utilisant (3.3.5), Aw j = α j+ 1
1
(r j − r j+1 ) ∈ Vn+1 (qui a bien un sens car
α j+1 , 0). D’autre part, par (3.3.7) à l’ordre n + 1, rn+1 est orthogonal à Vn+1 . Ainsi Aw j et
rn+1 sont orthogonaux et on déduit bien que wn+1 · Aw j = 0. ♦

En résumé, on a montré que la méthode du gradient s’écrit de la manière suivante : tant


que rn , 0,
wn · rn
αn+1 = − , (3.3.9)
wn · Awn
Yn+1 = Yn + αn+1wn ,
rn+1 = rn + αn+1Awn , (3.3.10)
wn · Arn+1
βn+1 = − ,
wn · Awn
wn+1 = rn+1 − βn+1wn ,
et qu’elle converge en au plus N itérations. Bien que la méthode converge en un nombre fini
d’itérations, on la considère plutôt comme une méthode itérative. En effet, elle donne souvent
de bonnes approximations en peu d’itérations (dépendant notamment du conditionnement
de A). En tous les cas, la convergence est monotone.
Proposition 3.3.6 Soit A ∈ RN ,N une matrice symétrique définie positive, B ∈ RN un vecteur
et J la fonctionnelle quadratique associée par le théorème 3.3.1. Pour toute itération n < N , si
rn , 0, alors J (Yn+1 ) < J (Yn ).
Démonstration. On commence par calculer J (Yn+1 ) − J (Yn ) et on utilise (3.3.9) et (3.3.10)
pour obtenir la dernière ligne
J (Yn+1 ) − J (Yn )
1 1
= (Yn + αn+1wn ) · A(Yn + αn+1wn ) − B · (Yn + αn+1wn ) − Yn · AYn + B · Yn
2 2
1 2
= αn+1wn · (AYn − B) + αn+1wn · Awn
2
(3.3.9)&(3.3.10) 1
= αn+1wn · rn − αn+1wn · rn
2
1
= αn+1wn · rn .
2
44 3. Analyse numérique matricielle

L’inégalité J (Yn+1 ) < J (Yn ) est maintenant une conséquence de (3.3.8) puisqu’on a supposé
rn , 0. ♦

3.4 Quelle méthode choisir en pratique ?


— l’aspect mémoire
— l’aspect nombre d’itérations
— l’aspect parallélisme
— le conditionnement
— le nombre de fois que le système est résolu
Chapitre 4

Schémas à un pas : analyse générale

4.1 Schémas explicites


4.1.1 Formulation du schéma
Comme leur nom l’indique, il s’agit de schémas dans lesquels le calcul de yn+1 ne dépend
que de yn (et de h et de tn , cela va sans dire) et qui s’écrivent sous la forme générique

yn+1 = yn + hF (tn , yn , h), (4.1.1)

où F est une fonction définie et continue 1 sur [0,T ] × Rm × [0, 1] à valeurs dans Rm , que
l’on sait écrire explicitement 2.
Par exemple, le schéma d’Euler correspond à F (t, y, h) = f (t, y) et le schéma d’Euler
h h
modifié à F (t, y, h) = f t + 2 , y + 2 f (t, y) . En toute rigueur, dans ce dernier cas F n’est


pas définie si t + h2 > T , mais l’on peut contourner l’obstacle en supposant disposer d’un
prolongement de f au delà de T , qui conserve les bonnes propriétés de f . 3 Le schéma
lui-même n’utilise jamais de valeurs de F faisant intervenir un tel prolongement, et c’est
heureux car ce dernier est arbitraire. Dans la suite, on ignorera donc cette petite difficulté
sans conséquence. La donnée d’un schéma explicite à un pas est donc la donnée d’une telle
fonction F .
Comment identifie-t-on la fonction F sur un schéma donné sous la forme (4.1.1) ?
Certainement pas en disant que F (tn , yn , h) = une fonction de (tn , yn , h) ! C’est la même
difficulté que la lecture de la fonction second membre f à partir de la donnée d’une
EDO dont on a parlé tout au début. En effet, F est une fonction des variables libres et
indépendantes les unes des autres (t, y, h) ∈ [0,T ] × Rm × [0, 1]. Les variables tn = nh , yn
donné par la récurrence et h ne sont ni libres ⁴, ni indépendantes les unes des autres. En
posant F (tn , yn , h) = une fonction de (tn , yn , h), on définit tout au plus une application de
N×N∗ dans Rm (et encore, si le schéma est explicite), pas une application de [0,T ]×Rm ×[0, 1]
dans Rm . Comme dans le cas continu où il était important d’oublier la variable (t) dans
1. Donc continue par rapport au triplet (t, y, h), on l’avait notée Φ dans la section précédente.
2. En effet, pour vraiment mériter le qualificatif d’explicite, il faut bien sûr que F soit donnée par une
formule explicite, sinon ce n’est pas du jeu.
3. Par exemple, f (t, y) = f (T , y) pour tout t > T et tout y ∈ Rm qui est continue et lipschitzienne par
rapport à y etc., etc.
4. Même h ne l’est pas, puisqu’il est de la forme T /N avec N entier.
46 4. Schémas à un pas : analyse générale

y(t) pour la remplacer par un y générique, il faut ici oublier l’indice n (on rappelle que
la notation indicielle n’est qu’une façon de noter une application de N à valeurs dans un
ensemble) et laisser h parcourir tout l’intervalle [0, 1] ⁵. Encore une erreur courante facile à
corriger (mais le mieux est de comprendre pourquoi il est important de le faire). C’est ce
qu’on a fait plus haut pour le schéma d’Euler et pour le schéma d’Euler modifié.
Nous allons nous intéresser au problème suivant : trouver des hypothèses suffisantes
sur F pour que le schéma (4.1.1) converge, c’est-à-dire, pour que ynN tende vers y(tn ) quand
N tend vers +∞ (ou quand h tend vers 0, ce qui revient au même) en un sens précisé à la
définition 4.1.1. ⁶
Précisons donc cette notion de convergence d’un schéma numérique pour régler cette
histoire d’interdépendance non écrite entre n et N .
Définition 4.1.1 Le schéma (4.1.1) est dit convergent si, pour toute donnée initiale y(0) du
problème continu,
lim sup kynN − y(tn )k = 0. (4.1.2)
h→0 0 ≤n≤N
y0N →y(0)

Dans cette définition, k · k désigne une norme quelconque définie sur Rm , le choix
particulier n’ayant pas d’importance puisque toutes les normes sur Rm sont équivalentes. Il
faut également se rappeler que h et N sont liés par la relation h = T /N , le temps final T
étant usuellement considéré comme fixé. Donc dire h → 0 est équivalent à dire N → +∞.
Dans le cas où l’on prend y0N = y(0), on peut naturellement se passer de la deuxième
condition sous la limite.
Dans la suite, pour abréger la notation, on sous-entendra à nouveau le N en exposant
dans yn . On l’a juste remis ici pour clarifier que c’est bien par rapport à ce N que la limite
est prise et que la convergence du schéma a lieu.
La notion de convergence que l’on vient d’introduire est bien entendue valable pour les
schémas généraux, et pas seulement les schémas à un pas explicites.
Pour illustrer la convergence d’un schéma numérique, on considère l’exemple suivant.

Exemple 4.1.1 Le problème de Cauchy

y 0(t) = 6 y(t) − φ(t) + φ 0(t),



(4.1.3)

avec la condition initiale y(0) = φ(0), a visiblement pour solution exacte y(t) = φ(t) mais
celle-ci peut être difficile à calculer numériquement. La Figure 4.1 montre l’approximation
obtenue par un schéma d’Euler explicite, dans le cas φ(t) = t 2 /(1 + t 2 ). On y a représenté la
solution exacte et les solutions approchées obtenues avec différents pas de discrétisation h .
On observe que plus h est petit et plus les valeurs calculées sont proches des valeurs exactes
aux instants correspondants, de façon uniforme sur l’intervalle. L’approximation obtenue
par le schéma d’Euler converge quand le pas h tend vers 0 (en tout cas sur le dessin, ce n’est
pas encore prouvé).

La convergence d’un schéma est liée à deux notions indépendantes l’une de l’autre : la
stabilité et la consistance que nous définissons maintenant.
5. Ou plus généralement [0, h 0 ] pour un certain h 0 > 0.
6. Il faut en effet être précis car n n’est pas indépendant de N ! À n fixé, le point tn = nT /N bouge avec N ,
donc dire ynN tend vers y(tn ) ne veut rien dire à strictement parler.
4.1. Schémas explicites 47

Figure 4.1 – Résolution de (4.1.3) avec le schéma d’Euler. On n’a pas tracé tous les points pour les deux plus
petites valeurs de h (1 point sur 20 et 1 point sur 200 respectivement), il y en a trop et on ne voit plus rien.

4.1.2 Stabilité
L’idée de stabilité pour un schéma numérique est qu’une perturbation de la donnée
initiale et du second membre ne doit pas être amplifiée au delà de tout contrôle par le
schéma. Plus précisément,
Définition 4.1.2 Le schéma (4.1.1) est stable s’il existe une constante C indépendante de N telle
que, pour toute suite de vecteurs (ηn )0≤n≤N , les suites (yn )0≤n≤N et (zn )0≤n≤N de Rm définies
respectivement par

y0 ∈ Rm et yn+1 = yn + hF (tn , yn , h) pour 0 ≤ n ≤ N − 1


et
z 0 = y0 + η 0 et zn+1 = zn + hF (tn , zn , h) + ηn+1 pour 0 ≤ n ≤ N − 1,
sont telles que
N
Õ
max kzn − yn k ≤ C kηn k. (4.1.4)
0 ≤n≤N
n=0

La constante C est appelée constante de stabilité du schéma. ⁷ Quand on a affaire à un


schéma stable, la perturbation produite sur la solution numérique par les erreurs ηn reste
donc de l’ordre du cumul de ces erreurs, modulo cette constante.
La proposition suivante donne une condition suffisante de stabilité d’un schéma numé-
rique à un pas.
7. Il conviendrait de réserver ce nom à la plus petite constante telle que cette inégalité ait lieu, mais cette
valeur optimale est en général inaccessible.
48 4. Schémas à un pas : analyse générale

Proposition 4.1.3 S’il existe une constante M > 0 telle que pour tous y et z dans Rm , h ∈ [0, 1]
et t ∈ [0,T ], on ait
kF (t, y, h) − F (t, z, h)k ≤ M ky − z k, (4.1.5)
alors le schéma (4.1.1) est stable.
En d’autres termes, la condition suffisante est que la fonction F soit lipschitzienne par
rapport à y , uniformément par rapport à t et par rapport à h . On note la similarité avec les
hypothèses du théorème de Cauchy-Lipschitz global.
Pour démontrer ce résultat on va utiliser un lemm qui est le pendant discret du lemme
de Grönwall C.3.6 vu en L2, décliné en deux versions.
Lemme 4.1.4 (Lemme de Grönwall discret, version 1) Soit (un )n≥0 une suite de réels. On
µ
suppose qu’il existe deux réels λ et µ , avec λ , 0, 1 + λ ≥ 0 et u 0 + λ ≥ 0, tels que
∀n ≥ 0, un+1 − un ≤ λun + µ.
Alors pour tout n ≥ 1, on a
µ µ λn
 
un + ≤ u 0 + e . (4.1.6)
λ λ
Démonstration. La suite vn = un + µ/λ vérifie l’inégalité vn+1 ≤ (1 + λ)vn . Montrons que
vn ≤ (1 + λ)nv 0 pour tout n . On procède par récurrence. C’est vrai pour n = 0, clairement.
Supposons que vn ≤ (1 + λ)nv 0 . On en déduit que vn+1 ≤ (1 + λ)vn ≤ (1 + λ)(1 + λ)nv 0 =
(1 + λ)n+1v 0 car 1 + λ ≥ 0. Et comme 1 + λ ≤ e λ et v 0 ≥ 0, on a vn+1 ≤ e λnv 0 , d’où le
résultat annoncé. ♦
µ µ
Bien sûr, le résultat un ≤ (1 + λ)n u 0 + λ − λ est plus précis et n’a pas besoin de
µ
l’hypothèse u 0 + λ ≥ 0, mais la réécriture avec l’exponentielle donne un parallèle avec la
version continue du lemme.
Lemme 4.1.5 (Lemme de Grönwall discret, version 2) Soient (un )n≥0 et (µn )n≥0 deux suites
de réels avec u 0 ≥ 0 et µn ≥ 0. On suppose qu’il existe un réel λ , avec λ , 0 et 1 + λ ≥ 0, tel que
∀n ≥ 0, un+1 − un ≤ λun + µn .
Alors pour tout n ≥ 1, on a
n−1
λn
e λk µn−k−1 .
Õ
un ≤ e u 0 + (4.1.7)
k=0

Démonstration. Montrons par récurrence sur n que


n−1
un ≤ (1 + λ)nu 0 + (1 + λ)k µn−1−k .
Õ
(4.1.8)
k=0

L’inégalité (4.1.8) est vérifiée pour n = 1 par hypothèse. De plus


un+1 ≤ (1 + λ)un + µn
n−1
n+1
(1 + λ)k+1 µn−1−k + µn
Õ
≤ (1 + λ) u0 +
k=0
car 1 + λ ≥ 0,
4.1. Schémas explicites 49

n
= (1 + λ)n+1u 0 + (1 + λ)k µn−k ,
Õ

k=0

en changeant l’indice muet de sommation. Le résultat découle alors de la majoration


1 + λ ≤ e λ et des hypothèses de signe sur u 0 et µn . ♦

Notons que si la suite µn est constante, la majoration (4.1.7) devient

λn e λn − 1
un ≤ e u 0 + µ λ , (4.1.9)
e −1
majoration plus fine que (4.1.6) quand λ ≥ 0. Par contre, si on ne majore pas par les
exponentielles, les deux majorations donnent le même résultat.
Notons également que dans les usages du lemme de Grönwall, l’hypothèse de départ est
souvent réécrite sous la forme équivalente un+1 ≤ (1 + λ)un + µn .
Démonstration de la proposition 4.1.3. Pour deux suites (yn )n et (zn )n telles que celles définies
à la définition 4.1.2, on a pour tout 0 ≤ n ≤ N − 1,

kzn+1 − yn+1 k ≤ kzn − yn k + hkF (tn , zn , h) − F (tn , yn , h)k + kηn+1 k,

par l’inégalité triangulaire. D’après l’hypothèse (4.1.5), on en déduit que

kzn+1 − yn+1 k ≤ (1 + hM)kzn − yn k + kηn+1 k.

En appliquant le lemme de Grönwall discret bis 4.1.5 à la suite un = kzn − yn k avec λ = hM


et µn = kηn+1 k , il vient donc

n−1 n
hMn hMk
e hMk kηn−k k.
Õ Õ
kzn − yn k ≤ e kz 0 − y0 k + e kηn−k k =
k=0 k=0

Or dans la somme, on a 0 ≤ k ≤ n ≤ N , donc hk ≤ hN = T et donc pour tout n ≤ N ,

n N
kzn − yn k ≤ e MT kηk k ≤ e MT
Õ Õ
kηk k,
k=0 k=0

ce qui montre que le schéma est stable, (4.1.4), en passant au max sur n au membre de
gauche puisque le membre de droite de dépend pas de n , avec une constante de stabilité
égale à e MT . ♦

Exemple 4.1.2 Pour le schéma d’Euler, on a F (t, y, h) − F (t, z, h) = f (t, y) − f (t, z). Par
conséquent, si la fonction f est globalement lipschitzienne par rapport à y , uniformément
par rapport à t , c’est-à-dire satisfait une partie des hypothèses du théorème de Cauchy-
Lipschitz global, alors le schéma est stable. ♦

Exemple 4.1.3 Pour le schéma d’Euler modifié, et toujours pour une fonction f globalement
50 4. Schémas à un pas : analyse générale

lipschitzienne par rapport à y , uniformément par rapport à t , ⁸ on a


h h h h
   
kF (t, y, h) − F (t, z, h)k = f t + , y + f (t, y) − f t + , z + f (t, z)
2 2 2 2
h h
 
≤ L y + f (t, y) − z + f (t, z)
2 2
en utilisant une première fois le caractère lipschitzien de f ,
h
= L y − z + f (t, y) − f (t, z)

2
h
 
≤ L 1 + L ky − zk
2
L(2 + L)
≤ ky − zk,
2
en utilisant l’inégalité triangulaire puis une deuxième fois le caractère lipschitzien de f . À
la fin, on majore simplement h par 1. Le schéma d’Euler modifié est donc stable. ♦

Notons que dans la stabilité, il n’est fait aucune mention du problème de Cauchy que
l’on souhaite approcher. C’est une notion qui en est totalement indépendante. Passons
maintenant à la deuxième notion importante, qui elle va prendre en compte le problème de
Cauchy.

4.1.3 Consistance
La suite yn est construite de façon à vérifier l’égalité
yn+1 − yn − hF (tn , yn , h) = 0.
La solution exacte n’a pas de raison de vérifier la même égalité aux instants tn , mais
on espère qu’elle le fait à peu de chose près, l’idée étant que le schéma numérique
tente alors bien d’approcher la bonne équation. Pour cela, on souhaite que la quantité
y(tn+1 )−y(tn )−hF (tn , y(tn ), h) soit petite en norme. Cette quantité joue un rôle très important
dans l’étude des schémas numériques.
Définition 4.1.6 On appelle erreur de consistance (ou erreur de discrétisation locale) du
schéma (4.1.1) la quantité εn ∈ Rm définie par
εn = y(tn+1 ) − y(tn ) − hF (tn , y(tn ), h),
où y est une solution de l’EDO. ⁹
L’expression “ erreur de discrétisation locale ” vient du fait qu’il s’agit de l’erreur commise
par le schéma à l’instant tn+1 si l’on est parti à l’instant tn avec la valeur exacte y(tn ), voir
figure 4.2. Naturellement, c’est une quantité inconnue, mais on verra que l’on peut l’estimer
et elle jouera un rôle intermédiaire important dans l’analyse de convergence d’un schéma.
8. Prolongée par exemple à [0,T + 21 ] × Rm pour pouvoir bien écrire F .
9. L’erreur de consistance dépend donc du choix de cette solution et de h , même si cela n’apparaît pas dans
la notation.
4.1. Schémas explicites 51

Rm

y(tn+1 )
εn
y(tn ) + hF (tn , y(tn ), h)

y(tn )

tn tn+1 t

Figure 4.2 – Erreur de discrétisation locale, a.k.a. de consistance.

Définition 4.1.7 Le schéma (4.1.1) est dit consistant avec l’EDO (2.1.1) si pour toute solution y
de (2.1.1), on a
N
Õ −1
lim kεn k = 0.
h→0
n=0

L’usage dans ce contexte du mot “ consistant ” est bien malheureux en français, ce n’est
qu’un calque maladroit de l’anglais consistent. Il serait plus correct de parler de cohérence
avec l’EDO, mais l’usage de consistance semble maintenant tellement enraciné que l’on ne
voit plus comment l’éradiquer...
Un schéma est donc cohér consistant si la somme des erreurs de consistance sur tous les
instants de discrétisation tend vers 0 avec h , ce pour toute solution y de l’EDO.
La proposition suivante donne une condition nécessaire et suffisante de consistance d’un
schéma à un pas.

Proposition 4.1.8 On suppose l’application F continue sur [0,T ] × Rm × [0, 1]. Le schéma
(4.1.1) est consistant si et seulement si, pour tout (t, y) ∈ I × Rm , on a

F (t, y, 0) = f (t, y).

Démonstration. On ne traite que la condition suffisante, qui est la partie importante du


résultat. On a
∫ tn+1 ∫ 1 ∫ 1
y(tn+1 ) − y(tn ) = y (u) du = h
0
y (tn + sh) ds = h
0
f tn + sh, y(tn + sh) ds,

tn 0 0

u−tn
en posant s = h . L’erreur de consistance du schéma s’écrit donc
∫ 1
εn = h f tn + sh, y(tn + sh) ds − hF (tn , y(tn ), h)

0
∫ 1
=h F tn + sh, y(tn + sh), 0 − F (tn , y(tn ), h) ds,
 
0
52 4. Schémas à un pas : analyse générale

où l’on a utilisé l’hypothèse f (·, ·) = F (·, ·, 0) et passé la constante dans l’intégrale après
avoir mis h en facteur. Il vient alors
∫ 1
kεn k ≤ h F tn + sh, y(tn + sh), 0 − F (tn , y(tn ), h) ds.

0

Soit K = {(t, s, h) ∈ [0,T ] × [0, 1] × [0, 1]; t + h ≤ T }. C’est un fermé d’un compact, donc un
compact lui-même. Introduisons la fonction G : K → R+ par
G(t, s, h) = F t + sh, y(t + sh), 0 − F (t, y(t), h) .


Cette fonction est continue comme composée de fonctions continues. Elle est donc unifor-
mément continue sur le compact K . Comme par ailleurs G(t, s, 0) = 0 pour tous t et s , on
déduit de cette continuité uniforme que pour tout η > 0, il existe h 0 tel que pour h ≤ h 0 ,
G(t, s, h) = |G(t, s, h) − G(t, s, 0)| ≤ η pour tous t et s . 1⁰ Il s’ensuit que pour h ≤ h 0 , on a
∫ 1
kεn k ≤ hη ds = hη,
0

d’où
N
Õ −1
kεn k ≤ hN η = Tη,
n=0
car il y a N termes dans la somme, ce qui montre la consistance. ♦

Le schéma d’Euler et le schéma d’Euler modifié sont donc consistants. En effet, c’est trivial
pour le schéma d’Euler vu que F (t, y, h) = f (t, y) pour tout h donc en particulier pour h = 0.
Pour celui d’Euler modifié, on a t + 20 ≤ T , donc F (t, y, 0) = f t + 20 , y + 20 f (t, y) = f (t, y).


4.1.4 Convergence
La raison pour laquelle on a fort mystérieusement introduit ces deux notions indépen-
dantes de stabilité et de consistance d’un schéma, est le résultat suivant, fondamental pour
la convergence des schémas numériques, parfois connu sous le nom de théorème de Lax 11,
quoique probablement pas dû à Lax dans le contexte des EDO.
Théorème 4.1.9 Si le schéma (4.1.1) est stable et consistant alors il est convergent.
Démonstration. Définissons la suite (zn )n par zn = y(tn ). On a
zn+1 = zn + hF (tn , zn , h) + εn ,
par définition de l’erreur de consistance du schéma εn . On a donc affaire à une suite
perturbée au sens de la définition 4.1.2 de la stabilité, en posant ηn+1 = εn et η 0 = y(0) − y0 .
Comme le schéma est stable, il existe une constante C telle que
N
Õ N
Õ −1
max kzn − yn k ≤ C kηn k = C kη 0 k + C kεn k.
0 ≤n≤N
n=0 n=0

10. Il suffit d’écrire ce qu’est la continuité uniforme de la fonction G . En effet, celle-ci nous dit que pour tout
η > 0, il existe h 0 > 0 tel que si |t 1 − t 2 | + |s 1 − s 2 | + |h 1 − h 2 | ≤ h 0 alors |G(t 1, s 1, h 1 ) − G(t 2, s 2, h 2 | ≤ η . On
prend ici t 1 = t 2 = t , s 1 = s 2 = s , h 1 = h et h 2 = 0.
11. Peter David Lax, 1926–
4.1. Schémas explicites 53

Í N −1
Comme le schéma est consistant, n=0 kεn k tend vers 0 avec h et le schéma est donc
convergent, cf. définition 4.1.1. ♦

Nous avons vu que le schéma d’Euler et le schéma d’Euler modifié sont stables (si f est
globalement lipschitzienne par rapport à y , uniformément par rapport à t ) et consistants (si
f est continue par rapport à (t, y)), ils sont donc convergents.
Etant donné un schéma stable, donné a priori par une fonction continue F , si l’on
pose д(t, y) = F (t, y, 0), on voit que ce schéma est automatiquement consistant avec l’EDO
y 0 = д(t, y) et converge donc vers les solutions du problème de Cauchy correspondant. On
peut donc dire grossièrement qu’un schéma stable converge, mais qu’il ne converge vers ce
que l’on veut que s’il est consistant. Sinon, on est train d’approcher une autre EDO. 12

4.1.5 Ordre d’un schéma, estimation d’erreur


Savoir qu’un schéma numérique est convergent, c’est bien, mais on aimerait savoir aussi
à quelle vitesse cette convergence a lieu. En d’autre termes, on souhaite quantifier la qualité
de l’approximation. On introduit d’abord une définition qui raffine celle de la consistance.

Définition 4.1.10 Le schéma (4.1.1) est dit d’ordre au moins p ∈ N∗ si, pour toute solution y
de l’EDO (2.1.1), il existe une constante C indépendante de h telle que
N −1
kεn k ≤ Chp .
Õ
∀N , (4.1.10)
n=0

Il est d’ordre p s’il n’est en outre pas d’ordre au moins p + 1.

La constante C est indépendante de h , par contre, elle va fortement dépendre de la


solution y considérée, comme on le verra sur des exemples.
Le résultat qui suit est un simple raffinement du théorème de convergence dans le cas
d’un schéma d’ordre p .

Théorème 4.1.11 On suppose le schéma (4.1.1) stable et d’ordre p ≥ 1 et qu’il existe une
constante C > 0 telle que ky0 − y(0)k ≤ Chp . Alors il existe C̃ > 0 telle qu’on ait l’estimation
d’erreur suivante
max ky(tn ) − yn k ≤ C̃hp .
0 ≤n≤N

Démonstration. Reprendre la démonstration du théorème 4.1.9 en remplaçant l’erreur initiale


et les erreurs de consistance par leurs estimations (on rappelle que y0 et yn portent un
exposant N invisible avec h = T /N ). La constante C̃ est majorée par C 1 (C 2 + C) où C 1 est la
constante de stabilité (Definition 2.1.2) et C 2 la constante de la définition (2.1.10)

Remarque 4.1.1 L’intérêt d’une méthode d’ordre p par rapport à une méthode d’ordre p 0 < p
est que sa précision est (asymptotiquement) infiniment meilleure, à pas égal ou à même
nombre de points de discrétisation, puisque hp−p → 0 quand h → 0. Néanmoins, il faut
0

faire attention au fait que l’estimation d’erreur précédente est une estimation dite a priori
12. C’est d’ailleurs pourquoi le terme de cohérence serait mieux adapté, mais enfin... tant pis.
54 4. Schémas à un pas : analyse générale

qui contient une constante inconnue C . Cette constante fait typiquement intervenir des
normes sup de dérivées de la solution y . Elle peut être petite ou grande, on n’en a aucune
idée en général, et comme les calculs effectifs se font à h > 0, et jamais quand h → 0 (car
c’est impossible), la précision supérieure à pas égal n’est pas garantie a priori. On constate
en pratique qu’elle l’est le plus souvent.
Un autre facteur à prendre en compte, est que plus l’ordre d’une méthode est élevé, plus
le coût de cette méthode (occupation de la mémoire de l’ordinateur, nombre d’opérations
pour exécuter l’algorithme donc durée du calcul) est élevé. Il faut donc faire le bilan de
cette complexité accrue par rapport au gain de précision, qui permet de prendre moins de
points de discrétisation qu’une méthode d’ordre moins élevé, à précision donnée.
Par exemple, pour obtenir une précision de 10−s , s > 0 avec un schéma d’ordre p , il
faut prendre un pas de temps hp tel que (on suppose C = 1) hp ≤ 10−s/p . Pour obtenir la
même précision avec un schéma d’ordre p + 1 (toujours avec C = 1, même si ce n’est pas
le même C ), il faut prendre un pas de temps hp+1 ≤ 10−s/(p+1) ' hp 10s/p(p+1) . Pour s = 6
et p = 2, le nouveau pas de temps est dix fois plus grand que le précédent, il y a donc dix
fois moins de valeurs y1, . . . , y N à calculer, mais le calcul de chaque yn est plus coûteux que
dans la méthode d’ordre p . S’il est moins que dix fois plus coûteux (et que les constantes
sont vraiment 1...), on y gagne.
Enfin il est clair que si l’on utilise un schéma d’ordre p , il faut utiliser une approximation
de la donnée initiale qui soit du même ordre, sous peine de perdre toute la précision attendue
et donc de calculer beaucoup pour rien (gaspillant donc de précieuses ressources). ♦

On a la condition suffisante suivante qui est celle utilisée dans la pratique.

Proposition 4.1.12 Si pour toute solution y , il existe une constante C 0 indépendante de h telle
que que l’erreur de consistance du schéma vérifie

∀n ≤ N , kεn k ≤ C 0hp+1,

alors le schéma est d’ordre au moins p . Si l’on a de plus kεn k ≥ C 00hp+1 pour tout n ≤ N , avec
C 00 > 0 indépendante de h pour au moins une solution y de l’EDO, alors le schéma est d’ordre p .

Démonstration. En effet, dans ce cas


N −1 N −1
hp+1 = C 0Nhp+1 = C 0Thp ,
Õ Õ
kεn k ≤ C 0

n=0 n=0

puisque Nh = T .
Supposons maintenant que kεn k ≥ C 00hp+1 pour une solution y de l’EDO. Par le même
calcul que précédemment, il vient
N −1 N −1
hp+1 = C 000hp .
Õ Õ
kεn k ≥ C 00

n=0 n=0

avec C 000 = C 00T > 0. Or il n’existe aucune constante C 0000 indépendante de h telle que
C 000hp ≤ C 0000hp+1 , ce qui se voit immédiatement en faisant tendre h vers 0. ♦
4.1. Schémas explicites 55

Par exemple pour le schéma d’Euler, l’erreur de consistance est

εn = y(tn+1 ) − y(tn ) − h f tn , y(tn ) = y(tn+1 ) − y(tn ) − hy 0(tn ).




Supposons que la solution y considérée est de classe C 2 . 13 On a donc, par l’inégalité de


Taylor-Lagrange 1⁴
max[0,T ] ky 00(t)k 2
kεn k ≤ h .
2
T max
[0,T ] ky 00 (t)k
Ce schéma est donc d’ordre au moins un avec C = 2 dès que les solutions de
l’EDO sont de classe C . Par ailleurs, il est bien évident qu’il n’est pas d’ordre deux. Comme
2

annoncé plus tôt, on remarque que la constante C dépend bien sûr de la solution considérée
y par l’intermédiaire de sa dérivée seconde.
Montrons également que leschéma d’Euler modifié est d’ordre deux. Pour ce schéma
F (t, y, h) = f t + h2 , y + h2 f (t, y) et l’erreur de consistance prend la forme

h h
 
εn = y(tn+1 ) − y(tn ) − h f tn + , y(tn ) + f (tn , y(tn ))
2 2
h h 0
 
= y(tn+1 ) − y(tn ) − h f tn + , y(tn ) + y (tn ) .
2 2

Notons que dans ce type de calcul, il est de notre intérêt de simplifier au maximum les
expressions en utilisant l’EDO chaque fois que c’est possible. Ici par exemple, on a remplacé
f (tn , y(tn )) par y 0(tn ) à l’intérieur du premier terme en f .
Pour simplifier, on se place dans le cas m = 1. Nous allons utiliser des développements de
Taylor avec des restes exprimés en O pour raccourcir l’écriture. Cachés dans ces O sont des
constantes qui ont toute l’uniformité voulue, car il s’agit en fait de restes de Taylor-Lagrange
en dimension m = 1 ou bien plus généralement de restes intégraux en dimension quelconque.
Il faudrait en toute rigueur établir ici cette uniformité, mais on va avoir confiance qu’elle a
bien lieu, histoire de ne pas trop y passer de temps.
On écrit donc d’une part le développement de Taylor par rapport à t de la fonction y à
l’ordre 2 en t = tn , supposant y de classe C 3 , ce qui donne

h2
y(tn+1 ) = y(tn ) + hy 0(tn ) + y 00(tn ) + O(h 3 ),
2
d’où
h2
y(tn+1 ) − y(tn ) = hy 0(tn ) + y 00(tn ) + O(h 3 ).
2
On écrit d’autre part le développement de Taylor à l’ordre 1 du terme en f , 1⁵ cette fois-ci
par rapport à h en h = 0, en supposant f de classe C 2 , ce qui donne

h h 0 h ∂f ∂f
   
f tn + , y(tn ) + y (tn ) = f (tn , y(tn )) + (tn , y(tn )) + (tn , y(tn ))y (tn ) + O(h 2 ).
0
2 2 2 ∂t ∂y
13. On reviendra plus loin sur ces questions de régularité de la solution, voir proposition 4.1.13.
14. Joseph Louis, comte de Lagrange (en italien Giuseppe Lodovico de Lagrangia), 1736–1813.
15. En effet, inutile d’aller plus loin, puisque ce terme va être multiplié par h dans l’erreur de consistance.
56 4. Schémas à un pas : analyse générale

Or on a (voir aussi la proposition 4.1.13)


d 0 d ∂f ∂f
y 00(t) = y (t) = f (t, y(t)) = (t, y(t)) + (t, y(t))y 0(t),
dt dt ∂t ∂y
par dérivation des fonctions composées, d’où, en utilisant également l’EDO pour le premier
terme,
h h h
 
f tn + , y(tn ) + y 0(tn ) = y 0(tn ) + y 00(tn ) + O(h 2 ).
2 2 2
Tous les termes des divers développements de Taylor jusqu’à l’ordre 2 se simplifient
visiblement dans l’erreur de consistance et l’on obtient

εn = O(h 3 ),

avec un O uniforme par rapport à n , 1⁶ c’est-à-dire que le schéma d’Euler modifié est
d’ordre (au moins) 2 quand les solutions sont C 3 . Le résultat reste bien sûr valable dans
le cas vectoriel m > 1. Pour s’assurer que le schéma est bien d’ordre 2 et pas d’un ordre
encore plus grand (ce qui serait quand même un peu trop miraculeux), il faut pousser les
développements de Taylor un cran plus loin et vérifier que le terme en h 3 dans l’erreur de
consistance ne s’annule pas en général. ♦

On reprendra ce type de calculs en toute généralité dans la proposition 4.1.14. À retenir


qu’il s’agit toujours d’utiliser des développements de Taylor. Le lecteur ou la lectrice montrera
à titre d’exercice que le schéma d’Euler implicite est d’ordre un et que le schéma leapfrog
est d’ordre deux. 1⁷

Remarque 4.1.2 Notons que dans les exemples précédents, l’ordre est obtenu sous une
hypothèse de régularité de la solution. En d’autres termes, si l’on utilise la méthode d’Euler
modifiée sur une EDO dont les solutions ne sont pas de classe C 3 , et il y en a, il ne faut pas
espérer voir un gain d’estimation d’erreur par rapport à la méthode d’Euler tout court. Sauf
coup de chance. ♦

Remarque 4.1.3 Dans un cas où l’on connaît la solution exacte, on trace l’erreur en fonction du pas de
discrétisation en échelle logarithmique. La pente de la droite obtenue nous donne l’ordre p de la méthode. La
Figure 4.3 montre les courbes d’erreur calculée et théorique pour les schémas d’Euler implicite, Euler modifié
et leapfrog. Pour évaluer graphiquement l’ordre des schémas on a également tracé les allures théoriques O(h)
et O(h 2 ).

Pour parler d’ordre d’un schéma numérique, il faut pouvoir assurer la régularité des
solutions de l’EDO. C’est l’objet de la proposition suivante.

Proposition 4.1.13 On suppose que f est de classe C p . La solution du problème de Cauchy est
alors de classe C p+1 avec pour tout 0 ≤ k ≤ p ,

∀t ∈ [0,T ], y (k+1) (t) = f k (t, y(t)),


16. Mais encore une fois, il faudrait démontrer cette uniformité, même si c’est à peu près évident.
17. Faire preuve d’un peu d’imagination pour adapter les définitions à ces deux cas.
4.1. Schémas explicites 57

Convergence des schemas Euler imp, Euler mod et Leap−frog

0
10
Euler imp
Euler mod

−2 Leap−frog
10 h
h^2

−4
10

erreur
−6
10

−8
10

−10
10

−12
10 −5 −4 −3 −2 −1
10 10 10 10 10
h

Figure 4.3 – Convergence des schémas d’Euler implicite, Euler modifié et leapfrog sur l’EDO y 0(t) = −y(t).
Erreur estimée numériquement et allures théorique en O(h) et O(h 2 ).

où la suite f k : [0,T ] × Rm → Rm est définie par récurrence par



 f 0 (t, y) = f (t, y),
m

∀(t, y) ∈ [0,T ] × Rm , ∂f k ∂f k


k+1
Õ
f (t, y) = (t, y) + (t, y)f j (t, y), pour 0 ≤ k ≤ p − 1.
∂t ∂y j


j=1


(4.1.11)
Démonstration. Montrons que toute solution du problème de Cauchy est de classe C p+1 avec
y (k+1) (t) = f k (t, y(t)), pour k = 0, . . . , p , avec f k de classe C p−k , par récurrence sur k .
Cette relation est trivialement vraie pour k = 0 (c’est l’EDO elle-même) et implique
que y est de classe C 1 puisque f est continue et y également, par composition de fonctions
continues, cf. proposition C.3.3. De plus, on a f 0 = f de classe C p−0 .
Supposons donc maintenant y de classe C k+1 pour un certain k ≤ p − 1 avec y (k+1) (t) =
f (t, y(t)) et f k de classe C p−k . Comme p − k ≥ 1, la fonction f k est donc de classe C 1 . On
k

a déjà noté que y est de classe C 1 . Il s’ensuit que y (k+1) est de classe C 1 par composition des
fonctions de classe C 1 , ce qui signifie que y est de classe C k+2 . Calculant alors sa dérivée, on
a pour chaque composante yi , i = 1, . . . , m ,

dyi(k+1) d k
yi(k+2) (t) = (t) = fi (t, y(t))

dt dt
m
∂ fik Õ ∂ fik dy j
= (t, y(t)) + (t, y(t)) (t)
∂t j=1
∂y j dt
m
∂ fik Õ ∂ fik
= (t, y(t)) + (t, y(t))f j (t, y(t)),
∂t j=1
∂y j

par dérivation des fonctions composées à plusieurs variables et le fait que y est solution de
l’EDO. Ceci établit la récurrence donnant les fonctions f k . De plus, on a clairement que
∂f k Ím ∂f k
f k+1 , qui est définie par la formule f k+1 (t, y) = ∂t (t, y) + j=1 ∂y j (t, y)f j (t, y) pour tout
(t, y) ∈ [0,T ] × Rm , est de classe C p−k−1 , puisqu’on a pris des dérivées partielles premières
de f k qui est de classe C p−k , multiplié certaines d’entre elles par des fonctions de classe C p
et additionné le tout.
58 4. Schémas à un pas : analyse générale

La récurrence s’arrête pour k = p − 1 et donne bien y de classe C p−1+2 avec les formules
attendues. ♦

Il faut noter que si f n’est pas de classe C p , alors y n’a en général aucune raison d’être de
classe C p+1 . Par exemple, si f est simplement continue par rapport à (t, y) et lipschitzienne
par rapport à y , sans être de classe C 1 , on n’aura pas y de classe C 2 , mais seulement de
classe C 1 . D’où la remarque précédente sur le manque a priori d’intérêt d’utiliser dans ce
cas une méthode d’ordre élevé, qui va exiger plus de régularité de la part des solutions pour
que cet ordre élevé se manifeste dans l’estimation d’erreur.
Finalement, on voit que la méthode d’Euler est d’ordre 1 dès que f est de classe C 1
et que la méthode d’Euler modifiée est d’ordre 2 dès que f est de classe C 2 . Par ailleurs,
chacune de ces deux méthodes reste convergente, mais sans le bénéfice de l’ordre, quand
f est seulement continue et globalement lipschitzienne par rapport à y uniformément par
rapport à t .
On donne maintenant une condition nécessaire et suffisante pour qu’un schéma à
un pas soit d’ordre p ≥ 1. On rappelle que la consistance du schéma est assurée par
F (t, y, 0) = f (t, y) pour tous t ,y .
Proposition 4.1.14 On suppose que F est de classe C p . Le schéma (4.1.1) est d’ordre au moins
p si et seulement si pour tout k = 0, . . . , p − 1, on a
∂k F 1
(t, y, 0) = f k (t, y), (4.1.12)
∂h k k +1
pour tous t , y .

Démonstration. On ne traite que la condition suffisante, qui est la partie importante du


résultat. Notons pour commencer que la condition (4.1.12) pour k = 0 donne F (t, y, 0) =
f (t, y), c’est-à-dire d’abord la consistance du schéma, et de plus que la fonction f est aussi
de classe C p . On peut donc appliquer la proposition 4.1.13. La condition (4.1.12) implique
donc que
∂k F 1 (k+1)
(t, y(t), 0 ) = y (t), (4.1.13)
∂hk k +1
pour toute solution y du problème de Cauchy et tout t dans [0,T ].
Reprenons maintenant l’erreur de consistance

εn = y(tn+1 ) − y(tn ) − hF (tn , y(tn ), h).


On écrit le développement de Taylor avec reste intégral à l’ordre p de la fonction y en tn , ce
qui donne
p
hk hp+1 1

(1 − s)py (p+1) (tn + sh) ds.
Õ
y(tn+1 ) = y(tn ) + y (tn ) +
(k)

k=1
k! p! 0

On écrit aussi le développement de Taylor avec reste intégral à l’ordre p − 1 de la fonction F ,


mais attention par rapport à h en 0, ce qui donne
p−1 m m
h ∂ F hp 1 p
p−1 ∂ F
Õ ∫
F (tn , y(tn ), h) = (tn , y(tn ), 0) + (1 − u) (tn , y(tn ), uh) du.
m=0
m! ∂hk (p − 1)! 0 ∂hp
4.2. Schémas implicites 59

Reportant dans l’erreur de consistance en tenant compte de (4.1.13), il vient

hp+1 1
hp+1 1
∂p F
∫ ∫
p (p+1)
εn = (1 − s) y (tn + sh) ds − (1 − u)p−1 (tn , y(tn ), uh) du
p! 0 (p − 1)! 0 ∂hp
d’où
1
∂p F 1
∫ ∫
p+1 1 p (p+1) 1
||εn || ≤ h || (1 − s) y (tn + sh) ds − (1 − u)p−1
(tn , y(tn ), uh) du||
0 p! (p − 1)! 0 ∂hp
hp+1 p
p−1 ∂ F
∫ 1 ∫ 1 
p (p+1)
≤ ||(1 − s) y (tn + sh)||, ds + ||p(1 − u) (tn , y(tn ), uh)|| du
p! 0 0 ∂hp

||εn || = hp+1Rn ,
où le reste Rn exprimé avec les intégrales ci-dessus est tel que kRn k ≤ C avec C indépendante
de h et de n , vu que F est de classe C p et y de classe C p+1 et que leurs arguments restent
dans des compacts. ♦

Cette condition n’est pas extraordinairement utile en pratique, il est le plus souvent
plus indiqué d’utiliser directement des développements de Taylor pour estimer l’erreur de
consistance comme on l’a fait précédemment pour les schémas d’Euler et d’Euler modifié.
Pour conclure ce paragraphe, reprenons de nouveau notre exemple favori 1⁸ et utilisons-le pour tester les
trois schémas de la Figure 4.3, plus le schéma symplectique. La Figure 4.4 montre les variations de l’inclinaison
en fonction du temps pour trois discrétisations différentes et chacun des algorithmes. La Figure 4.5 montre
les trajectoires dans l’espace des phases et la Figure 4.6 montre les variations du hamiltonien en fonction du
temps. rappelons que ce dernier est constant dans le mouvement réel.
Le quatrième schéma illustré dans ces figures est le schéma d’Euler symplectique. On remarque qu’il
possède la propriété intéressante de conserver en moyenne le hamiltonien.

4.2 Schémas implicites


On a déjà introduit quelques schémas implicites (Euler rétrograde, Crank-Nicolson).
Avant de se demander s’ils convergent ou non et à quoi ils peuvent bien servir, il faut d’abord
s’interroger sur leur caractère bien défini. Une fois ces schémas étudiés, il faut enfin se
demander comment les mettre en œuvre en pratique. En effet, ni l’une ni l’autre de ces
questions n’est évidente a priori.
Considérons donc un schéma implicite générique à un pas de la forme

y0 = y(0), yn+1 = yn + hΦ(tn+1, yn+1, tn , yn , h), (4.2.1)

supposé résoudre le problème de Cauchy pour l’EDO y 0(t) = f (t, y(t)). À chaque pas de
temps, il s’agit de résoudre l’équation en général non linéaire

z = φ(z), avec φ(z) = yn + hΦ(tn+1, z, tn , yn , h). (4.2.2)


18. Celui du pendule bien sûr !
60 4. Schémas à un pas : analyse générale

pendule − Euler implicite pendule − Euler modifie

1.0 1.5
100 100
0.8 1000 1000
10000 1.0 10000
0.6

0.4
0.5

0.2

0.0 0.0

−0.2

−0.5
−0.4

−0.6
−1.0

−0.8

−1.0 −1.5
0 2 4 6 8 10 12 14 16 18 20 0 2 4 6 8 10 12 14 16 18 20

a) b)
pendule − Leap−frog pendule − symplectique

1.5 1.5
100 100
1000 1000
1.0 10000 1.0 10000

0.5 0.5

0.0 0.0

−0.5 −0.5

−1.0 −1.0

−1.5 −1.5
0 2 4 6 8 10 12 14 16 18 20 0 2 4 6 8 10 12 14 16 18 20

c) d)
Figure 4.4 – Variations de l’inclinaison du pendule en fonction du temps pour trois discrétisations différentes
et les schémas a) d’Euler implicite, b) Euler modifié, c) leapfrog d) symplectique.

Un tel z est appelé un point fixe de φ , qui est une application de Rm dans Rm . Bien sûr, en
général il n’y a aucune raison pour qu’une telle équation ait au moins une solution d’une
part, ou n’en ait qu’au plus une d’autre part. Néanmoins, l’existence et l’unicité d’un point
fixe sont assurées si la fonction φ est strictement contractante.
Définition 4.2.1 Soit (E, d) un espace métrique et φ une application de E dans lui-même. On
dit que φ est strictement contractante s’il existe k ∈ [0, 1[ tel que pour tout (x 1, x 2 ) ∈ E 2 ,

d(φ(x 1 ), φ(x 2 )) ≤ kd(x 1, x 2 ).


En effet, on a le théorème de point fixe de Picard ou de Banach suivant :
Théorème 4.2.2 Soit (E, d) un espace métrique complet et φ une application strictement
contractante de E dans lui-même. Alors φ admet un point fixe unique x ∗ . De plus, pour tout
x 0 ∈ E , la suite récurrente (xp )p∈N définie par xp+1 = φ(xp ) pour tout p ≥ 0 converge vers le
point fixe x ∗ .
Démonstration. Montrons d’abord l’unicité. Soient x ∗ et x̃ ∗ des points fixes de φ . On a
donc φ(x ∗ ) = x ∗ et φ(x̃ ∗ ) = x̃ ∗ . Comme φ est strictement contractante, on en déduit que
4.2. Schémas implicites 61

pendule − Euler implicite pendule − Euler modifie

1.0 1.0
100 100
0.8 1000 0.8 1000
10000 10000
0.6 0.6

0.4 0.4

0.2 0.2

0.0 0.0

−0.2 −0.2

−0.4 −0.4

−0.6 −0.6

−0.8 −0.8

−1.0 −1.0
−1.0 −0.8 −0.6 −0.4 −0.2 0.0 0.2 0.4 0.6 0.8 1.0 −1.5 −1.0 −0.5 0.0 0.5 1.0 1.5

a) b)
pendule − Leap−frog pendule − symplectique

1.0 1.0
100 100
0.8 1000 0.8 1000
10000 10000
0.6 0.6

0.4 0.4

0.2 0.2

0.0 0.0

−0.2 −0.2

−0.4 −0.4

−0.6 −0.6

−0.8 −0.8

−1.0 −1.0
−1.5 −1.0 −0.5 0.0 0.5 1.0 1.5 −1.5 −1.0 −0.5 0.0 0.5 1.0 1.5

c) d)
Figure 4.5 – Trajectoires du pendule dans l’espace des phases pour trois discrétisations différentes et les
schémas a) d’Euler implicite, b) Euler modifié, c) leapfrog, d) symplectique.

d(x ∗, x̃ ∗ ) ≤ kd(x ∗, x̃ ∗ ), soit encore (1 − k)d(x ∗, x̃ ∗ ) ≤ 0. Comme k < 1, il s’ensuit que


1 − k > 0, donc nécessairement d(x ∗, x̃ ∗ ) = 0, c’est-à-dire x ∗ = x̃ ∗ . 1⁹
Montrons ensuite l’existence du point fixe. Soit x 0 ∈ E un point quelconque et (xp ) la
suite itérée associée. On a alors
d(xp+1, xp ) = d(φ(xp ), φ(xp−1 )) ≤ kd(xp , xp−1 ),
d’où par une récurrence immédiate (mais à faire quand même en exercice) d(xp+1, xp ) ≤
k pd(x 1, x 0 ) pour tout p . Pour tout entier q > p , il vient par l’inégalité triangulaire
q−1 q−1
Õ 
k n d(x 1, x 0 ).
Õ
d(xq , xp ) ≤ d(xn+1, xn ) ≤
n=p n=p

Or
q−1 ∞
kp
kn ≤ kn =
Õ Õ
,
n=p n=p
1−k

19. La complétude de E ne joue aucun rôle pour l’unicité.


62 4. Schémas à un pas : analyse générale

Hamiltonien du pendule − Euler implicite Hamiltonien du pendule − Euler modifie

−0.50 −0.526
100 100
−0.55 1000 1000
−0.528
10000 10000
−0.60
−0.530
−0.65

−0.532
−0.70

−0.75 −0.534

−0.80
−0.536

−0.85
−0.538
−0.90

−0.540
−0.95

−1.00 −0.542
0 2 4 6 8 10 12 14 16 18 20 0 2 4 6 8 10 12 14 16 18 20

a) b)
Hamiltonien du pendule − Leap−frog Hamiltonien du pendule − symplectique

−0.510 −0.49
100 100
−0.515 1000 −0.50 1000
10000 10000
−0.51
−0.520

−0.52
−0.525

−0.53
−0.530
−0.54
−0.535
−0.55

−0.540
−0.56

−0.545
−0.57

−0.550 −0.58

−0.555 −0.59
0 2 4 6 8 10 12 14 16 18 20 0 2 4 6 8 10 12 14 16 18 20

c) d)
Figure 4.6 – Variations du hamiltonien du pendule en fonction du temps pour trois discrétisations différentes
et les schémas a) d’Euler implicite, b) Euler modifié, c) leapfrog d) symplectique.

d(x ,x )
puisque 0 ≤ k < 1. On a donc finalement d(xp , xq ) ≤ k p 1−k 1 0
avec 0 ≤ k < 1, ce qui
montre que la suite (xp ) est de Cauchy. Comme E est complet pour la distance d , la suite
(xp ) converge vers une limite x ∗ . Comme φ est contractante, elle est continue, et en passant
à la limite dans l’égalité xp+1 = φ(xp ) quand p → +∞, on obtient x ∗ = φ(x ∗ ). ♦

Revenons au schéma implicite général à un pas, 2⁰ lequel est défini par la donnée d’une
fonction Φ : [0,T ] × Rm × [0,T ] × Rm × [0, 1] → Rm . Notons Φ(s, z, t, y, h) l’image d’un
élément générique par cette fonction et φ l’application z 7→ y + hΦ(s, z, t, y, h) pour s, t, y, h
fixés. Cette application dépend de (s, t, y, h) mais on ne l’écrit pas explicitement.

Proposition 4.2.3 Si Φ est globalement lipschitzienne par rapport à z , uniformément par


rapport à (s, t, y), alors il existe h 0 > 0 indépendant de (s, t, y) tel que l’application φ soit
strictement contractante pour tout h ≤ h 0 .

Démonstration. Soit M la constante de Lipschitz uniforme de Φ par rapport à z . On a alors,


20. Le cas des méthodes de Runge-Kutta implicites que l’on verra plus loin étant légèrement différent.
4.2. Schémas implicites 63

pour tous z 1, z 2 ∈ Rm ,

kφ(z 1 ) − φ(z 2 )k = hkΦ(s, z 1, t, y, h) − Φ(s, z 2, t, y, h)k ≤ hM kz 1 − z 2 k.

Par conséquent, si l’on choisit h 0 > 0 tel que h 0 < 1/M , alors hM < 1 pour tout h ≤ h 0 . ♦

Comme Rm est complet pour la distance induite par n’importe quelle norme, on en
déduit le

Corollaire 4.2.4 Le schéma implicite (4.2.1) est bien défini pour tout h ≤ h 0 .

Pour un schéma implicite, on ne prendra donc pas la variable h dans l’intervalle un peu
arbitraire [0, 1] comme précédemment, mais dans [0, h 0 ] ce qui ne change essentiellement
rien.
Dans le cas du schéma d’Euler implicite, où Φ(s, z, t, y, h) = f (s, z), on voit que la
condition est satisfaite dès que que la fonction f est globalement lipschitzienne par rapport
à y , uniformément par rapport à t , c’est-à-dire une partie des hypothèses du théorème de
Cauchy-Lipschitz global. Par conséquent, le schéma d’Euler implicite est bien défini pour
h < 1/L. Bien sûr, si on ne connaît pas L, il est difficile de deviner ce que “ h suffisamment
petit ” signifie quantitativement parlant. Intéressons-nous maintenant à la convergence du
schéma implicite vers la solution exacte quand le pas de discrétisation h tend vers 0. On
pourrait à juste titre considérer qu’il n’y a rien à faire, puisque le théorème de point fixe
fournit pour h assez petit une fonction implicite z = Θ(s, t, y, h) et l’on peut donc écrire

yn+1 = yn + hΦ(tn + h, Θ(tn + h, tn , yn , h), tn , yn , h),

d’où un schéma sous la forme (4.1.1) avec

F (t, y, h) = Φ(t + h, Θ(t + h, t, y, h), t, y, h). (4.2.3)

Bien sûr, cette fonction F est férocement non explicite, mais l’analyse théorique de la
convergence n’a que faire du caractère explicite ou pas de la fonction F , c’est une affaire de
consistance et de stabilité.
On va quand même reprendre cette étude théorique à partir de la fonction Φ qui est elle
explicite. 21 On se placera toujours dans l’hypothèse que h est suffisamment petit pour que
le schéma soit bien défini, c’est-à-dire hM < 1 où M désigne la constante de Lipschitz de Φ
par rapport à z , uniforme par rapport aux autres variables.

Définition 4.2.5 Le schéma (4.2.1) est stable s’il existe une constante C indépendante de N
telle que, pour toute suite de vecteurs (ηn )0≤n≤N , les suites (yn )0≤n≤N et (zn )0≤n≤N de Rm
satisfaisant respectivement

y0 ∈ Rm et yn+1 = yn + hΦ(tn+1, yn+1, tn , yn , h) pour 0 ≤ n ≤ N − 1

et
z 0 = y0 + η 0 et zn+1 = zn + hΦ(tn+1, zn+1, tn , zn , h) + ηn+1 pour 0 ≤ n ≤ N − 1,
21. Il n’est pas utile d’en rajouter au delà de toute mesure dans l’implicite.
64 4. Schémas à un pas : analyse générale

sont telles que


N
Õ
max kzn − yn k ≤ C kηn k. (4.2.4)
0 ≤n≤N
n=0
L’erreur de consistance du schéma (4.2.1) est la quantité

εn = y(tn+1 ) − y(tn ) − hΦ(tn+1, y(tn+1 ), tn , y(tn ), h),

où y est une solution de l’EDO. Le schéma (4.2.1) est consistant si pour toute solution y de
(2.1.1), on a
N
Õ −1
lim kεn k = 0.
h→0
n=0

Une fois ces définitions posées, on a par exactement la même démonstration que dans le
cas explicite

Théorème 4.2.6 Un schéma implicite (4.2.1) stable et consistant est convergent.

En termes de conditions suffisantes de stabilité et de convergence, on a des résultats


également très semblables.

Proposition 4.2.7 Soit Φ une fonction globalement lipschitzienne de constante M par rapport
à y et z , uniformément par rapport à (s, t, h) et soit 0 < h 0 < 1/M . Alors pour tout h ≤ h 0 , le
schéma (4.2.1) est stable. Si Φ est continue par rapport à l’ensemble de ses arguments et que
Φ(t, y, t, y, 0) = f (t, y) pour tous (t, y), alors le schéma est consistant.

Démonstration. On remarque d’abord que la constante de Lipschitz M par rapport à y et z


vaut aussi a fortiori pour z seul. Le schéma est donc bien défini pour tout h ≤ h 0 .
Montrons sa stabilité. Soient deux suites yn et zn vérifiant les hypothèses ci-dessus. On a

kzn+1 − yn+1 k = kzn − yn + h (Φ(tn+1, zn+1, tn , zn , h) − Φ(tn+1, yn+1, tn , yn , h)) + ηn+1 k


≤ kzn − yn k + hkΦ(tn+1, zn+1, tn , zn , h) − Φ(tn+1, yn+1, tn , yn , h)k + kηn+1 k
≤ kzn − yn k + hM kzn+1 − yn+1 k + hM kzn − yn k + kηn+1 k.

P ar conséquent,

(1 − hM)kzn+1 − yn+1 k ≤ (1 + hM)kzn − yn k + kηn+1 k,

et pour h ≤ h 0 , on a 1 − hM > 0, donc en divisant par 1 − hM ,

1 + hM 1
kzn+1 − yn+1 k ≤ kzn − yn k + kηn+1 k.
1 − hM 1 − hM
On applique alors le lemme de Grönwall discret version 2 4.1.5, avec un = ||zn − yn || ,
λ = 11+hM 2hM
−hM − 1 = 1−hM , et µn = 1−hM ||ηn+1 || pour en déduire que
1

2MT N
e 1−hM Õ
kzn − yn k ≤ kηk k,
1 − hM
k=0
4.2. Schémas implicites 65

voir la démonstration de la Proposition 4.1.3 pour le détail de la preuve. La constante qui


apparaît n’est pas tout à fait indépendante de h , mais sa dépendance n’est pas bien méchante
2MT 2MT
e 1−hM e 1−h0 M
dans la mesure où pour tout h ≤ h 0 , on a 1−hM ≤ 1−h 0 M , et la méthode est stable pour
h ≤ h0.
On laisse la démonstration de la condition suffisante de consistance en exercice, c’est
essentiellement la même que dans le cas explicite. ♦

Dans le cas du schéma d’Euler implicite, Φ(s, z, t, y, h) = f (s, z), on a donc sous les
hypothèses du théorème de Cauchy-Lipschitz global que M = L et le schéma est bien défini
et stable pour h ≤ h 0 < 1/L, et il est consistant. Il est donc convergent.
Les questions d’ordre de méthode dans le cas implicite se formulent exactement de la
même façon que dans le cas explicite. Regardons ce que cela donne pour la méthode d’Euler
implicite. On suppose donc la fonction f de classe C 1 de telle sorte que toute solution y soit
C 2 . On calcule l’erreur de consistance

εn = y(tn+1 ) − y(tn ) − h f tn+1, y(tn+1 ) = − y(tn ) − y(tn+1 ) − (−h)y 0(tn+1 ) ,


 

d’où comme tn = tn+1 − h , par l’inégalité de Taylor-Lagrange

h2
kεn k ≤ max ky 00 k,
2 [0,T ]

et la méthode d’Euler implicite est donc d’ordre 1. On a par conséquent une estimation
d’erreur en O(h). On pourra à titre d’exercice traiter le cas du schéma de Crank-Nicolson
qui se trouve être d’ordre 2.
Quelques mots maintenant sur les aspects numériques de mise en œuvre des méthodes
implicites. Pour une fonction Φ générale, on ne dispose pas de formule explicite donnant
yn+1 . Il existe bien une fonction implicite, mais on n’a pas d’algorithme pour l’implémenter.
Il faut donc en pratique approcher yn+1 de manière itérative. La dernière partie du théorème
de point fixe nous suggère de construire à chaque pas de temps la suite récurrente
p+1 p
yn+
0
1 = yn , yn+1 = yn + hΦ(tn+1, yn+1, tn , yn , h), pour p = 0, 1, . . .

dont on sait qu’elle converge vers yn+1 quand p → +∞ quand h est suffisamment petit.
Comme on ne peut pas calculer une infinité de fois, on convient de s’arrêter d’itérer quand
p
yn+1 a numériquement convergé vers sa limite yn+1 . Par cela on entend que l’on compare
la norme de la différence entre deux itérés successifs avec une tolérance α petite et fixée
au préalable, et que l’on s’arrête si l’on est descendu en dessous de cette tolérance, i.e., la
p+1 p p+1
première fois que kyn+1 − yn+1 k ≤ α , on s’arrête et on adopte l’approximation yn+1 comme
p+1 p
valeur de yn+1 . En effet, la suite kyn+1 − yn+1 k est strictement décroissante tendant vers
0 dès que h < 1/M , donc on a la garantie que le processus s’arrête en un nombre fini
d’opérations. 22
En fait, c’est un peu plus compliqué que cela, puisqu’on ne dispose pas de la valeur
exacte de yn , mais d’une approximation calculée de façon analogue à l’étape précédente et
ainsi de suite depuis le début. Naturellement tout cela constitue une source supplémentaire
d’erreur, mais peu importe, il suffit de la contrôler et la stabilité du schéma fera le reste.
p+1 α
22. De plus, kyn+1 − yn+1 k ≤ 1−hM
.
66 4. Schémas à un pas : analyse générale

Si l’on prend un peu de recul et que l’on regarde ce que l’on a fait, on s’aperçoit que l’on
n’a pas implémenté ainsi exactement le schéma implicite, c’est d’ailleurs impossible pour un
Φ général, mais que l’on a en fait implémenté un schéma explicite 23 correspondant à des
itérations de la fonction Φ en nombre non fixé à l’avance, mais dépendant du déroulement
de l’algorithme. On pourrait écrire la fonction explicite correspondante, mais elle est encore
plus tordue que (4.2.3). De toutes façons, tout ceci n’est pas bien grave, même un schéma
explicite ne peut pas être implémenté exactement pour la simple raison qu’un ordinateur
qui calcule en virgule flottante commet donc systématiquement des erreurs d’arrondi et des
erreurs d’évaluation de fonctions. On pourrait analyser plus finement toutes ces erreurs, voir
le paragraphe 8.1, mais in fine, c’est la stabilité du schéma qui permet d’avoir (une certaine)
confiance dans le résultat qui sort de la machine.
L’objet du chapitre suivant est précisément d’introduire une méthode performante de
résolution numériques d’équations non linéaires qui permet d’approcher yn+1 .

23. C’est normal, on ne peut faire de calcul numérique autre qu’explicite.


Chapitre 5

Méthode de Newton

Le théorème du point fixe nous donne l’existence et l’unicité de la solution de φ(z) = z


quand φ est strictement contractante, et en même temps, une méthode itérative pour
approcher la solution. Nous allons voir dans ce paragraphe un algorithme nettement plus
efficace pour résoudre approximativement les équations non linéaires mises sous la forme
générique д(z) = 0. Pour trouver la solution du schéma implicite, on résoudra donc à chaque
pas de temps l’équation д(z) = 0 après avoir posé д(z) = φ(z) − z . Il s’agit de la méthode de
Newton.

5.1 Présentation en dimension 1


Soit c une racine de д, avec д au moins de classe C 1 sur l’intervalle [a, b]. On suppose
qu’on connaît une valeur approchée x 0 de la racine, d’une façon ou d’une autre. L’ idée de
la méthode de Newton est de remplacer la courbe représentative de д par sa tangente en x 0 ,
d’équation
Y = д0(x 0 )(X − x 0 ) + д(x 0 ),
et de considérer l’intersection de cette tangente avec l’axe des abscisses Y = 0, ce qui donne
le point suivant
д(x 0 )
x1 = x0 − .
д0(x 0 )
En général, si x 0 est choisi pas trop loin de la racine c de l’équation, on sent bien que x 1 en
est une bien meilleure approximation que x 0 , cf. Figure 5.1. On recommence alors l’opération,
ce qui conduit à la suite récurrente
д(xn )
xn+1 = xn − .
д0(xn )
Si cette suite est bien définie, i.e., si on n’a pas divisé par zéro en cours de route et n’est
pas sorti de l’intervalle de définition de д, et si elle converge vers une valeur c , alors on a
д(c)
c = c − д 0(c) , soit д(c) = 0. Avec les notations précédentes, on a en fait écrit une itération de
д(x) д 0 (x)2 −д(x)д 00 (x) д(x)д 00 (x)
point fixe pour la fonction h(x) = x − д 0(x) . Comme h0(x) = 1 − д 0 (x)2
= д 0 (x)2
, la
racine est bien un point fixe super attractif de h si д0 ne s’y annule pas.
Analysons plus précisément la méthode de Newton.
68 5. Méthode de Newton

1
c
−1 0 1 x 2 x 12 x0 3 4 5
−1

Figure 5.1 – La méthode de Newton (zoomer à l’écran pour y voir de plus près).

Théorème 5.1.1 On suppose que д est de classe C 2 sur l’intervalle I = [c − r, c + r ], pour un


certain r > 0 et que д0 ne s’annule pas sur I . Soit
 2m 
M = max |д (x)|, m = min |д (x)| et α = min r,
00 0
.
x ∈I x ∈I M
Alors pour tout point initial x 0 ∈ ]c − α, c + α[, la suite de Newton xn est bien définie pour tout
n et converge vers c quand n → +∞, avec l’estimation
1 n
|xn − c | ≤ (K |x 0 − c |)2 , (5.1.1)
K
M
où K = 2m .

Démonstration. La fonction д0 ne s’annulant pas sur I , on peut y définir une fonction h


д(x)
par h(x) = x − д 0(x) . Par définition de la méthode de Newton, si xn est bien défini, on a
xn+1 = h(xn ). La suite de Newton est donc celle des itérées de x 0 par h et il suffit par
conséquent de montrer que h admet un intervalle invariant pour montrer que la suite est
bien définie.
Pour tout x ∈ I , la formule de Taylor-Lagrange nous dit que

(c − x)2
0 = д(c) = д(x) + (c − x)д0(x) + д00(ξ ),
2
pour un certain ξ situé entre c et x . Divisant par д0(x), qui est non nul sur I , on en déduit
que
д(x) (c − x)2 д00(ξ )
 
x− − c = .
д0(x) 2 д0(x)
On voit donc que
M
|h(x) − c | ≤ |x − c | 2 .
2m
5.1. Présentation en dimension 1 69

On pose alors α = min r, 2Mm . Si x ∈ ]c − α, c + α[⊂ I , on a donc |x − c | < α , d’où




M 2
|h(x) − c | ≤ α ≤ α,
2m
puisque α ≤ 2Mm . On en déduit que h(x) ∈ ]c − α, c + α[ ⊂ I . On a trouvé un intervalle
invariant par h et la suite de Newton xn est donc bien définie si x 0 est pris dans cet intervalle
invariant ]c − α, c + α[.
De plus, on obtient pour tout n

|xn+1 − c | ≤ K |xn − c | 2,
M
avec K = 2m , d’où l’estimation (5.1.1) par la Proposition 5.1.2 ci-dessous avec m 0 = 0 car
K |x 0 − x̄ | < 1. ♦

Proposition 5.1.2 Soit xn une suite réelle qui converge vers x ∈ R. On dit que la convergence
est d’ordre (au moins) α ≥ 1 quand il existe λ > 0, avec λ < 1 quand α = 1, et n 0 tels que
pour tout n ≥ n 0 |xn+1 − x | ≤ λ|xn − x |α . Quand α = 1, on dit que la convergence est linéaire.
|x −x |
Quand α = 2, on dit qu’elle est quadratique. Enfin, quand |xn+n 1−x | → 0 quand n → +∞ (en
supposant xn , x ), on dit que la convergence est surlinéaire.
Si la convergence est linéaire, alors on a pour n assez grand en ≤ Cλn , pour une certaine
constante C (on rappelle que dans ce cas λ < 1). Si la convergence est quadratique, alors on a
pour n assez grand
n
en ≤ Cµ 2 , (5.1.2)
pour une autre constante C et pour un certain µ < 1.

Démonstration. On considère n ≥ n 0 . Traitons d’abord la convergence linéaire. On démarre


un raisonnement par récurrence en remarquant que en0 ≤ en0 . On suppose donc en guise
d’hypothèse de récurrence que en ≤ en0 λn−n0 . On en déduit que

en+1 ≤ λen ≤ en0 λn+1−n0 .

On a ainsi établi l’estimation voulue, avec C = en0 λ −n0 .


Pour la convergence quadratique, on a par hypothèse que en → 0 quand n → +∞.
Il existe donc n 1 tel que pour tout n ≥ n 1 , λen < 1. On pose alors m 0 = max(n 0, n 1 )
et on part du même scoop, mais en m 0 . L’hypothèse de récurrence pour n ≥ m 0 est ici
n−m
en ≤ λ1 (λem0 )2 0 , qui est bien satisfaite pour n = m 0 . On en déduit que
 2
1 2n−m0 1 n−m 0 1 n+1−m 0
en+1 ≤ λ(en )2 ≤ λ (λem0 ) = (λem0 )2×2 = (λem0 )2 .
λ λ λ
−m 0
On a ainsi établi (5.1.2), avec µ = (λem0 )2 et C = λ −1 . ♦

Non seulement la méthode de Newton converge sous les hypothèses précédentes, mais
elle converge quadratiquement. Par contre, la méthode de Newton demande plus de calculs
que les précédentes méthodes, en particulier celui de f 0, qui n’est pas forcément si simple que
ça quand f est elle-même compliquée, et sa convergence n’est pas assurée pour toute valeur
initiale de l’itération. Il vaut mieux être suffisamment près de la racine au départ, c’est-à-dire
70 5. Méthode de Newton

l’avoir déjà assez bien localisée, par exemple par dichotomie. En effet, le Théorème 5.1.1
donne bien un intervalle de convergence, mais celui-ci est centré sur la racine c inconnue. Si
son existence est intéressante, l’utilité pratique de cet intervalle est donc discutable.
On voit par ailleurs que la constante K est d’autant plus grande que la dérivée seconde
est grande et que la dérivée première est petite. Ce sont des situations défavorables pour
la convergence de la méthode de Newton, à la fois en termes d’intervalle et en termes de
vitesse de convergence. Il vaut mieux que la dérivée seconde soit petite (moralement, f très
proche de son application affine tangente) avec une forte pente.
Gardons quand même à l’esprit qu’en pratique, quand elle marche, la méthode de
Newton est terriblement efficace.
Prenons maintenant l’exemple de la fonction д(x) = x 2 − 2. On a д0(x) = 2x donc la
méthode de Newton consiste à effectuer l’itération

xn2 − 2 xn 1
xn+1 = xn − = + .
2xn 2 xn

Quand on la démarre à x 0 = 1, c’est exactement la méthode de Héron pour approcher 2.
Celle-ci est donc effectivement quadratique, de nombreux siècles avant Newton. Bien sûr,
l’idée de Héron n’était pas du tout celle de Newton, mais se basait sur des considérations
géométriques d’aires de rectangles, voir Figure 5.2.
Plus généralement, pour tout A > 0, on peut considérer la fonction д(x) = x 2 − A, qui
fournit des itérations de Héron

xn2 − A xn A 1 A
xn+1 = xn − = + = xn + ,
2xn 2 2xn 2 xn

lesquelles convergent quadratiquement vers A.
On passe à la méthode de Newton en dimension supérieure. On va même commencer
par se placer dans une généralité telle qu’il n’y a même pas a priori de notion de dimension.

5.2 La méthode de Newton dans Rn


On va s’intéresser ici à trouver les racines ou les zéros d’une application д : Rn → Rn , ou
d’une partie de Rn à valeurs dans Rn , д(x) = 0. Cela a un sens, puisque Rn contient bien un
0. On a déjà vu le cas n = 1.
Première remarque, pourquoi д : Rn → Rn et pas plus généralement д : Rn → Rm avec
m pas nécessairement égal à n ? La raison en est qu’il n’est raisonnable d’espérer trouver des
zéros isolés que dans le cas n = m . Génériquement, si m < n on va trouver soit l’ensemble
vide, soit des zéros qui forment une « grosse » partie de Rn . Par exemple, si m = 1 et n = 2,
on va typiquement tomber sur une courbe, si m = 1 et n = 3 sur une surface, etc. Par contre,
si m > n , on va génériquement trouver l’ensemble vide.
Pour se convaincre que ceci est plausible, il suffit de regarder le cas où д est affine ou
linéaire. On est ici en train de discuter de la résolution d’un système linéaire de m équations
à n inconnues. L’ensemble des zéros est soit un singleton, soit un espace affine de dimension
supérieure à 1, soit l’ensemble vide, selon le rang, le noyau et l’image de l’application linéaire
associée, et le second membre du système linéaire. La situation est assez semblable dans le
5.2. La méthode de Newton dans Rn 71

Figure 5.2 – La méthode de Héron du point de vue géométrique de Héron : le rectangle


vert pâle a la même aire A que le rectangle vert foncé, mais est nettement plus carré, et
ainsi de suite, et ainsi de suite...

cas général non linéaire, avec plus de variété 1 naturellement, et il est impossible de conclure
de façon générale et universelle comme avec les systèmes linéaires.
Cette section suppose connus les bases du calcul différentiel, reprises en annexe B.

5.2.1 д(x) = 0 du point de vue théorique


Étant donné un ouvert U de Rn et д une application de classe C 1 de U à valeurs dans
Rn , on cherche à trouver les x ∈ U tels que д(x) = 0.
Tout d’abord, est-ce un but raisonnable ? On sait bien que oui si n = 1, mais en général,
ce n’est pas si clair. En effet, dès n = 2, les dessins qui sont convaincants pour n = 1 doivent
être faits en dimension 2 × 2 = 4, car le graphe de д est alors un sous-ensemble de R4 . Du
coup, on n’y voit plus grand-chose.
Regardons à nouveau et plus précisément ce qui se passe quand д est une fonction affine
et U = Rn , c’est-à-dire que д(x) = Ax − b où A est une matrice n × n et b ∈ Rn . Les zéros de
д sont donc exactement les solutions de l’équation Ax = b . On reconnaît un système linéaire
de n équations à n inconnues. La discussion de ce système se fait classiquement selon que A
est inversible ou non.
Si A est inversible, alors pour tout b ∈ Rn , il y a une solution unique, donc isolée, qui est
donnée par x = A−1b .
Si A n’est pas inversible, alors son noyau n’est pas réduit au vecteur nul. Si b appartient à

1. Private joke liée à la géométrie différentielle.


72 5. Méthode de Newton

l’image de A, alors l’ensemble des solutions est de la forme xp + ker A, où xp est une solution
particulière. C’est un sous-espace affine de dimension supérieure à 1, en particulier les
solutions ne sont pas isolées. Si par contre b n’appartient pas à l’image de A, alors l’ensemble
des solutions est vide.
Quand on prend une matrice carrée « au hasard » (sans donner un sens précis à cette
expression), celle-ci va presque sûrement être inversible et on sera dans la première situation.
Dit autrement, il faut vraiment soit jouer de malchance, soit s’y prendre de façon délibérée
pour avoir une matrice A n × n non inversible. 2
On peut penser que la situation générique avec une fonction д non nécessairement affine
sera analogue, c’est-à-dire que sauf malchance, si on a un zéro de д, alors ce zéro va être
isolé. Dans toute la suite, on va se donner une norme k · k sur Rn fixée une fois pour toutes.
Pour fixer les idées, on va prendre kx k = maxi |xi | , mais cela peut aussi être n’importe quelle
autre norme, c’est sans importance. 3 Pour cette norme, les boules sont des (hyper)cubes,
ce qui est aussi sans importance. Elles sont bien convexes.

Proposition 5.2.1 Soit U un ouvert de Rn et д : U → Rn . On se donne x ∈ U tel que д(x) = 0,


on suppose que д y est différentiable et que ∇д(x) est inversible. Alors x est un zéro isolé de д.
Démonstration. Définissons h : U → Rn par h(y) = (∇д(x))−1д(y). On a donc h(x) = 0 et
∇h(x) = I , la matrice identité, et par définition de la différentiabilité en x , on peut écrire
h(y) = h(x) + I (y − x) + ky − x kε(y − x) = y − x + ky − x kε(y − x),
pour tout y ∈ U . Toujours par définition de la différentiabilité, il existe une boule ouverte
B(x, r ) telle que kε(y − x)k < 12 pour tout y ∈ B(x, r ). Par l’inégalité triangulaire, il s’ensuit
que
1
kh(y)k >
ky − x k
2
ce qui montre que le seul endroit où h s’annule dans cette boule est au point x , et il en va de
même de д = (∇д(x))h puisque le noyau de ∇д(x) est réduit au vecteur nul. ♦

Remarque 5.2.1 En fait, on a beaucoup plus fort quand д est de classe C 1 , en faisant
appel au théorème d’inversion locale, un résultat de calcul différentiel qui nous dit que д
est un C 1 -difféomorphisme local, en particulier est localement injective, ce qui implique
immédiatement que x est un zéro isolé. Le théorème d’inversion locale est d’ailleurs un
autre exemple d’application du théorème de point fixe de Banach.
Bien sûr, si ∇д(x) n’est pas inversible, on ne peut rien dire. ♦

5.2.2 La méthode de Newton(-Raphson)


On est maintenant rassuré qu’il n’est pas a priori idiot de chercher des zéros isolés d’une
fonction de Rn dans Rn . En dimension n quelconque, la méthode de Newton prend parfois
le nom de méthode de Newton-Raphson. Le principe est le même qu’en dimension 1.
2. Par contre, il arrive couramment que l’on tombe sur une matrice inversible, donc bien gentille en théorie,
mais qui est telle que le calcul effectif en pratique de la solution est extrêmement difficile, voire impossible
avec une précision raisonnable.
3. Encore que ce choix conduise à des calculs parfois plus simples que d’autres choix.
5.2. La méthode de Newton dans Rn 73

Nous avons toujours un ouvert U de Rn et д une application de classe C 2 de U à valeurs


dans Rn . La classe C 2 est ici entendue ⁴ au sens où toutes les dérivées partielles secondes de
toutes les composantes de д sont bien définies et continues sur U . On cherche à déterminer
les x ∈ U tels que д(x) = 0.
On suppose disposer d’une valeur approchée x 0 ∈ U d’une solution x . Comme dans la
méthode de Newton scalaire, l’idée est d’approcher д par sa partie linéaire au voisinage de
x 0 . En effet, par différentiabilité de д en x 0 , on a
0 = д(x) = д(x 0 ) + ∇д(x 0 )(x − x 0 ) + kx − x 0 kε(x − x 0 ),
où la fonction ε dépend de x 0 . Mais comme on ne sait rien sur cette dernière, mis à part le
fait que ε(h) → 0 quand h → 0, on ne peut pas en faire grand-chose directement.
On se contente donc de chercher à résoudre l’équation d’inconnue x 1 ,
д(x 0 ) + ∇д(x 0 )(x 1 − x 0 ) = 0, (5.2.1)
dans laquelle on a simplement enlevé le reste, et où ne subsiste que la partie linéaire de д,
c’est-à-dire l’équivalent de l’équation de la tangente au graphe en dimension 1 (la tangente
au graphe est remplacée par un sous-espace affine de R2n de dimension n ). On espère alors,
comme en dimension n = 1, que x 1 va être une meilleure approximation de x que x 0 .
L’équation (5.2.1) en l’inconnue x 1 est en fait un système linéaire de n équations à n
inconnues, ∇д(x 0 )x 1 = ∇д(x 0 )x 0 − д(x 0 ). Si la matrice ∇д(x 0 ) est inversible, alors on a une
solution unique x 1 simplement donnée par
x 1 = x 0 − (∇д(x 0 ))−1д(x 0 ),
et si jamais x 1 ∈ U et ∇д(x 1 ) est encore inversible, alors on peut itérer le processus pour
calculer x 2 , et ainsi de suite. La méthode de Newton-Raphson consiste donc à construire si
possible la suite
xk+1 = xk − (∇д(xk ))−1д(xk ). (5.2.2)
Il faut ajouter « si possible », car rien ne garantit a priori que si xk ∈ U et ∇д(xk ) est
inversible, alors xk+1 ∈ U et ∇д(xk+1 ) est inversible. Il est même facile de construire des
contre-exemples.
Remarquons qu’en dimension n = 1, multiplier д(xk ) ∈ Rn à gauche par l’inverse de la
matrice ∇д(xk ) consiste exactement à diviser par д0(xk ).
Commençons par quelques éléments utiles sur l’espace vectoriel des matrices Mn (R),
que l’on munit d’une norme (c’est un espace de dimension n 2 ) et sur le sous-ensemble des
matrices inversibles GLn (R). On rappelle qu’un ouvert de Mn (R) est une réunion de boules
ouvertes, et que ceci ne dépend pas du choix de la norme, puisqu’il s’agit encore d’un espace
vectoriel sur R de dimension finie.
On pourrait prendre n’importe quelle norme sur Mn (R), par exemple |||A||| = maxi,j |aij | ,
mais il est plus agréable pour travailler d’en choisir une qui soit adaptée à la norme que l’on
a déjà adoptée sur Rn . Pour cela, on utilise la notion de norme matricielle subordonnée. On
renvoie à l’annexe A pour la définition A.2.1 et les propriétés de cette norme.
On rappelle aussi le résultat classique suivant.
4. Pour éviter de devoir introduire les différentielles d’ordre supérieur à 1, par exemple d’ordre 2. Si les
différentielles d’ordre 1 ressortent de l’algèbre linéaire, celles d’ordre supérieur à 1 ressortent de l’algèbre
multilinéaire. Ce n’est pas fondamentalement beaucoup plus dur, mais c’est définitivement plus lourd. Ici,
on peut s’en tirer avec juste des dérivées partielles et cette notion de classe C 2 à base de dérivées partielles
secondes coincide avec celle que l’on aurait si l’on avait la vraie différentielle seconde à notre disposition.
74 5. Méthode de Newton

Lemme 5.2.2 L’ensemble des matrices inversibles GLn (R) est un ouvert de Mn (R).

Nous donnons une preuve (constructive) de ce résultat à l’annexe A

Proposition 5.2.3 Si д est de classe C 2 sur U et ∇д(x) est inversible, alors il existe une boule
centrée en x telle que pour toute donnée initiale dans cette boule, la suite des itérations de
Newton est bien définie et converge quadratiquement vers x :

kxk+1 − x k ≤ K kxk − x k 2,

pour un certain K .

Démonstration. Comme ∇д(x) est inversible, il existe une boule B(∇д(x), r ) dans l’espace
des matrices qui ne contient que des matrices inversibles par le Lemme 5.2.2. Comme д est
de classe C 1 , il existe une boule B(x, s) dans U cette fois telle que si y ∈ B(x, s) alors ∇д(y)
appartient à B(∇д(x), r ), et est donc inversible. On commence par se restreindre à la boule
B(x, s).
Dans cette boule, on définit une fonction h : B(x, s) → Rn en posant

h(y) = y − (∇д(y))−1д(y).

Par définition de la méthode de Newton, si xk est bien défini, on a xk+1 = h(xk ). La suite de
Newton est donc celle des itérées de x 0 par h et il suffit par conséquent de montrer que h
admet une boule invariante pour montrer que cette suite est bien définie pour tout k .
Pour tout y ∈ B(x, s), on pose z : [0, 1] → Rn , z(t) = д(y + t(x − y)) de telle sorte que
z(0) = д(y) et z(1) = д(x) = 0. Par dérivation des fonctions composées, z est de classe C 2 ,
avec

z 0(t) = ∇д(y + t(x − y))(x − y) et z 00(t) = ∇2д(y + t(x − y)) (x − y), (x − y) .




Attention, dans le contexte présent, ∇д est la matrice jacobienne dont les composantes sont
indexées par deux indices, et ∇2д est une bête à trois indices ⁵ dont les composantes sont
∂ 2дi
∇2д =

ijk ∂x j ∂x k . Quand on écrit tout en composantes, ceci donne

n
Õ ∂дi
(∇д(a)b)i = (a)b j ,
j=1
∂x j

et
n
∂ 2дi
Õ
(∇ д(a)(b, c))i =
2
(a)b j ck .
j,k=1
∂x j ∂xk
Posons
n
∂ 2дi
 Õ 
M = sup max (y) ,
y∈B(x,s) i
j,k=1
∂x j ∂xk
il vient alors
sup k∇2д(y)(b, c)k ≤ M kb k kc k.
y∈B(x,s)

5. On appelle ça un tenseur.
5.2. La méthode de Newton dans Rn 75

Revenant à la fonction z , l’inégalité de Taylor-Lagrange nous dit que

1
kz(1) − z(0) − z 0(0)k ≤ sup kz 00(t)k.
2 t ∈[0,1]

Quand on réexprime ceci en termes de д, on obtient

1
kд(y) + ∇д(y)(x − y)k ≤ sup ∇2д(y + t(x − y)) (x − y), (x − y)

2 t ∈[0,1]
1
≤ M kx − y k 2,
2

puisque le segment qui joint x à y est entièrement dans la boule. Comme

h(y) = y − (∇д(y))−1д(y) = (∇д(y))−1 (∇д(y)y − д(y)),

on voit que
h(y) − x = −(∇д(y))−1 (∇д(y)(x − y) + д(y)),

d’où

kh(y) − x k ≤ |||(∇д(y))−1 ||| k∇д(y)(x − y) + д(y)k


1
≤ M |||(∇д(y))−1 ||| kx − yk 2
2
≤ K kx − y k 2,

où l’on a posé K = 21 M supy∈B(x,s) |||(∇д(y))−1 ||| .


On pose alors α = min s, K1 . Si y ∈ B(x, α) ⊂ B(x, s), on a donc ky − x k < α , d’où


kh(y) − x k ≤ Kα 2 ≤ α,

puisque α ≤ K1 . On en déduit que h(y) ∈ B(x, α), c’est-à-dire que la boule B(x, α) est
invariante par h , avec de plus le fait que ∇д est inversible en tout point de cette boule. La
suite de Newton xk est donc bien définie si x 0 est pris dans la boule B(x, α).
De plus, il vient immédiatement que, comme xk+1 = h(xk ) pour tout k ,

kxk+1 − x k ≤ K kxk − x k 2,

d’où la convergence quadratique de la méthode de Newton. ♦

Remarque 5.2.2 Il s’agit essentiellement de la même démonstration qu’en dimension 1. Les


mêmes remarques concernant l’éventuelle divergence de la méthode si x 0 est trop loin de x
s’appliquent. ♦
76 5. Méthode de Newton

5.2.3 Quelques illustrations en dimension 2

Le cas particulier n = 2 est particulièrement intéressant quand on restreint l’attention


aux fonctions holomorphes, c’est-à-dire quand on identifie R2 et C, et que l’on considère
les fonctions d’un ouvert de C à valeurs dans C qui sont dérivables au sens de C. Cette
condition est beaucoup plus restrictive qu’être juste différentiable de R2 dans R2 . De façon
très étonnante, sans aucune autre hypothèse que leur dérivabilité, même pas l’hypothèse de
classe C 1 , les fonctions holomorphes sont en fait automatiquement de classe C ∞ et même
analytiques, c’est-à-dire localement égales à leur série de Taylor. De plus, leurs zéros sont
forcément isolés. C’est par exemple le cas des fonctions polynomiales (ou de l’exponentielle
complexe, mais celle-ci n’a pas beaucoup de zéros). La méthode de Newton va évidemment
s’appliquer pour en approcher les zéros, puisqu’il s’agit d’un cas particulier de fonction de
R2 dans R2 .
Comme l’action de la différentielle au point z , considérée comme application linéaire
de R2 dans R2 , sur un vecteur est une similitude, qui se traduit du point de vue complexe
par la multiplication complexe par le nombre complexe f 0(z), l’inverse de la différentielle
correspond à la division complexe par д0(z) quand celui-ci n’est pas nul. On se retrouve donc
avec la même formulation que dans le cas réel, zk+1 = zk − д(zk )/д0(zk ), mais dans le plan
complexe.
Par la théorie générale, on sait que la méthode de Newton va converger vers une racine
quand le point initial z 0 est suffisamment proche de la racine en question. C’est un résultat
local. Qu’en est-il plus globalement ? La suite peut converger ou pas et une question qui s’est
posée un certain temps, dans le cas des polynômes, est quelle est l’influence du choix de z 0 .
En particulier, si la suite de Newton converge partant de z 0 , vers quelle racine du polynôme
converge-t-elle ?
Cayley a montré au 19ème siècle que pour des polynômes de degré deux, cette suite
converge vers la racine la plus proche du point de départ. Le plan complexe est donc coupé
en deux par une droite, la médiatrice des deux racines (on suppose les racines distinctes),
en dehors de laquelle on a convergence vers la racine incluse dans le même demi-plan
ouvert. On vérifie par un calcul direct que la médiatrice est invariante par l’itération de
Newton. Si le point initial est situé sur cette médiatrice, il s’ensuit que la suite de Newton
ne converge pas.
Les choses se complexifient (si l’on ose dire) considérablement à partir du troisième degré.
Les bassins d’attraction de chaque racine, c’est-à-dire les régions du plan qui correspondent
à une valeur initiale dont la suite des itérées converge vers cette racine, possèdent une
structure compliquée. Leur frontière commune a une structure de type fractal. Par exemple,
dans le cas d’un polynôme à trois racines distinctes, il peut se faire que chaque point de la
frontière soit adhérent en même temps à trois bassins d’attraction différents, ce qui est un
peu dur à visualiser. On en effet tendance à penser qu’une frontière ne sépare en général
que deux pays, sauf que là, c’est trois pays qui se côtoient en chacun de ses points.
On trouve sur le web de nombreuses images de « fractales de Newton » qui illustrent ces
propriétés de convergence ou de divergence d’ailleurs. On y représente souvent (mais pas
toujours, comme dans le premier exemple qui suit) les bassins d’attraction d’une certaine
couleur, et l’on peut identifier vers quelle racine on converge sur la base de cette couleur.
5.2. La méthode de Newton dans Rn 77
78 5. Méthode de Newton
5.3. Pour en savoir plus : le théorème de Kantorovich 79

5.3 Pour en savoir plus : le théorème de Kantorovich


Un théorème évidemment dû à Kantorovich, à propos de la méthode de Newton. En fait, il y a plusieurs
versions du théorème de Kantorovich, dont une assez optimale, mais horriblement technique. On va se
contenter d’une version plus digeste (mais pas optimale).
Le point principal des théorèmes de type Kantorovich est non seulement de montrer la convergence de la
méthode de Newton, mais par la même occasion, de donner des conditions suffisantes d’existence de racine que
l’on a une petite chance de pouvoir vérifier en pratique ! Ce n’est pas rien. Énonçons le résultat qui va nous
occuper dans la suite.

Théorème 5.3.1 (Kantorovich) Soit U un ouvert de Rn , x 0 ∈ U et д : U → Rn de classe C 1 . On suppose que


∇д(x 0 ) ∈ GLn (R) et qu’il existe un nombre r > 0 tel que B(x 0, r ) ⊂ U et
 −1 r
∇д(x 0 ) д(x 0 ) ≤ , (5.3.1)
2
 −1 1
∀y, z ∈ B(x 0, r ), ky − zk.

∇д(x 0 ) ∇д(y) − ∇д(z) ≤ (5.3.2)
r
Alors pour tout y ∈ B(x 0, r ), on a ∇д(y) ∈ GLn (R), les itérations de Newton x k partant de x 0 sont bien définies
pour tout k , restent dans B(x 0, r ) et convergent vers x ∈ B(x 0, r ), qui est de plus l’unique racine de f dans B(x 0, r ).
80 5. Méthode de Newton

On a enfin l’estimation d’erreur


r
kx k − x k ≤ .
2k
Démonstration. On va se simplifier la vie en posant le changement de variable suivant. Si u ∈ B(0, 1) alors
x −x 0
x = x 0 + ru ∈ B(x 0, r ) et réciproquement u =r ∈ B(0, 1). On introduit donc h : B(0, 1) → Rn par
1  −1
h(u) = ∇д(x 0 ) д(x 0 + ru),
r
ou de façon équivalente x − x 
д(x) = r ∇д(x 0 )h .
0
r
En ce qui concerne les matrices jacobiennes, on obtient
 −1 x − x 
∇h(u) = ∇д(x 0 ) ∇д(x 0 + ru) et ∇д(x) = ∇д(x 0 )∇h ,
0
r
 −1
par dérivation des fonctions composées. En particulier, h(0) = r1 ∇д(x 0 ) д(x 0 ) et ∇h(0) = I .
Quand on les réécrit en termes du changement de variables u et h , les hypothèses (5.3.1) et (5.3.2)
deviennent plus agréables
1
kh(0)k ≤ , (5.3.3)
2
∀u, v ∈ B(0, 1), |||∇h(u) − ∇h(v)||| ≤ ku − v k. (5.3.4)

On remarque de plus que les itérations de Newton de д et celles de h se correspondent via le changement
de variable. En effet, si x k = x 0 + ruk est l’itération de Newton de f , alors

x k +1 − x 0 x k − x 0 ∇д(x k )−1д(x k )
uk +1 = = −
r r r
∇h(uk )−1 ∇д(x 0 )−1д(x k )
= uk − = uk − ∇h(uk )−1h(uk ).
r
Enfin les racines de д et de h dans leurs boules respectives se correspondent manifestement par le
changement de variable. On va donc travailler sur h satisfaisant (5.3.3) et (5.3.4) dans la boule unité, et sur
ses itérations de Newton, ça sera beaucoup plus confortable.
On prend d’abord v = 0 dans la deuxième inégalité (5.3.4). Il vient donc

∀u ∈ B(0, 1), |||∇h(u) − I ||| ≤ ku k < 1.


On en déduit que ∇h(u) est inversible partout dans la boule ouverte, avec l’estimation
1
|||∇h(u)−1 ||| ≤ (5.3.5)
1 − ku k
qui découle immédiatement de la preuve du Lemme 5.2.2. De plus, on a
∫ 1
h(u) − h(v) = ∇h(v + t(u − v))(u − v) dt,
0

si bien que
∫ 1
h(u) − h(v) − ∇h(v)(u − v) = ∇h(v + t(u − v)) − ∇h(v) (u − v) dt

0
∫ 1
∇h(v + t(u − v)) − ∇h(v) (u − v) dt


0
∫ 1
≤ |||∇h(v + t(u − v)) − ∇h(v)||| ku − v k dt
0
ku − v k 2
∫ 1
≤ ku − v k 2
t dt = , (5.3.6)
0 2
5.3. Pour en savoir plus : le théorème de Kantorovich 81

toujours par l’hypothèse (5.3.4).


Regardons ce que l’on peut dire de la première itération de Newton avec u 0 = 0, u 1 = 0 − Ih(0) = −h(0).
Bien sûr,
1
ku 1 k = kh(0)k ≤ .
2
Par (5.3.5), on a aussi
1
|||∇h(u 1 )−1 ||| ≤ ≤ 2.
1 − ku 1 k
Enfin, comme h(u 1 ) = h(u 1 ) + u 1 − u 1 + u 0 = h(u 1 ) − h(u 0 ) − ∇h(u 0 )(u 1 − u 0 ), on déduit de (5.3.6) que

ku 1 k 2 1 1
kh(u 1 )k ≤ ≤ = 3.
2 8 2
Ceci incite fortement à poser l’hypothèse de récurrence suivante pour k ≥ 1,

1 1 1
kuk − uk −1 k ≤ , kuk k ≤ 1 − , |||∇h(uk )−1 ||| ≤ 2k et kh(uk )k ≤ . (5.3.7)
2k 2k 22k +1

Comme uk ∈ B(0, 1) par la deuxième inégalité, uk +1 = uk − ∇h(uk )−1h(uk ) est bien défini. De plus,
h(uk +1 ) = h(uk +1 ) − h(uk ) − ∇h(uk )(uk +1 − uk ). Il vient donc

2k 1
kuk +1 − uk k = k∇h(uk )−1h(uk )k ≤ |||∇h(uk )−1 ||| kh(uk )k ≤ = .
22k +1 2k +1
Par l’inégalité triangulaire, il s’ensuit que

1 1 1
kuk +1 k ≤ kuk +1 − uk k + kuk k ≤ +1− =1− .
2k +1 2k 2k +1
L’estimation (5.3.5) donne alors

1
|||∇h(uk +1 )−1 ||| ≤ ≤ 2k +1 .
1 − kuk +1 k

Enfin,
kuk +1 − uk k 2 1
kh(uk +1 )k = kh(uk +1 ) − h(uk ) − ∇h(uk )(uk +1 − uk )k ≤ ≤ .
2 22k +3
On a ainsi montré que l’itération de Newton est bien définie pour tout k avec les estimations (5.3.7).
L’estimation kuk − uk −1 k ≤ 21k montre comme on l’a vu déjà bien souvent que la suite uk est de Cauchy,
elle converge donc vers un u dans l’espace complet B(0, 1), avec la vitesse de convergence linéaire donnée
par l’estimation d’erreur du théorème. Comme h(uk ) → 0 par la dernière estimation de (5.3.7), on voit que
h(u) = 0 par continuité.
Il reste à voir qu’il n’y a pas d’autre racine que u dans la boule fermée. Soit v une autre telle racine. On a
manifestement ku 0 − v k = kv k ≤ 1 = 210 . Faisons l’hypothèse de récurrence que kuk − v k ≤ 21k . Il vient

uk +1 − v = uk − v − ∇h(uk )−1h(uk ) = uk − v − ∇h(uk )−1 (h(uk ) − h(v))


= ∇h(uk )−1 ∇h(uk )(uk − v) − h(uk ) + h(v) ,


d’où, en utilisant à nouveau (5.3.6),

kuk − v k 2 1
kuk +1 − v k ≤ |||∇h(uk )−1 ||| ∇h(uk )(uk − v) − h(uk ) + h(v) ≤ 2k ≤ .
2 2k +1
On a ainsi montré que uk → v , ce qui implique évidemment que v = u . ♦

Remarque 5.3.1 i) La grosse différence avec la proposition 5.2.3 est que l’on ne suppose pas l’existence d’une
racine, avec convergence dans une boule que l’on ne connaît pas, mais que l’on montre, si un certain nombre
82 5. Méthode de Newton

de conditions sont satisfaites, l’existence d’une telle racine avec convergence dans une boule que l’on connaît.
Bien sûr, encore faut-il trouver des x 0 et r qui marchent.
ii) Regardons ce que dit le théorème de Kantorovich en dimension 1. Le changement de variable s’écrit
h(u) = д(x 0 + ru)/(rд 0(x 0 )), avec h définie sur [−1, 1] et h 0(0) = 1. Les hypothèses du théorème s’écrivent

1
|h(0)| ≤ ,
2
|h 0(u) − h 0(v)| ≤ |u − v |.

Il est assez clair en intégrant les inégalités 1 − u ≤ h 0(u) ≤ 1 + u que l’on a alors une seule racine dans [−1, 1],
qui est négative si h(0) ≥ 0 et positive si h(0) ≤ 0. Dans le cas où h est deux fois dérivable, la condition de
Lipschitz sur h 0 est équivalente au fait que |h 00(u)| ≤ 1 pour tout u , une borne sur la courbure du graphe.
iii) Le théorème est vrai pour n’importe quelle norme sur Rn en utilisant sa norme matricielle subordonnée.
Il reste aussi vrai avec la même démonstration dans un espace de Banach quelconque, y compris de dimension
infinie, en utilisant la norme d’application linéaire, qui se définit exactement comme une norme matricielle
subordonnée.
iv) Le théorème ne fournit qu’une convergence linéaire, et non pas quadratique, pour la méthode de
Newton. La raison est que l’on ne fait pas l’hypothèse que д est de classe C 2 , mais seulement C 1 avec la matrice
jacobienne lipschitzienne (on dit que д est de classe C 1, 1 ). De plus, la racine trouvée x est dans la boule
fermée, et si elle est sur la sphère, rien n’interdit que ∇д(x) soit non inversible, voir Figure 5.3. On ne peut
donc pas espérer plus qu’une convergence linéaire sous ces seules hypothèses. Néanmoins, si д est de classe C 2
et si la racine est dans la boule ouverte, alors on finit tôt ou tard par tomber dans la boule inconnue de la
proposition 5.2.3, et la convergence est effectivement quadratique.
v) La version horrible du théorème de Kantorovich donne des conditions vérifiables en pratique et qui
assurent la convergence quadratique. En fait, cette version ne suppose pas д de classe C 2 non plus, mais
seulement C 1, 1 , avec tout un tas d’autres conditions. ♦

0,75

0,5

0,25

-1 -0,75 -0,5 -0,25 0 0,25 0,5 0,75 1 1,25

-0,25

Figure 5.3 – Newton-Kantorovich : en vert, convergence quadratique (en partant de 0), en


rouge, convergence linéaire.
5.4. Retour à la méthode d’Euler implicite 83

5.4 Retour à la méthode d’Euler implicite


On s’intéresse à l’approximation de la solution d’un problème de Cauchy pour une équation différentielle
ordinaire
∀t ∈ [0,T ], y 0(t) = д(t, y(t)), y(0) = y0,
où д : [0,T ] × Rd → Rd et y0 ∈ Rd sont donnés et l’on cherche la fonction inconnue y : [0,T ] → Rd . Si д est
continue d’une part et Lipschitzienne par rapport à y , uniformément par rapport à t d’autre part, c’est-à-dire
qu’il existe une constante L telle que

∀t ∈ [0,T ], ∀y, z ∈ Rd , kд(t, y) − д(t, z)k ≤ Lky − zk,


alors ce problème de Cauchy admet une solution et une seule pour tout y0 ∈ Rd . C’est le théorème de
Cauchy-Lipschitz global. Évidemment, il s’agit d’une question d’intérêt général majeur.
En général, il n’existe par contre aucune formule qui donne cette solution, et l’on doit l’approcher pour
pouvoir en dire quelque chose de quantitatif. Pour cela, on se donne un entier N et l’on introduit un pas de
temps h = NT+1 , puis on pose tn = nh , n = 0, 1, . . . , N + 1 qui sont des instants de discrétisation de l’intervalle
de temps [0,T ].
La méthode d’Euler implicite consiste à construire la suite yn ∈ Rd définie par récurrence par
yn+1 − yn
y 0 = y 0, = д(tn+1, yn+1 ) pour 0 ≤ n ≤ N .
h
On démontre que cette méthode marche et que yn est une approximation de y(tn ) d’autant meilleure que
h est petit, en un sens précis que l’on ne détaillera pas ici.
Comment calculer yn+1 connaissant yn pour faire progresser la récurrence ? Sauf cas particulier où д est
très simple, on doit de fait trouver une racine de la fonction

fn (x) = x − yn − hд(tn+1, x),


d’où le qualificatif « implicite ».
On peut procéder par itérations de point fixe, on peut également appliquer la méthode de Newton. Voyons
ce que le théorème de Kantorovich a à nous dire à ce sujet. On a

∇fn (x) = I − h∇д(tn+1, x),


où la matrice jacobienne de д est prise par rapport à x , à t = tn+1 fixé. C’est donc bien une matrice d × d . On va
supposer que ∇д(tn+1, ·) est lipschitzienne de constante M pour la norme matricielle subordonnée, c’est-à-dire
д de classe C 1, 1 .
On va évidemment démarrer l’itération de Newton à x 0 = yn (on est censé approcher yn+1 qui est censé
approcher y(tn+1 ) qui est proche de y(tn ) qui est lui-même approché censément par yn , donc c’est raisonnable).
On a donc  −1
fn (x 0 ) = −hд(tn+1, yn ) et ∇fn (x 0 )−1 fn (x 0 ) = −h I − h∇д(tn+1, yn ) д(tn+1, yn )
L’hypothèse de L-lispchitzianité de д se traduit bien sûr par

|||∇д(tn+1, x)||| ≤ L,
pour tout x et le caractère Lipschitzien de ∇д par

|||∇д(tn+1, x) − ∇д(tn+1, y)||| ≤ M kx − y k,


pour une autre constante de Lipschitz M .
On déduit de la première inégalité que ∇fn (x) est inversible dès que h < 1
L avec
 −1 1
|||∇fn (x)−1 ||| = I − h∇д(tn+1, x) ≤ .
1 − hL
Il vient alors
 −1
k∇fn (x 0 )−1 fn (x 0 k = h I − h∇д(tn+1, yn ) д(tn+1, yn )
hG
≤ ,
1 − hL
84 5. Méthode de Newton

où l’on a posé G = kд(tn+1, yn )k (ou un majorant indépendant de n ). Pour satisfaire la première condition du
théorème de Kantorovich, il suffit donc que

hG r
≤ . (5.4.1)
1 − hL 2
De même,
 −1 hM
ky − zk,

∇fn (x 0 ) ∇fn (y) − ∇fn (z) ≤
1 − hL
et pour satisfaire la deuxième condition du théorème de Kantorovich, il suffit donc que

hM 1
≤ . (5.4.2)
1 − hL r
Il existe un tel r si et seulement si
2hG 1 − hL
≤ .
1 − hL hM

Ceci a lieu si et seulement si 0 ≤ h ≤ min h +, L1 où h + est la plus petite valeur positive de l’expression L± 2MG

L 2 −2MG
(on peut toujours supposer que L2 − 2MG , 0). Si l’inégalité de droite est stricte, il y a alors tout un intervalle
de valeurs r possibles, ce qui implique que la convergence est quadratique, soit si д est C 2 , soit si l’on en croit
la version horrible de Kantorovich.
Bien sûr, il s’agit de la convergence d’une itération de Newton, que l’on doit refaire avec une fonction
différente pour chaque valeur de n correspondant à la discrétisation temporelle de l’EDO. En fonction de la
difficulté des calculs, les considérations de coût peuvent alors devenir importantes.

5.5 Considérations de mise en œuvre pratique


Supposons que nous ayons un vrai problème f (x) = 0 de la vraie vie à résoudre par la
méthode de Newton. On s’est donc donné un x 0 ∈ Rn (en croisant les doigts pour qu’il ne
soit pas trop loin de la racine cherchée) et l’on doit calculer un nombre fini de termes de
l’itération de Newton
xk+1 = xk − (∇f (xk ))−1 f (xk ).
En pratique, « calculer » va bien sûr signifier approcher les valeurs de l’itération en
question. Cette approximation est une source d’erreurs supplémentaires qui vont se propager
à chaque étape de l’itération. On laisse de côté ici ces erreurs en les supposant négligeables ⁶.
On va donc devoir à chaque itération, à partir du xk ∈ Rn obtenu à la fin de l’itération
précédente
1. évaluer f (xk ) ∈ Rn ,
2. évaluer la matrice ∇f (xk ) ∈ Mn (R),
3. évaluer le produit matrice-vecteur ∇f (xk )xk ,
4. évaluer la différence ∇f (xk )xk − f (xk ),
5. résoudre le système linéaire ∇f (xk )xk+1 = ∇f (xk )xk − f (xk ).
Chacune de ces opérations a un coût, c’est-à-dire va demander plus ou moins d’opérations
élémentaires (additions, multiplications, divisions, stockage en mémoire), et donc prendre
plus ou moins de temps sur un ordinateur donné. Pour de petites valeurs de n et des
fonctions f simples, ce temps peut être tellement bref qu’il semble que le résultat tombe
6. Que ceci soit justifié ou pas...
5.6. Les méthodes de quasi-Newton 85

instantanément. Néanmoins, n n’est pas forcément petit, f n’est pas forcément simple ⁷, et
surtout il se peut que le calcul de racine soit en fait inclus dans une ou plusieurs autres
boucles itératives, et que l’on doive donc le répéter un très grand nombre de fois sur des
valeurs différentes.
Dans ces conditions, la question du temps de calcul peut devenir primordiale ⁸.
Tentons d’évaluer à la louche le nombre d’opérations nécessaires pour chacune des
étapes d’une itération.
1. On a n variables scalaires à combiner entre elles pour évaluer chaque composante de
f . En général, cela va imposer d’effectuer au moins n opérations élémentaires sur
des nombres (probablement beaucoup plus) pour chaque composante, d’où un coût
global d’au moins O(n 2 ) opérations.
2. Même chose, mais avec n 2 composantes, d’où un coût global d’au moins O(n 3 )
opérations.
3. Là, on sait exactement ce que cela coûte : n 2 multiplications et n(n − 1) additions,
en l’absence de structure particulière de la matrice ∇f (xk ). D’où un coût global de
O(n 2 ) opérations.
4. L’étape la plus économique : n additions.
5. Encore une fois, en l’absence de structure particulière de la matrice ∇f (xk ), on n’a
guère d’autre recours que d’utiliser la méthode de Gauss, ou une de ses déclinaisons
plus modernes et sophistiquées, soit O(n 3 ) opérations. ⁹
Les étapes 3 et 4 présentent un coût négligeable par rapport aux étapes 2 et 5. Si f est
« simple », il en va de même de l’étape 1. C’est sur les étapes 2 et 5, et en fait surtout 2, qu’il
faut porter les efforts d’optimisation si le besoin s’en fait sentir. Cette observation conduit à
l’idée des méthodes de quasi-Newton.

5.6 Les méthodes de quasi-Newton


Il s’agit simplement de remplacer la matrice jacobienne ∇f (xk ) par une autre matrice
Ak inversible, selon une stratégie à préciser. On se donnera donc x 0 , puis on itérera
xk+1 = xk − A−k 1 f (xk ). (5.6.1)
Pour que ceci soit intéressant, il est préférable que les matrices Ak soient « faciles »
à calculer et conduisent à des systèmes linéaires « faciles » à résoudre, sans pour autant
détruire complètement les propriétés de convergence de la méthode.
Un exemple extrêmement simple, en dimension 1, consiste à prendre Ak = f 0(x 0 ) , 0
pour tout k , que l’on ne calcule donc qu’une seule fois. Bien sûr, on est alors en train d’itérer
la fonction д(x) = x − f (x)/f 0(x 0 ) dont tout point fixe est clairement racine de f . De fait,
cette méthode converge si x 0 est suffisamment proche de x , manifestement d’autant plus
vite que x 0 est proche de x .
7. Par exemple, il se peut que l’on n’y ait accès qu’à travers un programme informatique lui-même complexe.
8. Être capable de prédire le temps qu’il fera demain après un calcul qui prend un mois ne présente qu’un
intérêt météorologique limité. Ceci dit, j’ignore si Météo France utilise la méthode de Newton ou non pour
alimenter les bulletins météo des chaînes de télévision.
9. Peut-être un poil moins pour certaines méthodes.
86 5. Méthode de Newton

x
...x 2 x 1 x0 3
−1 0 1 2 4 5
−1

Figure 5.4 – Une méthode de quasi-Newton simpliste.

Dans cet exemple, on obtient semble-t-il une convergence linéaire, mais qui peut en
pratique se révéler assez satisfaisante. On reviendra plus loin sur d’autres stratégies plus
intelligentes. Montrons d’abord un résultat de convergence pour ces méthodes, en recopiant
plus ou moins ce que l’on a déjà fait pour Newton.

Proposition 5.6.1 Soit f est de classe C 1 sur U , x ∈ U une racine de f et Ak une suite de
matrices de GLn (R) telle que la suite A−k 1 soit bornée. Soit M un majorant de {|||A−k 1 ||| ; k ∈ N}.
On suppose qu’il existe r > 0 et 0 ≤ β < 1 tels que pour tout y ∈ B(x, r ) ∩ U ,

β
|||∇f (y) − Ak ||| ≤ . (5.6.2)
M

Alors il existe une boule centrée en x telle que pour toute donnée initiale dans cette boule, la
suite des itérations de quasi-Newton est bien définie et converge au moins linéairement vers x ,
qui est de plus l’unique racine dans cette boule.

Démonstration. On pose дk (y) = y − A−k 1 f (y) et hk (y) = f (y) − Ak (y − x), qui sont définies
sur U . En particulier, xk+1 = дk (xk ). Soit B(x, r ) la boule sur laquelle l’estimation (5.6.2) est
supposée avoir lieu. En diminuant éventuellement r , on peut supposer que son adhérence,
c’est-à-dire la boule fermée, est incluse dans U . Pour montrer que la suite est alors bien
définie pour tout x 0 ∈ B(x, r ), il suffit de montrer que дk (B(x, r )) ⊂ B(x, r ) pour tout k .
Comme hk (x) = 0, on peut écrire pour tout y ∈ B(x, r ),

дk (y) − x = y − x − A−k 1 f (y)


= A−k 1 Ak (y − x) − f (y)


= A−k 1 hk (y) − hk (x) .



5.6. Les méthodes de quasi-Newton 87

On a ∇hk (y) = ∇f (y) − Ak . Par conséquent, par l’inégalité des accroissements finis,

kдk (y) − x k ≤ |||A−k 1 ||| khk (y) − hk (x)k


≤ |||A−k 1 ||| sup |||∇hk (y)||| ky − x k
B(x,r )
≤ β ky − x k < r,

et cela pour tout k . On a donc bien дk (y) ∈ B(x, r ) et la suite est bien définie.
Par un calcul très voisin, on note qu’alors

f (xk ) = f (xk ) − f (xk−1 ) − Ak−1 (xk − xk−1 )


= hk−1 (xk ) − hk−1 (xk−1 ),

pour tout k ≥ 1. Il vient donc

β
k f (xk )k ≤ kxk − xk−1 k. (5.6.3)
M
Comme par ailleurs,
xk+1 − xk = −A−k 1 f (xk )
on en déduit que
kxk+1 − x k ≤ |||A−k 1 ||| k f (xk )k ≤ β kxk − xk−1 k
pour tout k ≥ 1. Il s’ensuit, comme dans la preuve du théorème de point fixe de Banach,
que la suite xk est de Cauchy. Elle converge donc vers un certain x̄ dans l’espace complet
B(x, r ), et la convergence est linéaire, encore une fois comme dans la preuve du théorème
de point fixe de Banach. Par l’estimation (5.6.3) et en utilisant le fait que f est continue, on
en déduit que f (x̄) = 0.
Pour conclure, on remarque que

x − x̄ = −A−0 1 f (x) − f (x̄) − A0 (x − x̄) = −A−0 1 h 0 (x) − h 0 (x̄) ,


 

d’où à nouveau
kx − x̄ k ≤ β kx − x̄ k,
ce qui implique que x̄ = x puisque β < 1. ♦

Remarque 5.6.1 i) La méthode de Newton consiste à prendre Ak = ∇f (xk ). L’estimation


(5.6.2) est alors assurée sur une boule assez petite par continuité uniforme de ∇f sur toute
boule fermée. On établit donc ici la convergence de la méthode de Newton pour f de classe
C 1 , mais pas nécessairement C 2 . Par contre, dans ce cas en l’absence de régularité au delà
de C 1 , on ne peut guère espérer récupérer la convergence quadratique.
ii) Cette condition dit plus généralement que, d’une certaine façon, Ak ne doit pas être
trop éloigné des valeurs prises par ∇f dans la boule.
iii) Il existe une version plus quantitative du résultat, plus dans l’esprit du théorème de
Kantorovich, théorème que l’on devrait avoir le temps de voir plus tard.
iv) Les méthodes de quasi-Newton sont très utilisées dans le contexte de l’optimisation.
Soit F une fonction de Rn à valeurs dans R que l’on cherche à maximiser ou minimiser.
Si F est de classe C 1 , une condition nécessaire pour avoir un point x de minimum ou de
88 5. Méthode de Newton

maximum local est que ∇F (x) = 0. Une stratégie d’optimisation peut donc consister à
chercher les racines de la fonction f (x) = ∇F (x) qui est bien une fonction de Rn valeurs
dans Rn . Si F est de classe C 2 , alors on pourra penser utiliser la méthode de Newton (dont la
convergence quadratique est assurée localement si F est de classe C 3 ) ou bien des méthodes
de quasi-Newton.
Dans ce cas, ∇f = ∇2 F est la hessienne de F , qui peut être très difficile à calculer pour
des F compliquées, et conduire à des systèmes linéaires difficiles à résoudre. Les méthodes
de quasi-Newton prennent tout leur intérêt ici, d’où leur popularité en optimisation. En effet,
on dispose de très nombreuses façons de se donner directement les matrices Bk = A−k 1 à
partir des quantités antérieurement calculées, ce qui élimine totalement l’étape de résolution
de système linéaire, qui est alors remplacée par un produit matrice-vecteur. Il arrive souvent
que la perte de vitesse de convergence par rapport à la méthode de Newton soit plus que
compensée par la simplification des autres calculs, ce qui rend in fine les méthodes de
quasi-Newton plus performantes dans ce contexte que la méthode de Newton.
v) Pour revenir au contexte général de l’équation f (x) = 0, une stratégie possible consiste
à prendre Ak+p = ∇f (xk ) pour 1 ≤ p ≤ m , puis de passer à la matrice jacobienne suivante
Ak+m+p = ∇f (xk+m ) et ainsi de suite. L’intérêt de cette version de quasi-Newton est de quand
même adapter la matrice de l’itération à la matrice jacobienne, mais seulement de temps
à autre. Entre les deux, on ne recalcule pas la matrice, et on peut de plus en utiliser une
factorisation de type LU pour que toutes les résolutions de systèmes linéaires intermédiaires
se fassent en seulement O(n 2 ) opérations. En choisissant bien m , voire en le faisant varier,
on peut aboutir à des compromis performance/coût intéressants.

6.

5.

4.

3.

2.

1.

0 1. 2. 3. 4. 5.

Figure 5.5 – Illustration de la dernière méthode de quasi-Newton.


Chapitre 6

Schémas d’ordre élevé

On présente ici plusieurs familles de schémas construits selon différents principes et


d’ordres divers et variés. On suppose les solutions aussi régulières que nécessaire.

6.1 Schémas de type Taylor


Fixons un entier p ≥ 1 et écrivons le développement de Taylor de y à l’ordre p au
point tn , avec un reste vague en O comme précédemment, en supposant comme toujours y
suffisamment régulière pour cela,
p
hk
y (k) (tn ) + O(hp+1 ).
Õ
y(tn+1 ) = y(tn ) + (6.1.1)
k=1
k!

On a vu que les dérivées y (k) (tn ) satisfont

y (k) (tn ) = f k−1 (tn , y(tn )),

où les fonctions f k sont définies par (4.1.11). Le développement de Taylor (6.1.1). peut donc
s’écrire
p
hk
f k−1 (tn , y(tn )) + O(hp+1 ).
Õ
y(tn+1 ) = y(tn ) +
k=1
k!

En supprimant le reste en O(hp+1 ) et en remplaçant y(tn ) par une approximation potentielle


yn , on obtient une famille de schémas numériques indexée par p , 1
p
hk−1
f k−1 (tn , yn ).
Õ
yn+1 = yn + h (6.1.2)
k=1
k!

Ces schémas sont de la forme (4.1.1), c’est-à-dire explicites et à un pas, avec


p
hk−1
f k−1 (t, y).
Õ
F (t, y, h) =
k=1
k!
1. On ne fait pas apparaître cette indexation par p dans la notation.
90 6. Schémas d’ordre élevé

1. Pour p = 1, on retrouve le schéma d’Euler yn+1 = yn + h f (tn , yn ).


2. Pour p = 2, on a obtient un nouveau schéma
m
h2 ∂ f ∂f
 Õ 
yn+1 = yn + h f (tn , yn ) + (tn , yn ) + (tn , yn )f j (tn , yn ) .
2 ∂t j=1
∂y j

Proposition 6.1.1 Si f est de classe C p et est lipschitzienne par rapport à y , uniformément par
rapport à t , ainsi que toutes ses dérivées partielles successives, alors le schéma (6.1.2) est stable
et d’ordre p . Il est donc convergent d’ordre p .

Démonstration. La somme et le produit de deux fonctions lipschitziennes sont lipschitziens.


Il est clair (et si cela n’est pas clair, alors on le démontre par récurrence) que la fonction
F est polynomiale par rapport aux dérivées partielles de f et à h . Comme h ∈ [0, 1], on
déduit de la remarque qui précède que F est lipschitzienne par rapport à y , uniformément
par rapport à t et h . Le schéma est donc stable. Il est par ailleurs consistant et d’ordre p par
construction, puisque l’erreur de consistance n’est autre que le reste O(hp+1 ) de la formule
de Taylor. ♦

On s’en doute, l’inconvénient des schémas de type Taylor réside dans les calculs de
dérivées qui interviennent dans le calcul des fonctions f k−1 . Ceux-ci peuvent être très
compliqués et numériquement coûteux.
En guise d’exemple, calculons f 2 dans le cas scalaire m = 1. On a
∂f ∂f
f 1 (t, y) = (t, y) + (t, y)f (t, y),
∂t ∂y
donc
∂f 1 ∂f 1
f 2 (t, y) = (t, y) + (t, y)f (t, y)
∂t ∂y
∂ ∂f ∂f ∂ ∂f ∂f
   
= + f (t, y) + + f (t, y)f (t, y)
∂t ∂t ∂y ∂y ∂t ∂y
∂ f ∂2 f ∂f ∂f ∂2 f 2 ∂f
 2  2 
= + 2 f + + f + f (t, y).
∂t 2 ∂t ∂y ∂y ∂t ∂y 2 ∂y
Noter cependant que dans le cas simple f (t, y) = λy , λ étant une constante, la relation (6.1.2) se simplifie en
p
(λh)k
Õ 
yn+1 = yn . (6.1.3)
k!
k =0

Récemment, les méthodes de Taylor ont connu un nouvel essor avec le développement de la différentiation
automatique (DA). Ce terme regroupe des logiciels prenant en entrée un programme écrit dans un langage
donné et destiné à calculer numériquement une fonction donnée, et produisant en sortie un autre programme
qui lui calcule numériquement les dérivées de cette fonction. 2 La différentiation automatique permet dans une
certaine mesure de pallier les inconvénients des méthodes de Taylor : on ne calcule pas les dérivées nécessaires
à la main ni ne les implémente, mais on laisse le programme de DA produire à partir d’un programme calculant
f un autre programme qui va s’en charger automatiquement. C’est peut-être plus facile à écrire qu’à réaliser
en pratique...

2. À ne pas confondre avec la différentiation numérique, qui utilise des quotients différentiels pour
approcher les dérivées, ni avec le calcul formel qui manipule formellement les expressions mathématiques.
6.2. Schémas de Runge-Kutta. 91

6.2 Schémas de Runge-Kutta.


Les méthodes de Runge-Kutta 3 sont fondées sur l’intégration de l’EDO entre tn et tn+1 . En
plus de la valeur en tn , nous allons nous servir d’un certain nombre de valeurs intermédiaires
correspondant à des instants intermédiaires entre tn et tn+1 . Ces valeurs intermédiaires sont
combinées entre elles pour construire l’approximation suivante à l’instant tn+1 . On ne les
réutilise plus, elles sont donc jetées à l’itération suivante, qui va elle faire intervenir des
instants intermédiaires entre tn+1 et tn+2 , et ainsi de suite. Contrairement peut-être aux
apparences, ce sont donc des schémas à 1 pas, simplement le passage d’un pas au suivant
est un peu tortueux. En particulier, elles s’initialisent d’elles-mêmes à partir de la donnée
initiale du problème de Cauchy.
Pour simplifier, on ne va décrire les méthodes de Runge-Kutta que dans le cas scalaire,
m = 1, mais elles sont également applicables dans le cas vectoriel, m ≥ 1. Dans ce qui suit,
f , y , yi , etc. sont donc à valeurs réelles.
On se donne pour commencer q ≥ 1 réels 0 ≤ c 1 ≤ . . . ≤ cq ≤ 1, q réels b1, . . . , bq et
une formule de quadrature, ou d’intégration numérique, ⁴ sur l’intervalle [0, 1]
∫ 1 q
Õ
φ(s) ds ≈ b j φ(c j ), (6.2.1)
0 j=1

dont les c j sont les nœuds et les b j les poids – voir le chapitre 7 pour une étude systématique.
On suppose que cette formule est exacte pour les fonctions constantes, c’est-à-dire que
q
Õ
b j = 1. (6.2.2)
j=1

Les ci servent à définir q instants intermédiaires tn,i (pas forcément distincts) entre tn et tn+1 ,

tn,i = tn + ci h, 1 ≤ i ≤ q. (6.2.3)

Pour chaque instant intermédiaire tn,i (ou à chaque ci ), on choisit une formule de quadrature
utilisant les nœuds c j de la façon suivante
∫ ci q
Õ
φ(s) ds ≈ aij φ(c j ), (6.2.4)
0 j=1

qu’on supposera aussi exacte pour les constantes


q
Õ
aij = ci . (6.2.5)
j=1

En intégrant l’EDO (2.1.1) entre les instants tn et tn,i , on obtient


∫ tn,i ∫ ci
y(tn,i ) − y(tn ) = f t, y(t) dt = h f tn + sh, y(tn + sh) ds,
 
(6.2.6)
tn 0

3. Carl David Tolmé Runge, 1856–1927 ; Martin Wilhelm Kutta, 1867–1944.


4. C’est-à-dire une formule d’approximation numérique de l’intégrale. La nature regorge de formules de
quadrature.
92 6. Schémas d’ordre élevé

via le changement de variable qui s’impose, t = tn + sh . L’utilisation de la formule de


quadrature (6.2.4) pour discrétiser l’intégrale apparaissant dans (6.2.6) conduit aux relations
q
Õ
y(tn,i ) ≈ y(tn ) + h aij f tn,j , y(tn,j ) .

j=1

Comme d’habitude, on remplace alors les valeurs exactes y(tn ) et y(tn,i ) que nous ne
connaissons pas, par des approximations potentielles yn et yn,i , et l’on pose alors
q
Õ
yn,i = yn + h aij f tn,j , yn,j ,

(6.2.7)
j=1

pour i = 1, . . . , q . Notons que si aij = 0 pour i ≤ j , les relations (6.2.7) définissent yn,i de
façon explicite : d’abord yn,1 = yn , puis yn,2 = yn + ha 21 f (tn,1, yn,1 ), etc. Dans le cas général,
il faut calculer les yn,i en résolvant un système non linéaire de q équations à q inconnues

y y f (t , y )
© n,. 1 ª © .n ª © n,1. n,1 ª
­ .. ® = ­ .. ® + hA ­ .. ®, (6.2.8)
­ ® ­ ® ­ ®
y y
« n,q ¬ « n ¬ f (t , y
« n,q n,q ¬ )

où A = (aij )1≤i,j≤q est une matrice de taille q × q que l’on s’est donnée. Les yn,i , s’ils existent,
sont donc fonction de yn (et de tn et de h , bien sûr). On rappelle que la méthode de Newton
vue au chapitre 5 peut être utilisée pour approcher numériquement ces solutions.
En intégrant enfin l’EDO entre les instants tn et tn+1 , on obtient
∫ tn+1 ∫ 1
y(tn+1 ) − y(tn ) = f t, y(t) dt = h f tn + sh, y(tn + sh) ds.
 
tn 0

On discrétise cette dernière intégrale par la formule de quadrature (6.2.1), on remplace les
valeurs exactes par les approximations supposées et l’on obtient le schéma de Runge-Kutta
q
Õ
yn+1 = yn + h b j f tn,j , yn,j ,

(6.2.9)
j=1

les valeurs intermédiaires yn,j étant, rappelons le, calculées par (6.2.7). On voit que in fine,
yn+1 est seulement fonction de yn (et de tn et de h ), à travers les yn,j , et le schéma est bien à
un seul pas. On oublie alors les yn,j et l’on recommence en tn+1 à partir de yn+1 .
Un schéma de Runge-Kutta à q valeurs intermédiaires est donc déterminé par la donnée
des q instants intermédiaires via les valeurs ci , et de la matrice A et des valeurs b j qui
donnent les poids des q + 1 formules de quadrature utilisées. Ces paramètres sont ajustés
de façon à rendre les schémas d’ordre le plus élevé possible, voire également avoir d’autres
propriétés désirables plus subtiles dont nous ne parlerons pas ici. On présente souvent
ces schémas de façon compacte comme des tableaux de la forme 6.1, appelés tableaux de
Butcher ⁵.
5. John Charles Butcher, 1933–.
6.2. Schémas de Runge-Kutta. 93

c1 a 11 . . . a 1q
.. .. ..
. . .
cq aq 1 . . . aqq
b1 . . . bq

Table 6.1 – Tableau de Butcher d’un schéma de Runge-Kutta

Revenons sur le calcul des valeurs intermédiaires dans le cas général. Le vecteur dont les
composantes sont ces valeurs est donc un point fixe de l’application de Rq dans Rq définie
par
z f (t , z )
© n,.1 1 ª
1
© .1 ª ©.ª
ψ : z = ­­ .. ®® 7−→ ψ (z) = yn ­­ .. ®® + hA ­­ .. ®.
®
«zq ¬ «1¬ « f (tn,q , zq )¬
Prolongeons cette fonction à y et t (qui sont des paramètres réels) quelconques en posant

1 f (t + c 1h, z 1 )
©.ª ..
ψy (z) = y ­ .. ® + hA ­ ® = ye + hAG(z),
© ª
­ ® ­ . ®
1
« ¬ « f (t + c q h, z )
q ¬


1 f (t + c 1h, z 1 )
©.ª q ..
e = ­­ .. ®® ∈ R et G(z) = ­­ ® ∈ Rq .
© ª
. ®
1
« ¬ « f (t + c q h, z q ) ¬
Dans le cas où y = yn et t = tn , c’est bien la même fonction. Elle dépend bien sûr également
de t et de h , même si l’on ne le fait pas apparaître dans la notation.

Proposition 6.2.1 Soit f : [0,T ] × R → R lipschitzienne par rapport à y uniformément par


rapport à t de constante de Lipschitz L. On se donne une méthode de Runge-Kutta pour le
problème de Cauchy associé à f , définie par les coefficients ci , b j et la matrice A = (aij ). Soit
0 < h 0 < LkAk
1

, où kAk∞ désigne la norme matricielle subordonnée à la norme infinie sur Rq .
Alors pour tout h ≤ h 0 , ce schéma de Runge-Kutta est bien défini. Il est en outre stable sous la
même condition.

Démonstration. Il est commode d’utiliser ici la norme infinie kzk∞ = maxi |zi | sur Rq . On
note kAk∞ la norme matricielle subordonnée. ⁶ Fixons y , t et h . On a donc pour tous z et z̃
dans Rq ,

kψy (z) − ψy (z̃)k∞ = hkA(G(z) − G(z̃)k∞


≤ hkAk∞ kG(z) − G(z̃)k∞
= hkAk∞ max | f (t + ci h, zi ) − f (t + ci h, z̃i )|
1 ≤i≤q

≤ hkAk∞L max |zi − z̃i |


1 ≤i≤q

= hLkAk∞ kz − z̃ k∞ .
6. Cette norme est donnée par kAk∞ = maxi
Í
j |ai j | .
94 6. Schémas d’ordre élevé

Par conséquent, pour h < LkAk 1



, l’application ψy est strictement contractante et admet donc
q
un point fixe unique dans R qui est le vecteur des valeurs intermédiaires recherché. Ceci
montre que le schéma de Runge-Kutta est bien défini pour ces valeurs de h en prenant
y = yn et t = tn . Montrons maintenant que le schéma est stable. Il faut donc montrer que
l’application F (t, y, h) qui définit le schéma est lipschitzienne par rapport à y , uniformément
par rapport à t et h (pour h ∈ [0, h 0 ]). Pour cela, notons int (y) ∈ Rq le vecteur des valeurs
intermédiaires précédemment obtenu par point fixe. ⁷ Au vu de (6.2.9), on a
q
Õ
F (t, y, h) = b j f (t + c j h, int (y)j ), (6.2.10)
j=1

d’où pour tout couple de réels (y, ỹ),


q
Õ
|F (t, y, h) − F (t, ỹ, h)| ≤ |b j || f (t + c j h, int (y)j ) − f (t + c j h, int (ỹ)j )|
j=1
Õq
≤L |b j || int (y)j − int (ỹ)j |
j=1
q
Õ
≤ L max | int (y)j − int (ỹ)j | |b j |
j
j=1
= Lkb k1 k int (y) − int (ỹ)k∞ .

Or on a, par la propriété de point fixe,

int (y) = ye + hAG(int (y)) et int (ỹ) = ỹe + hAG(int (ỹ)).

Par conséquent,

k int (y) − int (ỹ)k∞ ≤ |y − ỹ| + hLkAk∞ k int (y) − int (ỹ)k∞,

par le même calcul que plus haut, et donc

1
k int (y) − int (ỹ)k∞ ≤ |y − ỹ|
1 − hLkAk∞

dès que h < 1


LkAk∞ . On en déduit donc que

Lkb k1
|F (t, y, h) − F (t, ỹ, h)| ≤ |y − ỹ|,
1 − h 0LkAk∞

dès que h ≤ h 0 < 1


LkAk∞ , d’où la stabilité. ⁸ ♦

7. Ce vecteur dépend aussi de t et de h , mais ce n’est pas ce qui nous importe, donc on ne l’écrit pas. Toutes
les estimations sont uniformes par rapport à t et h .
8. On n’a pas le caractère uniforme pour h ∈ [0, 1], mais seulement pour h ∈ [0, h 0 ], mais cela n’a
clairement aucune importance pour la stabilité.
6.2. Schémas de Runge-Kutta. 95

Naturellement, dans le cas d’un schéma explicite, aij = 0 pour i ≤ j , il n’y a en réalité
pas de restriction sur le pas, c’est juste que l’analyse précédente n’est pas optimale, à ce
propos voir proposition 6.2.3 page 103. Remarquons aussi que si les coefficients b j sont tous
positifs, alors kb k1 = 1.
Notons à ce sujet que la classification générale schéma explicite/schéma implicite ne
s’applique pas telle quelle aux schémas de Runge-Kutta. Un schéma de Runge-Kutta ne fait
jamais intervenir yn+1 dans une équation implicite à résoudre. Le caractère implicite ou ex-
plicite d’un schéma de Runge-Kutta dépend uniquement du calcul des valeurs intermédiaires,
selon que celui-ci nécessite la résolution d’un système non linéaire ou pas. Un schéma de
Runge-Kutta s’écrit donc bien sous la forme yn+1 = yn + hF (tn , yn , h), mais la fonction F
n’est une formule explicite que si les étapes intermédiaires se déroulent explicitement, sans
résolution d’équation. Sinon, on n’a pas de formule pour F , voir la note de bas de page
numéro 2, page 45, à ce propos. Une fois les valeurs intermédiaires calculées, il n’y a plus
d’équation à résoudre pour obtenir le pas suivant.

Remarque 6.2.1 Pour voir que les valeurs aux instants intermédiaires yn,i ne sont pas
vraiment essentielles dans un schéma de Runge-Kutta, notons que l’on peut réécrire celui-ci
sous la forme suivante, où les inconnues intermédiaires deviennent plutôt les fn,i = f (tn,i , yn,i ).
En effet,
 q
Õ 
fn,i = f (tn,i , yn,i ) = f tn,i , yn + h aij f (tn,j , yn,j ) ,
j=1

si bien que la partie intermédiaire du schéma peut se réécrire sous la forme

 q
Õ 
fn,i = f tn,i , yn + h aij fn,j pour i = 1, . . . , q.
j=1

Réciproquement, un q -uplet fn,i solution de ce système non linéaire permet de reconstruire


le q -uplet des yn,i , dont l’existence et l’unicité est assurée pour h suffisamment petit. On a
donc affaire à une formulation équivalente de cette étape du schéma.
La deuxième étape du schéma s’écrit alors

q
Õ
yn+1 = yn + h b j fn,j ,
j=1

et l’on n’a jamais fait allusion aux valeurs intermédiaires yn,i .

Dans ce cas explicite au sens des schémas de Runge-Kutta, c’est-à-dire quand la matrice
A est strictement triangulaire inférieure et que le calcul des valeurs intermédiaires ne
nécessite donc pas de résoudre un système d’équations, on a une description simple de
chaque itération de l’algorithme.
96 6. Schémas d’ordre élevé

Algorithme de Runge-Kutta explicite

tab(1) = f (tn , yn ) {tab(j) contient fn,j }


Pour i = 2 % q
s=0
Pour j = 1 % i − 1
s = s + aij ∗ tab(j)
Fin j
tab(i) = f (tn + ci h, yn + hs)
Fin i
s=0
Pour i = 1 % q
s = s + bi ∗ tab(i)
Fin i
yn+1 = yn + hs

Dans le cas implicite, il faut résoudre numériquement le système donnant les valeurs
intermédiaires à l’aide d’une méthode itérative (type point fixe ou Newton).

Proposition 6.2.2 Sous les mêmes hypothèses, un schéma de Runge-Kutta est consistant.

Démonstration. On reprend la formule (6.2.10) en explicitant la dépendance du point fixe


par rapport aux autres paramètres :
q
Õ
F (t, y, h) = b j f (t + c j h, int (t, y, h)j ).
j=1

On sait ⁹ qu’un point fixe d’une application strictement contractante dépendant continûment
de paramètres, dépend lui-même continûment de ces paramètres. Ici, l’application (t, y, h) 7→
int (t, y, h) est donc continue de [0,T ] × R × [0, h 0 ] à valeurs dans Rq . Il s’ensuit que F est
également continue comme composition de fonctions continues.
Pour h = 0, l’unique point fixe est trivial, c’est int (t, y, 0) = ye . Par conséquent,
q
Õ q
Õ
F (t, y, 0) = b j f (t + c j 0, int (t, y, 0)j ) = b j f (t, y) = f (t, y),
j=1 j=1
Íq
puisque j=1 b j = 1, d’où la consistance du schéma. ♦

Donnons quelques exemples de schémas de Runge-Kutta qui permettent aussi de se faire


une idée de pourquoi ces schémas marchent, sans entrer dans la théorie générale.
1. Cas q = 1. D’après (6.2.2), on a b1 = 1 et il y a un seul instant intermédiaire tn,1 . Le
schéma s’écrit
yn,1 = yn + a 11h f (tn,1, yn,1 ),


yn+1 = yn + h f (tn,1, yn,1 ).


9. Si on ne sait pas, on le montre.
6.2. Schémas de Runge-Kutta. 97

Si l’on souhaite imposer (6.2.5), il convient de prendre a 11 = c 1 (cela n’a pas d’influence sur
l’ordre du schéma). Il y a une infinité de choix possibles. Regardons ce qui se passe pour
quelques valeurs particulières. Pour c 1 = 0, on obtient alors le schéma

yn,1 = yn ,

0 0
(RK1)
yn+1 = yn + h f (tn , yn ). 1

C’est le schéma d’Euler explicite, que nous appellerons aussi schéma RK1.
Pour c 1 = 12 , on obtient le nouveau schéma, que nous n’avons pas encore rencontré sous
un autre nom,
h h
 
y = y + f t + , yn,1 ,

n, n n


 1 1 1

 2 2 2 2
h
 
1
yn+1 = yn + h f tn + , yn,1 .



 2
Noter que, cette fois, le calcul de yn,1 est implicite.
Pour c 1 = 1, on obtient le schéma

yn,1 = yn + h f (tn+1, yn,1 ),



1 1
yn+1 = yn + h f (tn+1, yn,1 ). 1

C’est le schéma d’Euler implicite, un peu bizarrement écrit (en effet, yn+1 = yn,1 par unicité
du point fixe).
Tous les schémas précédents sont d’ordre 1.
2. Cas q = 2. Il y a un infinité de choix des deux instants intermédiaires tn,1 et tn,2
et des poids de quadrature, ce qui fait au total huit paramètres. Pour simplifier, nous
allons considérer des schémas de Runge-Kutta explicites, lesquels correspondent au cas
a 11 = a 12 = a 22 = 0. Il reste donc à ce stade à choisir cinq paramètres : a 21, b1, b2, c 1 et
c 2 . D’après (6.2.2), on impose b1 + b2 = 1. D’après (6.2.5), on prend aussi a 21 = c 2 , ce qui
n’est pas essentiel, mais diminue le nombre de paramètres. Encore pour avoir (6.2.5), il
faut prendre c 1 = 0, c’est-à-dire tn,1 = tn . On obtient ainsi une famille de schémas à deux
paramètres, c = c 2 et b = b1 = 1 − b2 , qui s’écrivent

y = yn
 n,1


 0 0 0
yn,2 = yn + ch f (tn , yn,1 ) c c

0
yn+1 = yn + h b f (tn , yn,1 ) + (1 − b)f (tn + ch, yn,2 ) , b 1 −b

  

En remplaçant les pas intermédiaires par leur valeur, on voit que yn+1 est calculé à partir de
yn par la formule explicite

yn+1 = yn + h b f (tn , yn ) + (1 − b)f tn + ch, yn + ch f (tn , yn ) ,


 

d’où
F (t, y, h) = b f (t, y) + (1 − b)f t + ch, y + ch f (t, y) .


L’erreur de consistance du schéma est donc égale à

εn = y(tn+1 ) − y(tn ) − bh f (tn , y(tn )) − (1 − b)h f tn + ch, y(tn ) + ch f tn , y(tn )




= y(tn+1 ) − y(tn ) − bhy 0(tn ) − (1 − b)h f tn + ch, y(tn ) + chy 0(tn ) ,



(6.2.11)
98 6. Schémas d’ordre élevé

où y est une solution assez régulière de l’EDO. Dans tous ces calculs, on remplace dès que
possible tout terme de la forme f (tn , y(tn )) par sa valeur y 0(tn ) issue de l’EDO pour simplifier
les expressions qui apparaissent. Nous allons déterminer l’ordre de la méthode en fonction
des paramètres b et c . On écrit le développement de Taylor 1⁰ de y au voisinage de tn jusqu’à
l’ordre 2 (il n’est pas réaliste d’espérer un ordre plus élevé a priori),

h2
y(tn+1 ) = y(tn ) + hy (tn ) +
0
y 00(tn ) + O(h 3 ).
2
Rappelons que
∂f ∂f
y 00(t) = (t, y(t)) + (t, y(t))y 0(t). (6.2.12)
∂t ∂y
Un autre développement de Taylor à deux variables de la fonction f au voisinage de (tn , y(tn ))
montre que

∂f ∂f
f tn + ch, y(tn ) + chy 0(tn ) = f (tn , y(tn )) + ch (tn , y(tn )) + chy 0(tn ) (tn , y(tn )) + O(h 2 )

∂t ∂y
= y 0(tn ) + chy 00(tn ) + O(h 2 ),

à la vue de l’EDO et de celle du rappel précédent. En injectant ces deux développements de


Taylor dans (6.2.11), on obtient

h2
εn = hy 0(tn ) + y 00(tn ) − bhy 0(tn ) − (1 − b)hy 0(tn ) − (1 − b)ch 2y 00(tn ) + O(h 3 )
2
h2
= 1 − 2(1 − b)c y 00(tn ) + O(h 3 ).

2
On voit que ces schémas sont tous d’ordre au moins égal à 1 et que l’ordre 2 est atteint
pour 1 − 2(1 − b)c = 0, c’est-à-dire b = 1 − 21c . On obtient donc une famille à un paramètre
de schémas de Runge-Kutta explicites d’ordre 2


 yn,1 = yn ,

 y = y + ch f (t , y ),
 0 0 0
n,2 n n n,1 c c 0

2c − 1 1 2c−1 1
yn+1 = yn + h f (tn , yn,1 ) + h f (tn + ch, yn,2 ),


2c 2c

 2c 2c
définie pour 0 < c ≤ 1.
Pour c = 1/2, on a tn,2 = tn + h/2 et


 yn,1 = yn ,
 y = y + h f (t , y ),



 0 0 0
n,2 n n n,1
 1 1
2  2 2 0
h
 
 0 1
yn+1 = yn + h f tn + 2 , yn,2 ,




C’est le schéma d’Euler modifié.
10. avec un reste en O un peu vague...
6.2. Schémas de Runge-Kutta. 99

Pour c = 1, on obtient le schéma de Heun ¹¹, que nous appellerons aussi schéma RK2,

 yn,1 = yn ,

 y = y + h f (t , y ),
 0 0 0
n,2 n n n,1

(RK2) 1 1 0
 h h 1 1
yn+1 = yn + f (tn , yn,1 ) + f (tn+1, yn,2 ),

 2 2
 2 2
On peut montrer que la famille de schémas
2d − 1 h h
 
1
yn+1 = yn + h f (tn , yn ) + h f tn + , yn + f (tn , yn )
2d 2d 2 2
est aussi une famille de schémas d’ordre 2. Les deux familles coïncident uniquement pour
d = c = 12 .
Terminons le cas q = 2 par un exemple de schéma RK implicite. Il correspond au choix
c 1 = 0, c 2 = 1, a 11 = a 12 = 0, a 21 = a 22 = 12 , b1 = b2 = 21 ,


 yn,1 = yn ,
h 0 0 0


yn,2 = yn + [f (tn , yn ) + f (tn+1, yn,2 )],


 1 1
1 2 2
2
h

 1 1
yn+1 = yn + [f (tn , yn ) + f (tn+1, yn,2 )].

 2 2

 2
On reconnaît le schéma de Crank-Nicolson, écrit un peu bizarrement.
3. Pour q = 4, le schéma le plus utilisé est le suivant, appelé schéma RK4,

 yn,1 = yn ,
h



yn,2 = yn + f (tn , yn,1 ),





 2 
h h

 
 yn,3 = yn + f tn + , yn,2 ,



(RK4) 2 2
h

  
yn,4 = yn + h f tn + , yn,3 ,






 2
h h h

      
yn+1 = yn + f (tn , yn,1 ) + 2 f tn + , yn,2 + 2 f tn + , yn,3 + f (tn+1, yn,4 ) .



 6 2 2
Il est explicite, d’ordre 4 et correspond au tableau de Butcher

0 0 0 0 0
1 1
2 2 0 0 0
1
2 0 21 0 0
1 0 0 1 0
1 1 1 1
6 3 3 6

C’est de ce schéma dont on parle quand on mentionne “ la ” méthode de Runge-Kutta


sans préciser.
11. Karl Heun, 1859–1929.
100 6. Schémas d’ordre élevé

La formulation alternative sans les valeurs intermédiaires du schéma RK4 s’écrit


 fn,1 = f (tn , yn ),

h h

  
fn,2 = f tn + , yn + fn,1 ,






 2 2
h h


  
fn,3 = f tn + , yn + fn,2 ,


 2 2
fn,4 = f (tn + h, yn + h fn,3 ),





h


yn+1 = yn + fn,1 + 2 fn,2 + 2 fn,3 + fn,4 .

 
 6
Dans le cas où f (t, y) = д(t) de dépend pas de y , le schéma RK4 redonne la méthode
de Simpson 12, dont il est bien connu qu’il s’agit d’une méthode d’intégration numérique
d’ordre 4. En effet, dans ce cas yn = h 61 д(t 0 ) + 23 n− h 1 Ín−1
k=0 д(tk + 2 ) + 3 k=1 д(tk ) + 6 д(tn ) .
Í 1 1

Pour faire le lien avec la manière standard d’écrire les schémas explicites à un pas,
récrivons le schéma RK4 sous la forme yn+1 = yn + hF (tn , yn , h). Il vient

h h h
  
yn+1 = yn + f (tn , yn ) + 2 f tn + , yn + f (tn , yn )
6 2 2
h h h h
  
+ 2 f tn + , yn + f tn + , yn + f (tn , yn )
2 2 2 2
h h h h
   
+ f tn + h, yn + h f tn + , yn + f tn + , yn + f (tn , yn ) ,
2 2 2 2

soit

h h
  
1
F (t, y, h) = f (t, y) + 2 f t + , y + f (t, y)
6 2 2
h h h h
  
+ 2 f t + , y + f t + , y + f (t, y)
2 2 2 2
h h h h
   
+ f t + h, y + h f t + , y + f t + , y + f (t, y) ,
2 2 2 2

très clairement explicite, mais la vision sous forme de pas intermédiaires ou d’un tableau de
Butcher est quand même un peu plus maniable.
Démonstration de l’ordre du schéma RK4. Montrons à la main que le schéma RK4 est bien d’ordre 4. On peut
penser à utiliser la Proposition 4.1.14, mais la fonction F du schéma écrite ci-dessus n’est pas spécialement
engageante, et il faut procéder par compositions successives, ce qui est compliqué pour des dérivées d’ordre
élevé. De plus, le calcul des fonctions f k , k = 0, . . . , 3 est déjà pénible. Procédons plutôt par développements
de Taylor usuels. 13 L’idée pour simplifier au maximum et garder des calculs lisibles par l’être humain, est
de remplacer aussi tôt que possible toute expression faisant intervenir f et ses dérivées partielles par des
valeurs correspondantes de y et de ses dérivées. On va avoir besoin de développer f (tn , en, 1 ), f tn + h2 , en, 2 ,


f tn + h2 , en, 3 et f (tn+1, en, 4 ) jusqu’à l’ordre 3, où les en,i sont obtenus par les formules des pas intermédiaires


12. Thomas Simpson, 1710–1761. La formule était apparemment déjà utilisée par Kepler un bon siècle
auparavant.
13. Cela revient en fait plus ou moins au même.
6.2. Schémas de Runge-Kutta. 101

en remplaçant dans la première ligne yn par y(tn ), puis en descendant ainsi jusqu’à la quatrième ligne. Pour
raccourcir la notation, on écrira tn = t , toute dérivée partielle de f écrite sans argument est prise au point
(t, y(t)) et toute dérivée de y écrite sans argument est prise au point t . Collationnons d’abord les dérivées
successives de y par dérivation des fonctions composées.

y0 = f ,
∂f ∂f 0
y 00 = + y,
∂t ∂y
∂2 f ∂ 2 f 0 ∂ 2 f 0 2 ∂ f 00
y 000 = 2 + 2 y + 2 (y ) + y ,
∂t ∂t ∂y ∂y ∂y
∂3 f ∂3 f ∂3 f ∂3 f 0 3 ∂ 2 f 00 ∂ 2 f 0 00 ∂ f 000
y (4) = 3 + 3 2 y 0 + 3 (y 0 2
) + (y ) + 3 y + 3 yy + y . (6.2.13)
∂t ∂t ∂y ∂t ∂y 2 ∂y 3 ∂t ∂y ∂y 2 ∂y
Pour s’entraîner, on pourra commencer par le cas où f ne dépend pas de t , ce qui divise par deux la longueur
des expressions ci-dessus, mais allons-y dans le cas général.
On va tout baser sur le développement de Taylor à l’ordre 3 de la fonction s 7→ f (t + shα, y + shβ) entre 0
et 1, pour diverses valeurs de α et β . Il vient donc

∂f ∂f h2 ∂2 f 2 ∂2 f ∂2 f 2
   
f (t + hα, y + hβ) = f + h α+ β + α + 2 α β + β
∂t ∂y 2 ∂t 2 ∂t ∂y ∂y 2
h ∂ f 3 ∂ f 2 ∂ f ∂ f 3
3
 3 3 3 3

+ α +3 2 α β +3 α β + 3 β + O(h 4 ).
2
(6.2.14)
6 ∂t 3 ∂t ∂y ∂t ∂y 2 ∂y
On a donc d’abord en, 1 = y . Là c’est facile avec α = β = 0,

f (t, en, 1 ) = f = y 0 (6.2.15)

pour le premier terme à développer. Ensuite vient par définition du schéma

h
en, 2 = y + y 0, (6.2.16)
2
y0
d’où, prenant α = 12 , β = 2
,

h h ∂f ∂f 0 h2 ∂2 f ∂2 f 0 ∂2 f 0 2
     
f t + , en, 2 = f + + y + +2 y + 2 (y )
2 2 ∂t ∂y 8 ∂t 2 ∂t ∂y ∂y
h ∂ f ∂ f 0 ∂ f ∂ f 03
3
 3 3 3 3

+ + 3 y + 3 (y 0 2
) + (y ) + O(h 4 )
48 ∂t 3 ∂t 2 ∂y ∂t ∂y 2 ∂y 3
h 00 h 2 000 ∂ f 00
 
=y + y +
0
y − y
2 8 ∂y
h 3 (4) ∂ 2 f 00 ∂ 2 f 0 00 ∂ f 000
 
+ y −3 y − 3 2y y − y + O(h 4 ). (6.2.17)
48 ∂t ∂y ∂y ∂y
Par conséquent,
h h2 ∂ f 00
h3
 
en, 3 =y+ y + y +
0
y −
00
000
y + O(h 4 ), (6.2.18)
2 4 16 ∂y
(remarquons que l’on doit heureusement rejeter le gros terme compliqué dans le reste à chaque multiplication
∂f
par h ) que l’on réutilise pour développer avec α = 12 , β = 12 y 0 + h2 y 00 + h8 y 000 − ∂y y 00 + O(h 3 ),
2  

h h ∂f ∂ f 0 h 00 h 2 000 ∂ f 00
     
f t + , en, 3 = f + + y + y + y − y
2 2 ∂t ∂y 2 8 ∂y
h2 ∂2 f ∂2 f h 00 ∂2 f
   
+ +2 y + y + 2 (y ) + hy y
0 0 2 0 00 
8 ∂t 2 ∂t ∂y 2 ∂y
(en prenant soin de ne pas développer inutilement trop loin)
102 6. Schémas d’ordre élevé

h3 ∂3 f ∂3 f 0 ∂3 f ∂3 f 0 3
 
+ + 3 y + 3 (y 0 2
) + (y ) + O(h 4 )
48 ∂t 3 ∂t 2 ∂y ∂t ∂y 2 ∂y 3
(même soin)
(6.2.19)

Réarrangeons les puissances de h dans cette dernière expression. Il vient

h h ∂f ∂f 0
   
f t + , en, 3 = f + + y
2 2 ∂t ∂y
h ∂ f ∂2 f 0 ∂2 f 0 2 ∂ f 00
2
 2 
+ +2 y + 2 (y ) + 2 y
8 ∂t 2 ∂t ∂y ∂y ∂y
h ∂ f ∂ f 0 ∂ f ∂3 f 0 3
3
 3 3 3
+ + 3 y + 3 (y 0 2
) + (y )
48 ∂t 3 ∂t 2 ∂y ∂t ∂y 2 ∂y 3
∂ f 000 ∂ f 00 ∂ 2 f 00 ∂2 f
  
+3 y − y +6 y + 6 2 y 0y 00 + O(h 4 ). (6.2.20)
∂y ∂y ∂t ∂y ∂y

Relisant alors les formules (6.2.13), on en déduit

h h 00 h 2 000 ∂ f 00
   
f t + , en, 3 = y + y +
0
y + y
2 2 8 ∂y
h 3 (4) ∂ 2 f 00 ∂ 2 f 0 00 ∂ f 000 ∂f
  2 
+ y +3 y + 3 2y y + 2 y − 3 y 00 + O(h 4 ). (6.2.21)
48 ∂t ∂y ∂y ∂y ∂y

On refait le tri dans les puissances de h ,

∂ f 00 h2 h3
 
en, 4 = y + hy + y + y +
000 0
y + O(h 4 ). 00
(6.2.22)
2 8 ∂y

∂f 00
h i
Il reste un dernier développement de f à faire avec α = 1 et β = y 0 + h2 y 00 + h8 y 000 + ∂y y + O(h 3 )
2

∂f ∂ f 0 h 00 h 2 000 ∂ f 00
    
f t + h, en, 4 = f +h + y + y + y + y

∂t ∂y 2 8 ∂y
h2 ∂2 f ∂2 f h 00 ∂2 f
    
+ + 2 y 0
+ y + (y 0 2
) + hy y
0 00
2 ∂t 2 ∂t ∂y 2 ∂y 2
h3 ∂3 f ∂3 f 0 ∂3 f ∂3 f 0 3
 
+ +3 2 y +3 (y ) + 3 (y ) + O(h 4 )
0 2
(6.2.23)
6 ∂t 3 ∂t ∂y ∂t ∂y 2 ∂y

Réarrangeons,

∂f ∂f 0
 
f t + h, en, 4 = f +h + y

∂t ∂y
h2 ∂2 f ∂ 2 f 0 ∂ 2 f 0 2 ∂ f 00
 
+ + 2 y + (y ) + y
2 ∂t 2 ∂t ∂y ∂y 2 ∂y
h ∂ f ∂ f 0 ∂ f ∂3 f 0 3
3
 3 3 3
+ + 3 y + 3 (y 0 2
) + (y )
6 ∂t 3 ∂t 2 ∂y ∂t ∂y 2 ∂y 3
3 ∂ f 000 ∂ f 00 ∂ f 00 ∂ 2 f 0 00
   2 
+ y + y +3 y + 2y y + O(h 4 ). (6.2.24)
4 ∂y ∂y ∂t ∂y ∂y

Relisons la liste des dérivées de y ,

h2 h3 1 ∂ f 000 3 ∂ f
  2 
f t + h, en, 4 = y + hy + 0 00
y 000
+ y −
(4)
y + y 00 + O(h 4 ).

(6.2.25)
2 6 4 ∂y 4 ∂y
6.2. Schémas de Runge-Kutta. 103

Nous pouvons maintenant combiner les développements (6.2.15), (6.2.17), (6.2.21) et (6.2.25) pour obtenir

h h
   
f (t, en, 1 ) + 2 f t + , en, 2 + 2 f t + , en, 3 + f (t + h, en, 4 ) =
2 2
h 00 h ∂ f 00 h 3 (4) ∂ 2 f 00 ∂ 2 f 0 00 ∂ f 000
 2
   
y +2 y + y +
0 0
y −
000
y + y −3 y − 3 2y y − y
2 8 ∂y 48 ∂t ∂y ∂y ∂y
h h 2 000 ∂ f 00 h 3 (4) ∂ 2 f 00 ∂2 f ∂f ∂f
     2  
+ 2 y 0 + y 00 + y + y + y +3 y + 3 2 y 0y 00 + 2 y 000 − 3 y 00
2 8 ∂y 48 ∂t ∂y ∂y ∂y ∂y
h 2 000 h 3 (4) 1 ∂ f 000 3 ∂ f
  2 
+ y + hy + y +
0 00
y − y + y 00 + O(h 4 )
2 6 4 ∂y 4 ∂y
h3
= 6y 0 + 3hy 00 + h 2y 000 + y (4) + O(h 4 ). (6.2.26)
4
On obtient donc l’erreur de consistance

h2 h3 h4
εn = y(tn+1 ) − y(tn ) − hy 0(tn ) − y 00(tn ) − y 000(tn ) − y (4) (tn ) + O(h 5 ) = O(h 5 ), (6.2.27)
2 6 24
par le développement de Taylor de y(tn+1 ) à l’ordre 4 en tn , d’où l’ordre au moins 4 de la méthode RK4. ♦

Remarque 6.2.2 Bien sûr, le calcul précédent paraît miraculeux quand tous les termes baroques s’éliminent à
la fin et n’explique pas vraiment de façon profonde pourquoi la méthode est au moins d’ordre 4, ni comment
Runge (1895) et Kutta (1901) ont bien pu faire pour l’obtenir. On a quand même la satisfaction du travail
manuel bien fait. Évidemment, le calcul ne montre pas que la méthode est exactement d’ordre 4, car il aurait
fallu développer tous les pas intermédiaires jusqu’à l’ordre 4 pour s’assurer que le terme suivant d’ordre 5
dans l’erreur de consistance ne s’annule pas. C’est un peu décourageant, à la réflexion. On pourrait néanmoins
penser s’aider de logiciels de calcul formel comme Maxima ou xcas pour rester dans le cadre des logiciels
libres. ♦

Pour énoncer les résultats sur la stabilité et l’ordre de convergence des schémas de Runge-Kutta, on
complète la définition matricielle de ces schémas en introduisant, en plus de la matrice A = (ai j ), les notations
|A| = (|ai j |), la matrice des valeurs absolues des éléments de A, et ρ(|A|) pour son rayon spectral (le plus
grand des modules de ses valeurs propres, cf. lemme 3.3.2). On définit également

c 0 ··· 0 b
©1 .. .. ª® © 1ª
1
c2 . .® ­b2 ®
© ª
­
­0 ­1®
C=­ ®, b = ­­ .. ®® , e = ­­ .. ®® .
.. .. ­.® ­.®
­
­0 . . 0®
®

«0 ··· 0 cq ¬ «bq ¬ «1¬

On admet les résultats suivants (voir [3], chapitre 5, paragraphe 5 pour les démonstrations). Dans ce qui suit L
désigne comme d’habitude la constante de Lipschitz de f et (t, y, h) → F (t, y, h) désigne la fonction qui définit
le schéma à un pas.

Proposition 6.2.3 Sous l’hypothèse hLρ(|A|) < 1, le schéma de Runge-Kutta admet une solution unique et est
stable. Si la fonction f est k fois continûment différentiable, alors la fonction F est aussi k fois continûment
différentiable.

Dans le cas explicite, la matrice |A| est strictement triangulaire inférieure, donc son rayon spectral est nul.
On en déduit que les méthodes de Runge-Kutta explicites sont stables sans restriction sur le pas h , ce qui était
plus ou moins évident par composition de fonctions lipschitziennes. Ce résultat est donc un peu plus précis
que celui de la proposition 6.2.1, puisque ρ(|A|) ≤ kAk∞ pour tout matrice A.

Proposition 6.2.4 Une condition nécessaire et suffisante pour qu’une méthode de Runge-Kutta soit au moins
d’ordre 1 (ou consistante) s’écrit bT e = 1.
104 6. Schémas d’ordre élevé

Une condition nécessaire et suffisante pour qu’une méthode de Runge-Kutta soit au moins d’ordre 2 s’écrit

1
bT e = 1 et bT Ce = bT Ae = .
2
Une condition nécessaire et suffisante pour qu’une méthode de Runge-Kutta soit au moins d’ordre 3 s’écrit

1 1 1
bT e = 1, bT Ce = , b T C 2e = et bT ACe = .
2 3 6
Pour que la méthode soit au moins d’ordre 4, il faut et il suffit qu’on ait en plus

1 1 1 1
b T C 3e = , bT AC 2e = , bT A2Ce = et bT CACe = .
4 12 24 8

Rappelons que nous n’avons considéré ici que le cas scalaire, m = 1, mais que les méthodes de Runge-Kutta
marchent tout aussi bien pour les systèmes avec m quelconque, avec essentiellement aucune modification.

6.3 Méthodes d’Adams


Les méthodes d’Adams 1⁴ sont des méthodes à pas multiples qui sont fondées sur
l’interpolation polynomiale de Lagrange (voir chapitre 7). Remarquons que nous n’avons
pas traité la théorie générale des schémas à pas multiples, consistance, ordre, stabilité et
convergence. On fera au cas par cas. D’abord un petit rappel sur l’interpolation de Lagrange.

Théorème 6.3.1 Pour tout choix de q + 1 points α 0, α 1, . . . , αq distincts et tout jeu de q + 1


valeurs β j , il existe un unique polynôme P de degré inférieur ou égal à q qui vérifie

∀j ∈ {0, 1, . . . , q}, P(α j ) = β j .

Le polynôme P est appelé le polynôme d’interpolation de Lagrange des valeurs β j aux points
α j , 0 ≤ j ≤ q . Il s’écrit :
q Ö t − α 
k
Õ
P(t) = βj . (6.3.1)
j=0 k,j
α j − αk

Les méthodes d’Adams entrent dans la deuxième catégorie de schémas présentée au


Chapitre 2, c’est-à-dire ceux reposant sur une approximation de l’intégrale dans la formule
∫ tn+1
y(tn+1 ) − y(tn ) = f (t, y(t)) dt .
tn
∫ tn+1
Pour approcher l’intégrale t f (s, y(s))ds , on commence par utiliser le Théorème 6.3.1
n
pour déterminer le polynôme Pn,q de degré inférieur à q qui interpole les valeurs f (t j , y(t j ))
aux q + 1 instants successifs tn−д, . . . , tn+d avec d + д = q . On se limitera aux deux cas d = 0
et d = 1. On remplace ensuite le calcul de (2.2.8) par le calcul de l’intégrale de Pn,q , en
commettant une certaine erreur. On effectue exactement ce calcul d’intégrale à l’aide de
la formule (7.1.1). Le résultat est une combinaison linéaire des valeurs f (t j , y(t j )), dont il
faut déterminer les coefficients, qui ne dépendent ni de f ni de n . Enfin, dans une dernière
14. John Couch Adams, 1819–1892.
6.3. Méthodes d’Adams 105

étape, on remplace les y(t j ) inconnus par des approximations y j , comme d’habitude, afin de
définir effectivement les schémas numériques. En fait, on est en train de calculer dans cette
dernière étape, l’intégrale d’un autre polynôme d’interpolation de Lagrange, toujours noté
Pn,q , qui interpole les valeurs f j = f (t j , y j ).
L’avantage de ces méthodes est que, les coefficients en question étant calculés une fois
pour toutes de façon à produire des schémas d’ordre élevé, leur utilisation est relativement
économique. En effet, elle ne demande que des évaluations de f (t j , y j ), qu’il faut faire
de toutes façons au minimum au moins une fois, et que l’on réutilise autant de fois que
nécessaire dans ces combinaisons linéaires très bon marché. En effet, ce sont les évaluations
de f qui sont a priori les opérations les plus coûteuses en temps de calcul.
Les schémas d’Adams s’écrivent donc
∫ tn+1
yn+1 = yn + Pn,q (t) dt . (6.3.2)
tn

où Pn,q désigne donc le polynôme de degré inférieur ou égal à q qui interpole les valeurs
f j = f (t j , y j ) aux points t j pour n −q +d ≤ j ≤ n +d . Noter que si d = 0, on aura uniquement
besoin des valeurs de la solution approchée aux instants antérieurs à tn . Cela conduira à des
schémas explicites appelés schémas d’Adams-Bashforth 1⁵. Si d = 1, les schémas obtenus,
appelés schémas d’Adams-Moulton 1⁶, sont implicites.
1. Le schéma d’Adams-Bashforth pour q = 0, d = 0, est
∫ tn+1
(AB1) yn+1 = yn + f (tn , yn ) dt = yn + h f (tn , yn ).
tn

En effet, la valeur fn = f (tn , yn ) est interpolée en tn par le polynôme constant t 7→ fn . On


retrouve le schéma d’Euler explicite, il est donc d’ordre un. Le schéma d’Adams-Moulton
correspondant est
∫ tn+1
(AM1) yn+1 = yn + f (tn+1, yn+1 ) dt = yn + h f (tn+1, yn+1 ),
tn

c’est le schéma d’Euler implicite, qui est aussi d’ordre un.


2. Le schéma d’Adams-Bashforth pour q = 1 consiste à interpoler les valeurs fn et fn−1
en tn et tn−1 . Il correspond à l’intégrale de
t − tn
Pn,1 (t) = fn + (fn − fn−1 ) .
h
t−tn
On obtient donc en faisant le changement de variable s = h ,

tn+1
s2 s
∫ ∫ 1   1  2  1
Pn,1 (t) dt = h fn + (fn − fn−1 )s ds = h fn 1 + − fn−1 ,

tn 0 2 0 2 0

15. Francis Bashforth, 1819–1912. Les méthodes d’Adams-Bashforth sont apparemment uniquement dues à
Adams, Bashforth n’ayant fait que les mentionner dans un livre. Mais le vocabulaire s’est imposé.
16. Forest Ray Moulton, 1872–1952. Il semble que l’apport de Moulton ait consisté à remarquer que les
méthodes d’Adams implicites pouvaient être utilisées dans un autre contexte, celui des schémas prédicteur-
correcteur.
106 6. Schémas d’ordre élevé

d’où le schéma  
3 1
(AB2) yn+1 = yn + h fn − fn−1 . (6.3.3)
2 2
C’est un schéma à deux pas. Pour le démarrer, il faut donc calculer y1 , avec un autre schéma,
à un pas. Ensuite, une fois calculé fn = f (tn , yn ), on l’utilise pour le calcul de yn+1 avec le
coefficient 32 , puis on le stocke pour l’utiliser à nouveau avec le coefficient − 12 pour le calcul
de yn+2 .
Proposition 6.3.2 Le schéma AB2 est d’ordre deux.
Démonstration. Comme toujours pour ces questions d’ordre de schémas, il s’agit de dévelop-
pements de Taylor plus ou moins longs.
h
εn = y(tn+1 ) − y(tn ) − (3 f (tn , y(tn )) − f (tn−1, y(tn−1 )))
2
h
= y(tn + h) − y(tn ) − 3y 0(tn ) − y 0(tn − h)

2
h 2
hh  i
= hy 0(tn ) + y 00(tn ) + O(h 3 ) − 3y 0(tn ) − y 0(tn ) − hy 00(tn ) + O(h 2 )
2 2
= O(h ).
3

On imagine bien que ce n’est pas par hasard si les coefficients tombent juste pour annuler
tous les termes d’ordre inférieur à 2... ♦

Le schéma d’Adams-Moulton pour q = 1 correspond à l’intégrale de


t − tn
Pn,1 (t) = fn + (fn+1 − fn ) .
h
Il s’écrit
h
yn+1 = yn + (fn + fn+1 ).
2
On retrouve le schéma de Crank-Nicolson, d’ordre 2 également, mais qui est aussi un schéma
à un pas.
3. Pour q = 2, on obtient un schéma explicite en déterminant le polynôme de degré au
plus 2 tel que Pn,2 (tn−j ) = fn−j = f (tn−j , yn−j ) pour j = 0, 1, 2. Le premier polynôme de base
correspondant à l’interpolation au point tn est donné par
(t − tn−1 )(t − tn−2 ) 1
L 1 (t) = = 2 (t − tn−1 )(t − tn−2 ).
(tn − tn−1 )(tn − tn−2 ) 2h
Pour obtenir le coefficient de fn , on intègre ce polynôme entre tn et tn+1 , en utilisant le
changement de variable t = tn + sh ,
tn+1
h 1
h 1
∫ ∫ ∫
23
L 1 (t) dt = 2 (sh + h)(sh + 2h) ds = (s 2 + 3s + 2) ds = h.
tn 2h 0 2 0 12
Procédant de même pour les deux autres points d’interpolation, on obtient le schéma
AB3  
23 4 5
(AB3) yn+1 = yn + h fn − fn−1 + fn−2 . (6.3.4)
12 3 12
6.3. Méthodes d’Adams 107

Proposition 6.3.3 Le schéma AB3 est d’ordre trois.

Démonstration. Comme toujours pour ces questions d’ordre de schémas, [...],


h
εn = y(tn+1 ) − y(tn ) − (23 f (tn , y(tn )) − 16 f (tn−1, y(tn−1 )) + 5 f (tn−2, y(tn−2 ))
12
h
= y(tn + h) − y(tn ) − 23y 0(tn ) − 16y 0(tn − h) + 5y 0(tn − 2h)

12
h 2
h3
= hy 0(tn ) + y 00(tn ) + y 000(tn ) + O(h 4 )
2  6
h  h 2 000 
− 23y (tn ) − 16 y (tn ) − hy (tn ) + y (tn ) + O(h )
0 0 00 3
12 2

+ 5 y (tn ) − 2hy (tn ) + 2h y (tn ) + O(h )
0 00 2 000 3


= O(h 4 ).

On imagine bien que [...] d’ordre inférieur à 3... ♦

4. Le schéma implicite Adams-Moulton sur 3 points est défini à partir de l’interpolation


Pn,2 (tn−j ) = fn−j = f (tn−j , yn−j ) pour j = −1, 0, 1. Par la même méthode, on obtient le schéma
 
5 2 1
(AM3) yn+1 = yn + h f (tn+1, yn+1 ) + f (tn , yn ) − f (tn−1, yn−1 ) .
12 3 12

Ce schéma implicite fonctionne si l’équation non linéaire φ(yn+1 ) = yn+1 avec


h  
φ(z) = yn + 5 f (tn+1, z) + 8 f (tn , yn ) − f (tn−1, yn−1 )
12
a une solution à chaque pas de temps. Une condition suffisante pour cela est que φ soit
strictement contractante, ce qui est clairement le cas si f est L−lipschitzienne et si h < 12
5L .

Proposition 6.3.4 Le schéma AM3 est d’ordre trois.

Démonstration. Idem que pour AB3. ♦

On peut définir des méthodes d’Adams d’ordre arbitrairement élevé. Leur avantage est
leur simplicité et leur économie de calcul. Leur désavantage est qu’il faut les initialiser à un
ordre supérieur ou égal à leur ordre, sinon on perd toute la précision attendue. Cela ne peut
se faire qu’avec des méthodes à un pas d’ordre élevé, comme les méthodes de Runge-Kutta
qu’on vient de voir (et qui sont à un pas, mais compliqués). Une stratégie possible lorsque
l’on envisage des calculs de grande envergure, comme des calculs en astronomie par exemple,
ou de dynamique moléculaire, est d’initialiser une méthode d’Adams à l’aide d’une méthode
de Runge-Kutta. Supposons que l’on prévoie d’utiliser une méthode d’Adams à une dizaine
de pas, pour avoir un ordre élevé et donc une très bonne précision. On a besoin pour lancer
la méthode d’Adams de la dizaine de premiers pas avec une précision égale ou supérieure
à celle attendue globalement. Il suffit de calculer cette dizaine de premiers pas avec une
méthode de Runge-Kutta ou de Taylor du même ordre que celle d’Adams prévue, puis
d’embrayer sur le milliard d’itérations suivantes par la méthode d’Adams.
108 6. Schémas d’ordre élevé
Chapitre 7

Intégration numérique

L’objectif de ce chapitre est d’introduire et d’analyser des méthodes pour calculer de


manière approchée l’intégrale au sens de Riemann
∫ b
I := f (x)dx,
a

où a et b sont deux réels et f une fonction (qu’on supposera continue). On présentera deux
classes de méthodes : de type interpolation de Lagrange et de type Gauss.

7.1 Intégration de type interpolation de Lagrange


Les méthodes de type interpolation consistent à approcher la fonction f par une fonction
plus simple dont l’intégrale est explicite, typiquement des polynômes. On se donne [a, b] un
intervalle et on note (xi )0≤i≤n une subdivision ordonnée à n + 1 points (non nécessairement
uniforme de [a, b]) : a = x 0 < x 1 < · · · < xn = b .

Définition 7.1.1 Une formule d’intégration à n + 1 points pour calculer une valeur approchée
de I est une relation de la forme
n
Õ
Jn (f ) := Ank f (xk ),
k=0

où les coefficients Ank ne dépendent pas de f .

7.1.1 Interpolation de Lagrange


Le polynôme d’interpolation de Lagrange (déjà rencontré pour définir les méthodes
d’Adams, cf. Théorème 6.3.1) permet de définir de tels coefficients Ank . On rappelle ce
théorème avec les notations de ce chapitre.

Théorème 7.1.2 Soit f : [a, b] → R une fonction. Pour tout choix de n + 1 points a = x 0 <
x 1 < · · · < xn = b distincts et tout jeu de n + 1 valeurs f (x j ), il existe un unique polynôme P f
de degré inférieur ou égal à n qui vérifie

∀j ∈ {0, 1, . . . , n}, P f (x j ) = f (x j ).
110 7. Intégration numérique

Le polynôme P f est appelé le polynôme d’interpolation de Lagrange de f aux points x j , 0 ≤


j ≤ n . Il s’écrit :
n Ö x − x 
k
Õ
P f (x) = f (x j ) . (7.1.1)
j=0 k,j
x j − x k

Démonstration. Ce résultat assure l’existence et l’unicité du polynôme interpolateur de


Lagrange. Commençons par l’existence. La formule (7.1.1) définit bien un polynôme de
degré n comme somme de n produits de n monômes de degré 1 (les points (xk )k étant tous
distincts, les dénominateurs sont non nuls). On remarque tout de suite que P f satisfait bien
P f (xk ) = f (xk ) par construction. Il reste à Î
montrer l’unicité d’un tel polynôme interpolateur.
x−x k 
Pour tout 0 ≤ j ≤ n , on pose p j : x 7→ k,j x j −x , qui définit un polynôme de degré
k
n comme produit de n monômes de degré 1 (les points (xk )k étant tous distincts, les
dénominateurs sont non nuls). Montrons qu’ils forment une famille libre. Remarquons
d’abord que p j (xk ) = 1 si k = j et p j (xk ) = 0 si k , j . Considérons alors un jeu de
n + 1 coefficients α 0, . . . , αn tel que p := nj=0 α j p j = 0 et montrons que α j = 0 pour tout
Í
0 ≤ j ≤ n , ce qui assurera que la famille est libre. En évaluant p au point xk , on obtient
bien 0 = p(xk ) = nj=0 α j p j (xk ) = αk . La famille de polynômes (p j )0≤j≤n est libre, de cardinal
Í
n + 1 et les polynômes sont de degré n : elle forment donc une base des polynômes de degré
inférieur ou égal à n . Cela implique l’unicité du polynôme interpolateur. En effet, soit f une
fonction et P 1 et P 2 deux polynômes interpolateurs de Lagrange associés à f . P 1 − P 2 est un
polynôme de degré n , qu’on peut écrire dans la base des p j comme P 1 − P 2 = nj=0 α j p j . Par
Í
définition, pour tout 0 ≤ k ≤ n , P 1 (xk ) − P 2 (xk ) = f (xk ) − f (xk ) = 0 et donc αk = 0, ce qui
implique P 1 = P 2 et donc l’unicité du polynôme interpolateur de Lagrange. ♦

Le méthode d’intégration numérique s’écrit alors


n ∫ b Ö x − x 
k
Õ
Jn (f ) := Ank f (xk ), avec Ank = dx, (7.1.2)
k=0 a k,j
x j − x k

où les termes Ank peuvent être calculés explicitement.


Une fois la méthode bien définie, il convient d’en analyser le comportement. La méthode
est-elle convergente, a-t-on des estimations d’erreur ? En analyse, on sait bien que comparer
une fonction à un polynôme est raisonnable si cette fonction est régulière. C’est ce que
quantifie la proposition suivante en terme d’intégrales.

Proposition 7.1.3 Soit f : [a, b] → R une fonction C n+1 , a = x 0 < x 1 < · · · < xn = b un
choix de n + 1 points distincts et P f le polynôme d’interpolation de Lagrange associé. Il existe
une fonction ζ : [a, b] → [a, b] telle que pour tout x ∈ [a, b] on a
n
1 Ö
f (x) = P f (x) + f (n+1)
(ζx ) (x − x j ).
(n + 1)! j=0

En particulier,
∫ b n
1 Ö
I − Jn (f ) = f (n+1)
(ζx ) (x − x j )dx
(n + 1)! a j=0
7.1. Intégration de type interpolation de Lagrange 111

et
n
sup[a,b] | f (n+1) | bÖ

|I − Jn (f )| ≤ |x − x j |dx
(n + 1)! a j=0

Pour démontrer cette proposition, on utilise un corollaire du théorème de Rolle. On rappelle


que le théorème de Rolle assure que si д : [c, d] → R est une fonction continue sur le
segment [c, d] dérivable sur ]a, b[ telle que f (c) = f (d), alors il existe e ∈]c, d[ tel que
f 0(e) = 0.
Corollaire 7.1.4 . Soit д ∈ C n+1 ([a, b]). Si д possède au moins n + 2 zéros distincts sur [a, b]
alors д(n+1) (dérivée d’ordre n + 1) a au moins un zéro sur [a, b].
Démonstration. Tout d’abord, on remarque que le théorème de Rolle implique le résultat
suivant : soit д : [a, b] → R une fonction dérivable qui admet au moins n + 2 zéros distincts
sur [a, b], alors f 0 admet au moins n + 1 zéros distincts sur [a, b]. Il suffit en effet d’appliquer
le théorème de Rolle entre deux zéros consécutifs de д. Le corollaire suit par récurrence. ♦

On peut passer à la preuve de la Proposition 7.1.3.


Démonstration. On commence par montrer l’existence d’une fonction ζ : [a, b] → [a, b] telle
que pour tout x ∈ [a, b] on a
1
f (x) = P f (x) + f (n+1) (ζx )q(x),
(n + 1)!
où q(x) = nj=0 (x − x j ) (polynôme de degré n + 1 qui s’annule en les points (x j )0≤x j ≤n
Î
uniquement). Si x = x j pour 0 ≤ j ≤ n , on pose simplement ζx j = x j . Supposons
x < {x 0, . . . , xn }, auquel cas q(x) , 0 et définissons la fonction w : [a, b] → R, y 7→ w(y)
par
q(y)
w(y) = f (y) − P f (y) − (f (x) − P f (x)).
q(x)
Tout comme f , w est C n+1 . De plus w s’annule en les n + 2 points {x, x 0, . . . , xn }. Par
conséquent, d’après le corollaire 7.1.4, il existe au moins un point ζx ∈ [a, b] tel que
w (n+1) (ζx ) = 0. Comme P f est de degré n , P f(n+1) ≡ 0. Par définition, q(y) − yn+1 est un
polynôme de degré n , sa dérivée (n + 1)-ième est nulle et donc q (n+1) − (n + 1)! ≡ 0. On en
(n+1)!
déduit 0 = w (n+1) (ζx ) = q(x) (f (x) − P f (x)), d’où le résultat.
En intégrant cette égalité entre a et b et en utilisant la définition (7.1.2) de Jn (f ) on
obtient bien la formule
∫ b n
1 Ö
I − Jn (f ) = f (n+1) (ζx ) (x − x j )dx .
(n + 1)! a j=0

En prenant ensuite la valeur absolue de l’intégrale et en bornant | f (n+1) (ζx )| par le supremum
de (la fonction continue) | f (n+1) | , on conclut que
n
sup[a,b] | f (n+1) | bÖ

|I − Jn (f )| ≤ |x − x j |dx .
(n + 1)! a j=0


112 7. Intégration numérique

7.1.2 Formules de Newton-Côtes


Soit n ≥ 1. Les formules de Newton-Côtes (fermées) reviennent à choisir une subdivision
uniforme de [a, b] en n + 1 points xi = a + ni (b − a) pour 0 ≤ i ≤ n , de pas h := b−a
n . Dans ce
cas, en appliquant la proposition 7.1.3, on obtient l’estimation d’erreur suivante

Corollaire 7.1.5 Si f est C n+1 sur [a, b] alors

|I − Jn (f )| ≤ 2hn+1 sup | f (n+1) |.


[a,b]

x−a
Démonstration. Par le changement de variables x { t = h = (x − a) b−a
n , on obtient

n
sup[a,b] | f (n+1) | b − a n+1 nÖ

|I − Jn (f )| ≤ ( ) |t − j |dt
(n + 1)! n 0 j=0

et il reste à estimer l’intégrale. On coupe l’intégrale en n morceaux de la forme [i, i + 1]. Sur
cet intervalle, on a la borne
∫ n
i+1 Ö n
Ö i
Ö n
Ö
|t − j |dt ≤ (|i − j | + 1) = (i + 1 − j) × (j + 1 − i)
i j=0 j=0 j=1 j=i+1
i
Ö   n+
Ö1−i 
≤ k j = i !(n + 1 − i)!.
k=1 k=1

Ainsi,
∫ n
nÖ n−1
Õ
|t − j |dt ≤ i !(n + 1 − i)! ≤ 2 (n + 1)!
0 j=0 i=0

(après un petit peu de travail), d’où la borne. ♦

L’analyse ci-dessus donne de bons résultats, mais la preuve n’utilise pas que les points
sont équidistants (vue qu’elle est valable pour un choix général de points). Les estimations
suivantes sont plus fines.
b−a
Théorème 7.1.6 On suppose que n ≥ 1 et on rappelle que h = n . Si f est C n+2 sur [a, b] et
n est pair, alors on a pour un ξ ∈ [a, b]
n
n+3 f
(n+2) (ξ ) ∫
I − Jn (f ) = −h s 2 (s − 1) . . . (s − n)ds.
(n + 2)! 0

Si f est C n+1 sur [a, b] et n est impair, alors on a pour un ξ ∈ [a, b]


n
n+2 f
(n+1) (ξ ) ∫
I − Jn (f ) = −h s(s − 1) . . . (s − n)ds.
(n + 2)! 0

Ce théorème se démontre en utilisant de manière explicite que le polynôme de Lagrange


interpole f aux points xi et que les points sont équidistants.
7.1. Intégration de type interpolation de Lagrange 113

Définition 7.1.7 On dit qu’une méthode d’intégration est d’ordre n si elle est exacte pour des
polynômes de degré n .
On conclut ce paragraphe par quelques formules concrètes et en fait bien connues. Avant
cela, on donne la définition de l’ordre d’une méthode d’intégration.
— Cas n = 0 : Le seul point est soit a ou b , auquel cas on obtient

J0 (f ) = (b − a)f (a) ou J0 (f ) = (b − a)f (b),


c’est-à-dire la formule des rectangles, qui est d’ordre 0. On a alors par la proposi-
tion 7.1.3
1
|I − J0 (f )| ≤ (b − a)2 sup | f 0 |.
2 [a,b]

— Cas n = 1 : Les deux points sont a et b et on obtient


(b − a)
J1 (f ) = (f (a) + f (b)),
2
c’est-à-dire la formule des trapèzes, qui est d’ordre 1. On a alors par le théorème 7.1.6
 sup
[a,b] | f (2) |  1 1
|I − J1 (f )| ≤ (b − a) 3
= (b − a)3 sup | f (2) |.
3! 6 36 [a,b]

— Cas n = 2 : Les trois points sont {a, a+b


2 , b} et on obtient (il faut savoir intégrer un
polynôme de degré 2 !)
(b − a)  a +b 
J2 (f ) = f (a) + 4 f + f (b) ,
6 2
c’est-à-dire la formule de Simpson, qui est d’ordre 3. On a alors par le théorème 7.1.6
 b − a  5  sup
[a,b] | f (4) |  4 1
|I − J2 (f )| ≤ = (b − a)5 sup | f (4) |.
2 4! 15 2880 [a,b]

Dans les estimations du théorème 7.1.6, il y a deux raisons pour lesquelles l’estimation semble
s’améliorer quand n augmente (si on néglige pour cette discussion que sup[a,b] | f (n) | dépend
  n+k
b−a
aussi de n ) : comme hn+k
= (pour k = 2 ou 3), cette quantité est décroissante par
n
rapport à n car on divise b − a par n et parce qu’on prend une puissance n + k (ce qui est
bien dès que b−a
n est plus petit que 1). On peut en fait séparer ces deux effets en subdivisant
d’abord l’intervalle [a, b] en sous-intervalles de taille plus petite et en choisissant l’ordre de
la méthode. C’est ce qu’on appelle des formules composites.

7.1.3 Formules composites


Quand le degré n du polynôme d’interpolation devient grand, le polynôme obtenu oscille
beaucoup (même si la fonction qu’il interpole oscille peu), ce qui fait qu’on n’utilise que
rarement des polynômes de degré élevé pour l’approximation d’intégrales. En revanche,
pour traiter des grands intervalles, on utilise une approche locale : on découpe d’abord
l’intervalles [a, b] et on applique des formules d’ordre faible sur les sous-intervalles obtenus.
114 7. Intégration numérique

7.2 Intégration de type interpolation de Gauss


Jusqu’à présent, dans les méthodes d’intégration basées sur l’interpolation par des
polynômes, on a considéré une subdivision donnée a = x 0 < x 1 < · · · < xn = b de l’intervalle
[a, b] (même uniforme pour les méthodes de Newton-Côtes) et cherché les valeurs optimales
∫b
des coefficients Ank de manière à minimiser l’erreur entre a f et l’approximation
n
Õ
Jn (f ) := Ank f (xk ),
k=0

pour des fonctions f générales (il est primordial que Ank ne dépende pas de f !). Dans ce
paragraphe, on se permet non seulement de choisir les coefficients Ank mais aussi de choisir
les points x j de la subdivision. Alors que le théorème 7.1.6 montre que les méthodes de
Newton-Côtes à n + 1 points sont au plus d’ordre n + 2 (pour n impair) et n + 3 (pour n pair),
le théoèrem 7.2.5 montre que la méthodes de Gauss-Legrendre à n + 1 points est d’ordre
2n + 1.

7.2.1 Polynômes de Legendre


On commence par définir les polynômes de Legendre, dont les racines donneront notre
choix de subdivision dans le cas [a, b] = [−1, 1].
Définition 7.2.1 On appelle polynôme de Legendre d’ordre k ∈ N le polynôme дk défini par
dk 2
дk (t) = (t − 1)k .
dt k
On a д0 ≡ 1, д1 (t) = 2t , д2 (t) = 12t 2 − 4, д3 (t) = 120t 3 − 72t , etc. Le terme de plus haut
(2k)!
degré de дk est k ! t k . Le polynôme дk est donc de degré k et {д0, д1, . . . , дn } forme une base de
l’espace vectoriel des polynômes de degré n ∈ N.
Notre objectif est de montrer que дk admet k racines distinctes dans ] − 1, 1[ si k ≥ 1. On
commence par démontrer un résultat fondamental sur les racines de polynômes.
di 2
Lemme 7.2.2 Pour tous entiers k ≥ 1 et 0 ≤ i ≤ k − 1, le polynôme t 7→ dt i
(t − 1)k admet 1
et −1 comme racines.
Démonstration. On écrit hk (t) = (t 2 − 1)k = (t − 1)k (t + 1)k . Par récurrence, on obtient que
pour tout 0 ≤ i ≤ k − 1, (t − 1)k−i et (t + 1)k−i divisent hk (t) et donc que 1 et −1 sont des
(i)

racines de hk . ♦

Ceci permet de démontrer la propriété fondamentale des polynômes de Legendre.


Théorème 7.2.3 Les polynômes de Legendre sont orthogonaux pour la mesure de Lebesgue sur
[−1, 1] au sens où pour tous i , k on a
∫ 1
hдi , дk i := дi (t)дk (t)dt = 0.
−1

En particulier, −1 д0 (t)dt = 2 et pour tout i ≥ 1, −1 дi (t)dt = 0. Par ailleurs, pour tout n ≥ 0,


∫1 ∫1

дn+1 est orthogonal aux polynômes de degré inférieur ou égal à n .


7.2. Intégration de type interpolation de Gauss 115

Démonstration. On peut supposer 0 ≤ i < k . On intègre par parties une première fois
1
di 21
i d
k
∫ ∫
дi (t)дk (t)dt = i
(t − 1 ) (t 2 − 1)k dt
−1 −1 dt dt k
 i k−1 ∫ 1 i+1 k−1
d 2 i d d i d
1
k
= i
(t − 1) k−1 (t − 1) 2
− i+
(t − 1) k−1 (t 2 − 1)k dt .
2
dt dt −1 −1 dt
1 dt
Par le lemme 7.2.2, le premier terme est nul et on obtient alors
1 1
d i+1 2 i d
k−1
∫ ∫
дi (t)дk (t)dt = − (t − 1 ) (t 2 − 1)k dt .
−1 −1 dt i+1 dt k−1
On peut intégrer encore i fois par parties (toujours en utilisant le lemme 7.2.2 pour montrer
que les termes de bord s’annulent) et on obtient
1 1
d 2i+1 2 i d
k−i−1
∫ ∫
i+1
дi (t)дk (t)dt = (−1) (t − 1 ) (t 2 − 1)k dt,
−1 −1 dt 2i+1 dt k−i−1
terme qui est nul car la dérivée d’ordre 2i + 1 d’un polynôme de degré 2i est identiquement
nulle.
Comme д0 ≡ 1, pour tout i ≥ 1, −1 дi (t)dt = −1 дi (t)д0 (t)dt = hд0, дi i = 0.
∫1 ∫1

Enfin, comme {д0, . . . , дn } est une base de l’espace Pn des polynômes de degré inférieur
ou égal à n , pour tout p ∈ Pn , il existe α 0, . . . , αn ∈ R tels que p = ni=0 αi дi et donc (par
Í
linéarité de l’intégrale)
n
Õ
hp, дn+1 i = αi hдi , дn+1 i = 0.
i=0

On conclut l’étude des polynômes de Legendre par la propriété souhaitée sur leurs
racines.
Théorème 7.2.4 Pour tout n ≥ 1, le polynôme de Legendre дn d’ordre n possède n racines
distinctes de multiplicité 1 dans ] − 1, 1[.
Démonstration. D’après le théorème 7.2.3, 1 дn (t)dt = 0, ce qui implique (comme дn n’est
∫1

pas identiquement nul) que дn change au moins une fois de signe sur ] − 1, 1[. On note q ≥ 1
le nombre de racines дn de multiplicité impaire (donc précisément les points où дn change
de signe sur ] − 1, 1[) et on note ξ 1, . . . , ξq et β 1, . . . , βq ces racines et leur multiplicité (telles
Íq
que β := i=1 βi ≤ n ). En particulier, il existe un polynôme σ de degré n − β et qui ne change
Îq
pas de signe sur ] − 1, 1[ tel que дn (t) = σ (t) i=1 (t − xi )βi . On considère alors le polynôme
Îq Îq
π (t) = i=1 (t − xi ). Par construction, le polynôme t 7→ дn (t)π (t) = σ (t) i=1 (t − xi )βi +1 ne
change pas de signe sur ] − 1, 1[ car σ ne change pas de signe et βi + 1 est pair pour tout
1 ≤ i ≤ q . Comme ces polynômes ne sont pas identiquement nuls, cela implique que

дn (t)π (t)dt , 0.
−1
Or, d’après le théorème 7.2.3, ceci ne peut être vrai que si q = degπ ≥ n . Comme q ≤ n ,
cela implique que q = degπ = n et donc que дn a exactement q = n racines distinctes de
Íq
multiplicité 1 dans ] − 1, 1[ (en effet q ≤ i=1 βi ≤ n implique βi = 1 pour tout 1 ≤ i ≤ q si
q = n ). ♦
116 7. Intégration numérique

7.2.2 Méthode de Gauss-Legendre


On considère [a, b] = [−1, 1]. Pour tout n ≥ 1, on note ξ 1, . . . ξn les n racines distinctes de
дn dans ]− 1, 1[. Ayant fixé ces racines, on cherche les poids (wi )1≤i≤n tels que l’approximation
n
Õ
Jn (f ) = wi f (ξi )
i=1

de l’intégrale −1 f (t)dt soit exacte pour les polynômes de plus haut degré possible. Le choix
∫1

de ces points est donné par le théorème suivant.

Théorème 7.2.5 Le système linéaire

д (ξ ) д0 (ξ 2 ) . . . д0 (ξn ) w 2
© 0 1 © 1ª
­ д1 (ξ 1 ) д1 (ξ 2 ) . . . д1 (ξn ) ® ­w 2 ®
ª © ª
­0®
­ . .. .. .. ®® ­ . ®= ­.®
­ .. . . . ® ­ .. ® ­ .. ®
­ ­ ® ­ ®
«дn−1 (ξ 1 ) дn−1 (ξ 2 ) . . . дn−1 (ξn )¬ «wn ¬ «0¬
admet une unique solution. Si les poids {wi }1≤i≤n sont solutions de ce système linéaire alors
pour tout polynôme p ∈ P2n−1 (degré au plus 2n − 1), on a l’égalité
∫ 1 n
Õ
p(t)dt = wi p(ξi ). (7.2.1)
−1 i=1

En particulier, le théorème montre que la formule de Gauss-Legendre à n points Jn (f ) =


Ín
i=1 wi f (ξi ) sur l’intervalle [−1, 1] est d’ordre 2n − 1.

Remarque 7.2.1 L’erreur par la formule de Gauss-Legendre prend la forme : il existe


η ∈] − 1, 1[ tel que pour tout f ∈ C 2n ([−1, 1]) on ait
1
22n+1 (n !)4

f (t)dt − Jn (f ) = f (2n) (η).
−1 (2n + 1)((2n)!) 3

Avant de démontrer ce théorème, mentionnons deux aspects d’ordre pratique :


— Les racines des polynômes de Legendre ne sont pas explicites. Cependant, on peut
les approcher avec une précision aussi grande que voulue grâce à l’algorithme de
Newton.
— Pour intégrer une fonction f sur un intervalle [a, b] général, il suffit de se ramener
 à
[−1, 1] par changement de variables. En effet, la fonction д : [−1, 1], t 7→ f − at +

2 (b + a)(t + 1) satisfait
1

b
b −a 1
∫ ∫
f (t)dt = д(t)dt,
a 2 −1

et il suffit donc d’appliquer la méthode de Gauss-Legendre à д.


7.2. Intégration de type interpolation de Gauss 117

Démonstration. On commence par montrer que le système admet une unique solution.
Montrons pour cela que les lignes de la matrice du système sont linéairement indépendantes.
Soient c 0, c 1, . . . , cn−1 des réels tels que pour tout 1 ≤ i ≤ n ,
n−1
Õ
ck дk (ξi ) = 0.
k=0

Comme les n points ξi sont distincts, cela implique que le polynôme t 7→ ck дk (t) admet au
moins n racines distinctes sur ] − 1, 1[. Comme ce polynôme est de degré au plus n − 1, il
est identiquement nul. Comme les дk sont linéairement indépendants (il sont de degré k ),
ceci implique que ck = 0 pour tout 1 ≤ k ≤ n . Les lignes de la matrice du système linéaire
sont donc indépendantes, la matrice est inversible et la solution du système existe et est
unique. On note w 1, . . . , wn la solution du système.
On vérifie d’abord que (7.2.1) est vrai pour les polynômes de degré au plus n − 1. Comme
{д0, . . . , дn−1 } est une base de Pn−1 et par linéarité de l’intégrale, il suffit de vérifier cette
relation sur les n premiers polynômes de Legendre. Par définition même du système et par
le théorème 7.2.3 on a
n
Õ ∫ −1
wi д0 (ξi ) = 2 = д0 (t)dt,
i=1 1
n
Õ ∫ −1
wi дk (ξi ) = 0 = дk (t)dt, 0 < k ≤ n − 1.
i=1 1

Soit maintenant un polynôme p ∈ P2n−1 . La division de p par дn donne p(t) = дn (t)q(t) +r (t)
avec deg(q) ≤ n − 1 et deg(r ) ≤ n − 1 car deg(p) ≤ 2n − 1 et deg(дn ) = n . D’une part, en
utilisant que дn est orthogonal à Pn−1 au sens du théorème 7.2.3, on a
∫ 1 ∫ 1 ∫ 1
p(t)dt = дn (t)q(t)dt + r (t)dt
−1 −1 −1
∫ 1
= r (t)dt .
−1

D’autre part, comme les ξi sont les racines de дn on a d’autre part


n
Õ n
Õ  
Jn (p) = wi p(ξi ) = wi дn (ξi )q(ξi ) + r (ξi )
i=1 i=1
n
Õ
= wi r (ξi ).
i=1

En combinant ces deux égalités avec (7.2.1) appliqué à r qui est de degré au plus n − 1, on
obtient
n
Õ ∫ ∫ 1 1
Jn (p) = wi r (ξi ) = r (t)dt = p(t)dt,
i=1 −1 −1

ce qui conclut la démonstration. ♦


118 7. Intégration numérique

7.2.3 Formules composites


Tout comme les méthodes de Newton-Côtes, l’intégration de Gauss-Legendre peut être
faite localement. Pour traiter des grands intervalles, on utilise une approche locale : on
découpe d’abord l’intervalles [a, b] et on applique l’intégration de Gauss-Legendre sur les
sous-intervalles obtenus.
Chapitre 8

Précision numérique

8.1 Schémas d’ordre élevé et précision numérique


Une source d’erreur dans les calculs de solutions numériques est les erreurs d’arrondi
qu’un ordinateur effectue systématiquement dès qu’il calcule en virgule flottante. L’arithmé-
tique des erreurs d’arrondi est complexe et l’on n’en parlera pas ici. On se place à un niveau
de compréhension plus grossier. Quand on implémente par exemple le schéma d’Euler

yn+1 = yn + h f (tn , yn )

sur ordinateur, on ne calcule pas les valeurs exactes de la solution approchée (yn )n=0,...,N
mais des valeurs perturbées par l’erreur d’arrondi ρn commise à chaque pas de temps 1
? ? ?
yn+1 = yn + h f (tn , yn ) + ρn .

Posons en? = yn? − y(tn ). On a


? ? ?
en+1 = en + h f (tn , yn ) − f (tn , y(tn )) − εn + ρn


où εn est l’erreur de consistance. Ici on se souvient que pour la méthode d’Euler explicite

h2
|εn | ≤ max |y 00 |.
2
Donc, pour une fonction f lipschitzienne de constante L, et en supposant que l’ordinateur
garantisse que |ρn | ≤ ρ ,

? ? h2
|en+1 | ≤ (1 + hL)|en | + max |y 00 | + ρ,
2
d’où l’on déduit, en utilisant le lemme de Grönwall discret, que

h
|en? | ≤ e nhL |e 0? | + (nhL)e nhL max |y 00 | + nLe nhL ρ.
2
1. Il y a aussi une erreur faite a priori sur l’évaluation de la fonction f , que l’on devrait remplacer par une
fonction f ∗ effectivement calculée. On la laisse de côté, son effet n’est pas dominant.
120 8. Précision numérique

En particulier, on obtient pour l’erreur finale, n = N ,


h T L TL
|e N? | ≤ eT L |e 0? | + T LeT L max |y 00 | + e ρ.
2 h
Les trois termes constituant la majoration de l’erreur effective se comportent diffé-
remment quand h tend vers 0. La contribution de l’erreur à l’instant initial eT L |e 0? | est
indépendante de h . L’erreur due à l’accumulation des erreurs de consistance de la méthode
est un O(h) et tend donc vers zéro quand h tend vers 0. Enfin les effets de l’erreur d’arrondi
se cumulent et tendent vers l’infini quand h tend vers 0.
? | ≤ φ(h) avec φ(h) = A + Bh + Cρ ,
Plus précisément, on a une majoration de la forme |e N h

q
et il apparaît donc un pas optimal (au sens de cette = CB ρ , pour lequel
majoration), h?
les erreurs de consistance et d’arrondi s’équilibrent et au dessous duquel il est inutile de
descendre. Ce pas optimal, ainsi que l’erreur qu’il produit, est proportionnel à la racine
carrée de l’erreur d’arrondi maximale garantie (soit un nombre a priori beaucoup plus grand
que cette erreur).
La majoration précédente est évidemment pessimiste puisqu’on a considéré qu’à chaque
pas de temps on faisait le maximum d’erreur d’arrondi et qu’elles se cumulaient toujours,
alors qu’elles pourraient se compenser. Cependant le comportement prédit est effectivement
observé : quand on diminue le pas de discrétisation, une fois atteint une erreur de l’ordre
de la précision machine, l’erreur globale par rapport à la solution exacte commence à
ré-augmenter. La Figure 8.1 illustre ce comportement pour le schéma de Taylor d’ordre 2 et
le schéma de Runge-Kutta d’ordre 4. 2 On calcule la solution approchée du problème de
Cauchy
y 0(t) = 2(y(t) − sin t) + cos t, y(0) = 0
dont la solution exacte est y(t) = sin t sur l’intervalle [0, 1] avec un pas de discrétisation
h = 10−i , pour i = 1, . . . , 6. Les graphes représentent l’erreur au temps t = 1 entre la
solution approchée et la solution exacte en fonction de h , dans un repère logarithmique. Le
graphe de gauche correspondant au schéma de Taylor d’ordre 2 met en évidence une erreur
qui décroît comme un O(h 2 ) en partant des grandes valeurs de h (0.1 jusqu’à 10−6 ) où elle
atteint la valeur 10−12 proche de la précision machine. Pour les valeurs de h inférieures à
10−6 l’erreur est plus élevée. Le même comportement est observé pour le schéma de Runge
Kutta sur le graphe de droite. Comme l’erreur due à la méthode décroît plus rapidement
avec h , l’erreur machine est atteinte pour une valeur de h plus grande (ici h = 10−3 ) en deçà
de laquelle l’erreur globale augmente quand h continue à diminuer. Le tableau ci-dessous
résume les valeurs de l’erreur obtenue en utilisant le schéma de Runge-Kutta pour h = 10−i .

i erreur temps CPU


1 3.17877 e-06 0.002
2 4.18818 e-10 0.011
3 4.11893 e-14 0.11
4 1.63869 e-13 1.036
5 5.43121 e-13 19.266
6 6.41975 e-12 212.692

2. Attention, l’analyse précédente pour le schéma d’Euler d’ordre 1 ne s’applique pas sans modification. Il
faut refaire les calculs d’ordres de grandeur pour les pas et erreurs optimaux.
8.2. Contrôle du pas de temps 121

Convergence du schema de Taylor d’ordre 2 Convergence du schema de Runge Kutta d’ordre 4

−1 −4
10 10
calculee calculee

theorique theorique

−4 −6
10 10

−7 −8
10 10
erreur

erreur
−10 −10
10 10

−13 −12
10 10

−16 −14
10 −8 −6 −4 −2 0 10 −6 −5 −4 −3 −2 −1
10 10 10 10 10 10 10 10 10 10 10
h h

Figure 8.1 – Convergence de l’erreur pour les schémas de Taylor d’ordre 2 et de Runge-Kutta
d’ordre 4

La conclusion de cette expérience numérique est qu’il faut d’une part connaître la
précision machine de l’ordinateur qu’on utilise, d’autre part faire des tests sur des fonctions
connues pour évaluer jusqu’à quelle discrétisation il est intéressant de descendre. Inutile de
calculer plus pour gagner moins.

8.2 Contrôle du pas de temps


Jusqu’à présent nous avons présenté tous les schémas numériques pour un pas de
discrétisation uniforme h = tn+1 − tn . Si ce choix d’un pas constant simplifie sensiblement
l’analyse numérique d’un schéma, il est en revanche loin d’être optimal en ce qui concerne
les performances en temps de calcul. En effet, on a vu que l’erreur commise dépend des
dérivées de la solution. Plus précisément l’erreur d’un schéma d’ordre p est en Chp où
C est une constante dépendant de la norme infinie de certaines dérivées de la solution
sur l’intervalle de calcul. Si la solution est régulière, c’est-à-dire ne varie pas beaucoup,
c’est-à-dire a des dérivées de petite amplitude, on pourra utiliser un pas h plus grand et
avoir la même tolérance sur l’erreur qu’avec un très petit pas pour une fonction variant
beaucoup. L’idée est donc grossièrement de jouer à chaque itération sur le pas, sur la base
de la constante C , qui est inconnue !
Dans cette optique, on peut faire varier le pas de discrétisation de manière adaptative en
suivant l’évolution de la régularité de la solution au fur et à mesure qu’on en calcule une
approximation. Mais comment faire, puisqu’on ne connaît pas C ???
Notons tout d’abord que dans le cas d’un pas variable hn = tn+1 − tn , toutes les définitions
et tous les résultats précédemment énoncés, consistance, ordre, stabilité, convergence,
estimation d’erreur, restent valables en posant h = maxn hn . On ne revient donc pas dessus.
Au vu de l’analyse des différents types d’erreur de la section précédente, le seul facteur sur
lequel on peut espérer jouer est l’erreur de consistance. On va négliger les autres sources
d’erreur (erreur initiale, erreurs d’arrondi).
Le principe général est d’utiliser deux schémas numériques d’ordres différents p1 < p2
(dans la pratique on prendra le plus souvent p2 = p1 + 1). Le schéma d’ordre inférieur
est utilisé pour le calcul de la solution approchée, et le schéma d’ordre supérieur pour
l’adaptation du pas et le contrôle de l’erreur. On note yn1 (respectivement yn2 ) la solution
122 8. Précision numérique

numérique calculée avec le premier (resp. deuxième) schéma au temps tn . On a les estimations
d’erreur
p1
1 − y(tn+1 )k ≤ C 1h
1
kyn+
p2
1 − y(tn+1 )k ≤ C 2h .
2
kyn+

On a donc
yn+
1
1 − y(tn+1 ) = yn+1 − yn+1 + yn+1 − y(tn+1 ),
1 2 2

d’où l’on déduit en supposant h petit et la constante C 2 pas trop méchante que

1 − y(tn+1 )k ≈ kyn+1 − yn+1 k.


1 1 2
kyn+

Supposons que l’on se soit fixé une tolérance Tol sur l’erreur à ne pas dépasser sur tout
l’intervalle de temps, et que ce but soit atteint à l’itération n . On peut alors proposer la
stratégie (naïve) suivante pour déterminer le prochain pas de discrétisation. On se donne
0 < α < 1.
Pas de temps adaptatif monotone

On a calculé yn1 et yn2 avec le dernier pas de temps hn−1 . On pose h ∗ = hn−1 .
Boucle : on calcule y∗1 et y∗2 à partir de yn1 et yn2 avec le pas h ∗ .
Si ky∗1 − y∗2 k ≤ Tol , on prend hn = h ∗ , yn+
1
1 = y ∗ et yn+1 = y ∗
1 2 2

Sinon on prend h ∗ = αh ∗ .

Bien sûr, il faut également imposer une borne inférieure sur le pas, qui ne peut que
décroître, pour éviter les écueils mis en évidence à la section précédente ou que le schéma
se bloque avec un pas descendu au zéro machine.
Cet algorithme assure plus ou moins le contrôle de l’erreur du premier schéma sur tout
l’intervalle d’étude à condition que celle-ci soit rattrapable (ce qui n’est pas toujours le
cas, le premier schéma peut très bien s’éloigner irrémédiablement de la solution exacte à
partir d’un certain point satisfaisant la tolérance, quel que soit le pas suivant). Il n’a en fait
essentiellement aucun intérêt pratique, puisqu’il implique de mener de front deux schémas
d’ordres p1 < p2 , pour obtenir un schéma d’ordre p1 . On aurait pu conserver le schéma
d’ordre p2 , auquel on fait de plus confiance pour représenter l’erreur. De surcroît, on ne peut
pas faire croître le pas à nouveau quand un pas petit n’est plus nécessaire.
On donne ci-dessous un exemple de calcul sur le problème de Cauchy

y (t) = −4t 3y(t)2,


 0

y(0) = 1,

dont la solution exacte est y(t) = 1+t


1
4 , avec le schéma d’Euler comme schéma d’ordre 1 et
celui d’Euler modifié comme schéma d’ordre 2. Le calcul est fait jusqu’à T = 2 avec un pas
initial de 0,2, une tolérance de 0,045 et un coefficient α = 0,999 (la borne inférieure sur le
pas est la racine carrée du zéro machine).
Le résultat n’est pas spectaculaire (et encore, on a choisi un exemple qui marche !).
On peut rendre cette stratégie plus performante en choisissant les deux schémas de telle
8.2. Contrôle du pas de temps 123

Figure 8.2 – Algorithme de contrôle naïf. À gauche pas constant sans contrôle : noir ×
Euler, bleu ⊕ Euler modifié, rouge solution exacte. À droite pas variable avec contrôle : noir
× Euler, rouge solution exacte.

sorte qu’il ne coûte pas beaucoup plus cher (en temps de calcul) de mener les deux de
front que le plus précis tout seul. En effet, ce qui coûte a priori cher dans un schéma,
c’est l’évaluation de la fonction second membre aux différents pas de temps intermédiaires.
Plusieurs algorithmes de contrôle adaptatif du pas de temps sont développés dans le cadre
des schémas de Runge-Kutta, en mettant ce principe à profit.
Décrivons l’idée générale, qui est d’approcher l’erreur de consistance d’un schéma d’ordre
p , donné par une fonction Φ(h, t, y), par une expression calculable à peu de frais en utilisant
un autre schéma d’ordre p + 1, donné par une fonction Φ∗ (h, t, y). Évidemment, il ne faut
pas calculer l’intégralité du deuxième schéma depuis l’instant initial, comme précédemment,
car, disons le, c’est stupide. Et il faut si possible rentabiliser le calcul supplémentaire en le
réutilisant au moins en partie lors des itérations suivantes.
Les deux erreurs de consistance sont données par
εn = y(tn+1 ) − y(tn ) − hn Φ(hn , tn , y(tn )),
εn∗ = y(tn+1 ) − y(tn ) − hn Φ∗ (hn , tn , y(tn )),
et l’on a εn = O(hp+1 ) et εn∗ = O(hp+2 ). On introduit un estimateur a posteriori de l’erreur de
consistance
ε˜n = hn Φ∗ (hn , tn , yn ) − Φ(hn , tn , yn ) .


Comme on connaît yn de l’itération précédente, cet estimateur d’erreur est calculable. De


plus, le deuxième terme intervient dans le calcul de yn+1 , on en aura besoin de toutes façons.
Le premier terme correspond à une itération du schéma d’ordre élevé à partir de la dernière
valeur calculée du schéma d’ordre moins élevé. On ne calcule donc pas la solution du schéma
d’ordre élevé. En quoi s’agit-il d’un estimateur de l’erreur de consistance du schéma d’ordre
moins élevé ? On a
εn − εn∗ = hn Φ∗ (hn , tn , y(tn )) − Φ(hn , tn , y(tn )) ,


∂(Φ∗ − Φ)
= ε˜n + hn (hn , tn , ζn )(y(tn ) − yn ),
∂y
124 8. Précision numérique

Figure 8.3 – Algorithme de contrôle naïf, variation du pas en fonction du temps.

pour un certain ζn entre y(tn ) et yn . Les deux schémas sont consistants, ce qui implique que
Φ∗ (0, t, y) − Φ(0, t, y) = f (t, y) − f (t, y) = 0, donc ∂(Φ∂y−Φ) (0, tn , ζn ) = 0 et par conséquent

∂(Φ∗ −Φ)
∂y (hn , tn , ζn ) = O(hn ). Comme y(tn ) − yn = O(hp ) par l’estimation d’erreur du premier
schéma, on en déduit que

εn = ε˜n + εn∗ + O(hp+2 ) = ε˜n + O(hp+2 ),

puisque le deuxième schéma est d’ordre p + 1. Comme εn est de l’ordre de hp+1  hp+2 , il
s’ensuit que l’on peut considérer (un peu à la louche peut-être) que ε˜n en est une bonne
approximation.
Prenons par exemple le schéma de Heun ou RK2, d’ordre deux, que l’on réécrit uniquement
en termes des quantités à calculer



 k 1 = f (tn , yn ),
 k = f (t , y + h k ),

n+1 n n 1

2
(8.2.1)
 hn
yn+
rk2
= yn + (k 1 + k 2 ),


1
 2
et un schéma de Runge-Kutta d’ordre trois, qui commence par calculer les mêmes valeurs k 1
et k 2 , puis une troisième valeur intermédiaire (on dit que ces deux schémas de Runge-Kutta
sont emboîtés)


 k 1 = f (tn , yn ),
k 2 = f (tn+1, yn + hnk 1 ),




hn hn


  
k 3 = f tn + , yn + (k 1 + k 2 ) , (8.2.2)

 2 4
h


n

yn+
rk3
= yn + (k 1 + k 2 + 4k 3 ).


 1 6
L’estimateur d’erreur est donc
hn
ε˜n = yn+
rk3
1 − yn+1 =
rk2
(2k 3 − k 1 − k 2 ).
3
8.2. Contrôle du pas de temps 125

Il faut encore définir une stratégie pour contrôler l’erreur et adapter le pas dans un sens
ou dans l’autre. Plusieurs choix sont possibles. On propose ici le schéma suivant

Pas de temps adaptatif RK23

Calcul de k 1 , k 2 , k 3 avec le pas de temps hn


Si hn | 2k 3 − k 1 − k 2 |/3 ≤ Tol
on prend hn+1 = hn et yn+1 = yn+ rk2
1
Si hn | 2k 3 − k 1 − k 2 |/3 ≤ Tol/10 on multiplie hn+1 par 2
Sinon
on divise hn par 2 et on recommence sans incrémenter n

On a testé cet algorithme sur le problème de Cauchy

y (t) = −2ty(t)2,
 0

y(0) = 1,

dont la solution exacte est y(t) = 1/(1 + t 2 ). On commence avec un pas arbitrairement fixé
à 0.05 et une tolérance fixée à 10−6 et on calcule la solution numérique jusqu’à T = 10. Le
pas de temps varie de h = 0.0125 vers t = 2 jusqu’à h = 0.2 au temps final.
Le graphe de droite sur la Figure 8.4 montre l’évolution de l’erreur entre la solution
numérique et la solution exacte (puisqu’on la connaît pour cette équation). On voit que les
variations de l’erreur sont très bien corrélées avec les variations du pas de temps représentées
sur le graphe de droite de la Figure 8.5. À chaque fois que l’on double le pas de temps,
l’erreur commence par augmenter puis diminue jusqu’à ce que l’erreur de consistance soit
inférieure à Tol/10 et qu’on puisse de nouveau doubler hn .

solutions numerique et exacte evolution de l’erreur

1.0 1.6e−05

0.9
1.4e−05

0.8
1.2e−05
0.7

1.0e−05
0.6

0.5 8.0e−06

0.4
6.0e−06

0.3
4.0e−06
0.2

2.0e−06
0.1

0.0 0.0e+00
0 2 4 6 8 10 12 0 2 4 6 8 10 12
t t

Figure 8.4 – Schéma RK23 avec contrôle adaptatif du pas, solution à gauche et erreur entre
les solutions numériques et exactes à droite

Naturellement, toute méthode d’adaptation de pas, aussi sophistiquée soit elle, peut
lamentablement échouer si l’EDO et les constantes ne coopèrent pas. C’est la question de
la robustesse de la méthode. C’est une des raisons pour lesquelles des solveurs complexes
comme ode de scilab, qui fonctionnent en boîte noire, peuvent refuser de calculer la solution.
Certaines EDO sont intrinsèquement difficiles à approcher numériquement.
126 8. Précision numérique

nombre d’essais par pas de temps evolution du pas de temps

3.0 0.22

2.8 0.20

2.6 0.18

2.4 0.16

2.2 0.14

2.0 0.12

1.8 0.10

1.6 0.08

1.4 0.06

1.2 0.04

1.0 0.02

0.8 0.00
0 2 4 6 8 10 12 0 2 4 6 8 10 12
t t

Figure 8.5 – Schéma RK23 avec contrôle adaptatif du pas, nombre d’essais par pas de temps
à gauche et pas de temps à droite
Chapitre 9

Propriétés asymptotiques de schémas


numériques

9.1 Stabilité absolue


Nous avons vu l’importance de la notion de stabilité donnée par la définition 4.1.2, qui
assure que des perturbations du schéma entraînent des perturbations des solutions calculées
qui restent contrôlables. Le contrôle en question peut être néanmoins difficile à réaliser en
pratique dans le cas où le système comporte ce que l’on appelle une “ instabilité intrinsèque
”. Construisons ainsi une famille de problèmes de Cauchy à partir d’une fonction donnée д,

y (t) = λ(y(t) − д(t)) + д0(t),


 0
(9.1.1)
y(0) = y0

L’équation homogène a pour solution y(t) = e λt et yp (t) = д(t) est une solution particulière
du problème non homogène. La solution du problème de Cauchy (9.1.1) est donc

y(t) = (y0 − д(0))e λt + д(t).

Il est clair que si l’on ne part pas exactement de la condition initiale д(0) et si λ > 0 est
modérément grand, le terme exponentiel va l’emporter très rapidement sur le terme donnant
la solution д. Toute méthode numérique introduisant une erreur sur la solution, cette erreur
va s’amplifier de manière exponentielle avec les itérations successives. La seule issue pour
traiter ce genre de problème est d’utiliser des schémas d’ordre très élevé en effectuant les
calculs avec une précision également élevée, avec un pas de temps très petit. Tout cela peut
être d’un coût prohibitif voire être hors de portée des ordinateurs existants.
Dans cette section, on prend I = ]0, +∞[ et on s’intéresse au comportement en temps long
(tn → +∞) des solutions numériques. La définition 4.1.2 n’est pas opérante, puisque placée
sur un intervalle [0,T ] et faisant intervenir en pratique des constantes de la forme eCT dans
les majorations, constantes qui peuvent manifestement être énormes. Nous introduisons ici
une autre notion de stabilité, qui n’a en fait pas grand chose à voir avec la précédente, si
ce n’est le nom de “ stabilité ” malheureusement traditionnel, et qui est plus adaptée au
problème qui nous intéresse ici, le comportement en temps long. 1
1. Il y a quand même un lien entre les deux notions dans le cas des schémas à pas multiples linéaires,
comme les méthodes d’Adams, que l’on n’a pas étudiés théoriquement.
128 9. Propriétés asymptotiques de schémas numériques

Nous ne considérons dans cette section que le problème de Cauchy scalaire suivant
y (t) = λy(t) dans I,
 0
(9.1.2)
y(0) = y0 , 0,
dont on connaît la solution exacte y(t) = e λt y0 . Pourquoi se restreindre à une équation aussi
simple ? Il se trouve que de nombreux phénomènes physiques, chimique, biologiques ou
autres sont modélisés par des systèmes d’EDO. Si on linéarise un tel système au voisinage
d’un instant t 0 , on obtient un système linéaire à coefficients constants. Ceci justifie que l’on
s’intéresse à la version matricielle de (9.1.2), y 0(t) = Ay(t). Mais nous avons vu qu’après
diagonalisation, si celle-ci est possible, on obtient un système découplé d’équations scalaires
de type (9.1.2), voir l’exemple en page ??. Ces dernières jouent donc un rôle important.
Supposons que l’on commette une erreur sur la donnée initiale de (9.1.2) qui devient
y0 + ε . On obtient alors la solution yε (t) = e λt (y0 + ε). L’erreur au temps t entre les deux
solutions est εe λt . Elle tend vers +∞ en valeur absolue avec t , si λ > 0. Même si ε est très
petit, au bout d’un certain temps, l’erreur devient très grande et il n’y a rien à y faire. C’est
la sensibilité aux conditions initiales.
Supposons maintenant qu’on parte de la donnée initiale exacte y0 et que l’on cherche
à calculer la solution de (9.1.2) avec le schéma d’Euler. On obtient une suite de valeurs
yn = (1 + λh)ny0 . Intéressons nous à la limite en +∞ des solutions approchées. On va
diminuer nos exigences et rester à un niveau qualitatif très grossier. Considérons les deux
cas suivants :
1. Si λ > 0, la suite des solutions approchées yn a le même comportement en temps long
que la solution exacte, à savoir
lim yn = lim y(t) = +∞.
n→+∞ t→+∞
En effet, n → +∞ à h fixé correspond à tn → +∞. On est donc satisfaits du point de vue
qualitatif.
2. Si λ < 0, alors cette fois limt→+∞ y(t) = 0. Pour h assez petit, à savoir pour h < − λ2 ,
on a | 1 + λh| < 1 et la suite yn tend vers 0 à h fixé, comme la solution exacte. Par contre, si
h > − λ2 , on a 1 + λh < −1 et la suite yn diverge au sens où |yn | → +∞ quand n → +∞ à h
fixé. Dans ce cas, la solution discrète ne reproduit pas du tout le comportement en temps
long de la solution exacte. 2
C’est à la deuxième situation que la stabilité absolue s’intéresse : la valeur λ < 0
étant donnée, comment choisir h pour que la suite des solutions approchées ait le même
comportement à l’infini que la solution exacte, c’est-à-dire que limn→+∞ yn = 0 ? Le cas λ < 0
correspond à des phénomènes physiques décroissants exponentiellement. Dans la suite de
ce chapitre, on considère le problème plus général où λ ∈ C et <(λ) < 0 qui correspond à
des phénomènes à décroissance exponentielle en module et oscillants si =(λ) , 0. Le cas le
plus difficile numériquement est celui où |<(λ)| est très grand, et par conséquent la solution
décroît initialement très vite. C’est ce que l’on appelle les problèmes raides, mais il faudrait
une section entière pour en parler.
Considérons maintenant un schéma à un pas (explicite ou pas) qu’on supposera donné
sous la forme (4.1.1). 3 Comme l’EDO est linéaire et autonome, on suppose que la fonction F
2. Notons que ceci n’a rien à voir avec la convergence de la méthode, qui se passe sur un intervalle de
temps [0,T ], T fixé, avec h → 0.
3. Dans le cas implicite, on donne simplement un nom à la fonction implicite définissant le schéma.
9.1. Stabilité absolue 129

Figure 9.1 – Illustration de la problématique de la stabilité absolue avec y0 = 1, λ = −4 et


diverses valeurs de h avec le schéma d’Euler explicite. Il n’y a pas de rapport avec la stabilité
au sens précédent.

est linéaire par rapport à y et indépendante de t . On a donc la relation

yn+1 = (1 + hFh )yn ,

où Fh est une constante dépendant de h et telle que F 0 = λ de façon à ce que le schéma soit
consistant. En considérant les schémas que nous avons introduits jusqu’à présent appliqués
dans ce cas particulier, on s’aperçoit que la relation précédente est en fait toujours de la
forme
yn+1 = G(λh)yn , (9.1.3)
ce qui implique que
yn = G(λh)ny0,
pour une certaine fonction G appelée fonction d’amplification ou fonction de gain du schéma.
Les propriétés de décroissance vers zéro à l’infini ou non de la solution discrète vont dépendre
de cette fonction. En effet, il est bien clair que yn → 0 quand n → +∞ si et seulement si
|G(λh)| < 1.
Remarquons que la solution exacte vérifie la relation analogue

y(tn+1 ) = e λhy(tn ),

ces propriétés vont également être liées à la proximité de G avec l’exponentielle.


130 9. Propriétés asymptotiques de schémas numériques

Avant d’aller plus loin, regardons quelques exemples simples de fonctions d’amplification.
Pour le schéma d’Euler explicite, on a yn+1 = (1 + λh)yn , d’où G(z) = 1 + z . Pour le schéma
d’Euler implicite, on a yn+1 = yn + λhyn+1 , qui se réécrit (1 − λh)yn+1 = yn , soit encore
yn+1 = 1−λh
1
yn pour h , λ1 , et donc G(z) = 1−z 1
. Pour le schéma d’Euler modifié, on a
yn+1 = yn + λh yn + h2 λyn , d’où G(z) = 1 + z + z2 . Enfin, pour le schéma de Crank-Nicolson,
 2

on obtient G(z) = 22+z


−z .

9.1.1 Domaine de stabilité


On a vu précédemment que zn → 0 si et seulement si |G(λh)| < 1. Ceci suggère la
définition suivante (on rappelle que λ est un nombre complexe) :

Définition 9.1.1 L’ensemble des z ∈ C tels |G(z)| < 1 est appelé domaine de stabilité (ou
domaine de stabilité absolue) du schéma (9.1.3).

Remarquons que le domaine de stabilité absolue est toujours un ouvert de C. Pour


assurer la stabilité (absolue) d’un schéma, il convient donc de déterminer l’ensemble des
valeurs h pour lesquelles λh appartient au domaine de stabilité du schéma. Il suffit pour cela
de tracer la droite passant par l’origine et λ et déterminer son intersection avec le domaine
de stabilité. On aura cependant parfois intérêt à prendre le pas h grand, pour avancer vite
en temps (mais comme le domaine de stabilité est ouvert, il n’y a pas de pas le plus grand
correspondant).
Pour le schéma d’Euler explicite, le domaine de stabilité est le disque du plan complexe
de centre (−1, 0) et de rayon 1 (voir Figure 9.2). 2,5

1,5

0,5

-4,5 -4 -3,5 -3 -2,5 -2 -1,5 -1 -0,5 0 0,5 1 1,5 2 2,5 3

-0,5

-1

-1,5
Figure 9.2 – Domaine de stabilité absolue du schéma d’Euler explicite.

-2

-2,5
9.1. Stabilité absolue 131

Soit λ ∈ C, à partie réelle <(λ) négative. Pour discrétiser l’équation (9.1.2) par un
schéma d’Euler explicite qui soit absolument stable, il faut choisir un pas de discrétisation h
de façon que λh soit dans le disque ouvert. Au vu de la Figure 9.2, on voit que plus <(λ) est
petit, plus il y a de restrictions sur le pas h . Pour le cas limite <(λ) = 0, on ne peut plus
trouver de pas h assurant une discrétisation absolument stable de (9.1.2). De même, on voit
que plus λ est grand en module, plus h doit être choisi petit.
On peut quantifier la dépendance de h par rapport à λ de la façon suivante. On posant
λ = ϱe iθ avec ϱ > 0 et cos θ < 0, la condition |G(λh)| < 1 équivaut manifestement à
ϱ 2h 2 + 2ϱh cos θ < 0. On en déduit que le schéma d’Euler explicite est stable si
cos θ
0 < h < −2 . (9.1.4)
ϱ
Quand θ tend vers ±π /2, h tend vers 0.
Pour le schéma d’Euler implicite, le domaine de stabilité est défini par | 1 − z| > 1, c’est
donc le plan complexe privé du disque de centre (1, 0) et de rayon 1. Le demi-plan <(z) < 0
est donc entièrement inclus dans le domaine de stabilité. On en déduit que le schéma d’Euler
implicite appliqué à (9.1.2), avec <(λ) < 0 est absolument stable, sans restriction sur le pas
de discrétisation h . Rappelons que le schéma explicite est lui stable, sous réserve que la
condition (9.1.4) soit vérifiée.

Figure 9.3 – Le même calcul qu’à la Figure 9.1 avec Euler implicite.

De même, le domaine de stabilité du schéma de Crank-Nicolson est défini par la condition


| 2 + z| < | 2 − z| , qui est vérifiée par tous les complexes de partie réelle strictement négative.
132 9. Propriétés asymptotiques de schémas numériques

On en déduit que le schéma de Crank-Nicolson est également absolument stable, sans


restriction sur le pas de discrétisation h .
Cette situation est assez générale : les schémas implicites sont (en général) plus stables
au sens de la stabilité absolue que les schémas explicites.
Enfin, le domaine de stabilité de la méthode d’Euler3modifiée est donné par la condition
1 + z + z2 < 1 que l’on trace à la Figure 9.4.
2

2,5

1,5

0,5

-4,5 -4 -3,5 -3 -2,5 -2 -1,5 -1 -0,5 0 0,5 1 1,5 2 2,5 3

-0,5

-1

-1,5

-2

Figure 9.4 – Domaine de stabilité absolue -2,5


du schéma d’Euler modifié.

-3

9.1.2 Stabilité absolue de quelques schémas numériques


Domaine de stabilité des schémas RK. Nous avons vu que pour le schéma RK1, c’est-à-
dire Euler explicite, on a G(z) = 1 + z . Pour le schéma RK2, c’est-à-dire le schéma de Heun,
on a G(z) = 1 + z + z2 comme pour Euler modifié (qui est aussi un schéma de Runge-Kutta
2

d’ordre 2). Cela est dû au fait que les deux schémas coïncident sur l’équation particulière
(9.1.2). ⁴ Pour le schéma de RK4, on a (le vérifier)

h (λh)2 (λh)3 (λh)4 i


yn+1 = 1 + λh + + + yn ,
2 6 24
9.1. Stabilité absolue 133

2,5

1,5

0,5

-5 -4,5 -4 -3,5 -3 -2,5 -2 -1,5 -1 -0,5 0 0,5 1 1,5 2 2,5 3 3,5

-0,5

-1

-1,5

-2

-2,5

-3

Figure 9.5 – Domaines de stabilité absolue des schémas RK2, RK3 et RK4. Seules les
intersections avec le demi-plan <(z) < 0 sont pertinentes.

on en déduit que G(z) = 1 + z + z2 + z6 + 24 z


2 3 4
. Les domaines de stabilité des schémas de
Runge-Kutta RK2, RK3 et RK4 sont tracés sur la Figure 9.5.
On observe que, quand l’ordre du schéma RK augmente, la fonction G approche de
mieux en mieux l’exponentielle. On a donc intérêt, pour obtenir le schéma le plus stable du
point de vue de la stabilité absolue à utiliser un schéma RK d’ordre le plus élevé possible.

Stabilité absolue des schémas à pas multiples Avant de traiter le cas général, regardons
d’abord le cas d’un schéma explicite, AB2 : on initialise séparément les deux premiers pas de
temps de la série perturbée, puis à chaque étape on rajoute une perturbation

z 0 = y0 + η 0
z 1 = y1 + η 1
 
3 1
zn+1 = zn + h f (tn , zn ) − f (tn−1, zn−1 ) + ηn+1, pour n = 1, . . . , N − 1.
2 2

4. Ils coïncident aussi avec le schéma de Taylor d’ordre 2 sur cette équation. Il n’y a rien de surprenant à ce
que des schémas différents donnent le même résultat sur une équation particulière.
134 9. Propriétés asymptotiques de schémas numériques

on a donc pour n = 1, . . . , N − 1
   
3 1
zn+1 − yn+1 = zn − yn + h f (tn , zn ) − f (tn , yn ) − f (tn−1, zn−1 ) − f (tn−1, yn−1 ) + ηn+1, d’où
2 2
3 1
||zn+1 − yn+1 || ≤ ||zn − yn || + h || f (tn , zn ) − f (tn , yn )|| + h || f (tn−1, zn−1 ) − f (tn−1, yn−1 || + ||ηn+1 ||
2 2
Pour majorer cette différence entre le schéma perturbé et le schéma de base, on fait
l’hypothèse que la fonction second membre est globalement L-lipschitzienne par rapport à y ,
uniformément par rapport à t , on a donc
3 1
||zn+1 − yn+1 || ≤ (1 + hL )||zn − yn || + hL ||zn−1 ) − yn−1 || + ||ηn+1 ||.
2 2
A cette étape, dans le cas des schémas à un pas, on utilise la formule de Gronwall discrète
pour conclure. Ici, pour en faire de même on va considérer la suite

θn = max ||ηk ||.


k=0,...,n

Pour n ≥ 1 on a ||zn − yn || ≤ θn et ||zn−1 ) − yn−1 || ≤ θn donc


3 1
||zn+1 − yn+1 || ≤ (1 + hL )θn + hL θn + ||ηn+1 || = (1 + 2hL)θn + ||ηn+1 ||
2 2
Par ailleurs θn ≤ (1 + 2hL)θn donc

θn+1 = max(||zn+1 − yn+1 ||, θn ) ≤ (1 + 2hL)θn + ||ηn+1 ||.


On conclut maintenant facilement que
n
2LT
Õ
θn ≤ e ||ηk ||.
k=0

La stabilité du schéma implicite de même ordre, Adams-Moulton AM2 qui est également le
schéma de Crank Nicolson, a été traitée dans la proposition 2.1.21. Pour les schémas d’Adams-
Moulton d’ordre quelconque, il faut en plus utiliser la technique ci-dessus, consistant à
étudier la suite θn plutôt que la suite ||ηk || .
Nous allons maintenant étendre la notion de stabilité absolue au cas des schémas à pas
multiples, par exemple les schémas d’Adams vus précédemment. Appliqués à l’équation
différentielle linéaire (9.1.2), ils s’écrivent sous la forme générale
p
Õ
yn+1 = yn + hλ bi yn−i ,
i=−1

où le coefficient b−1 en facteur de yn+1 au second membre est nul pour les schémas explicites
d’Adams-Bashforth et non nul pour les schémas implicites d’Adams-Moulton. Dans tous les
cas, on a une relation de récurrence linéaire à p + 1 termes à coefficients constants dont la
solution générale est de la forme
p+1
ck µkn ,
Õ
yn =
k=1
9.1. Stabilité absolue 135

où les µk ∈ C sont les racines de l’équation caractéristique


p
p+1 p
bi X p−i ,
Õ
0 = P(X ) = ρ(X ) − zσ (X ), avec ρ(X ) = X − X et σ (X ) = −
i=−1

avec z = hλ . ⁵ Ces racines sont bien sûr des fonctions un peu compliquées de z , µk = µk (z).
On arrive par conséquent à la définition suivante,
Définition 9.1.2 Le domaine de stabilité absolue d’un schéma à pas multiples est l’ensemble
des z ∈ C tels que toutes les racines de l’équation caractéristique sont de module strictement
inférieur à 1.
Par exemple, le schéma d’Adams-Bashforth d’ordre deux s’écrit pour l’EDO linéaire (9.1.2)
 
3 1
yn+1 = yn + hλ yn − yn−1 .
2 2
Son équation caractéristique est
 
3 1
P(X ) = X − X − z X −
2
2 2
= ρ(X ) − zσ (X ),
avec
3 1
ρ(X ) = X 2 − X et σ (X ) = X − .
2 2
ρ(X )
Soit la fraction rationnelle F (X ) = σ (X ) . Si µ(z) est une racine de l’équation caractéristique,
on a z = F (µ(z)). Par conséquent, s’il existe µ tel que |µ | ≥ 1 et F (µ) = z , c’est que z n’est
pas dans le domaine de stabilité du schéma. Celui-ci est donc le complémentaire dans C
de l’ensemble F (C \ D) où D désigne le disque unité ouvert ⁶. On a utilisé cette description
pour construire la figure 9.6. La frontière du domaine de stabilité est incluse dans la courbe
θ 7→ F (e iθ ). ⁷
Le schéma d’Adams-Moulton d’ordre deux coïncide avec le schéma de Crank-Nicolson,
comme on l’a vu plus haut. Pour l’EDO linéaire (9.1.2), il s’écrit

yn+1 = yn + yn+1 + yn ,

2
et son équation caractéristique est donc
z
P(X ) = X − 1 − (X + 1),
2
d’où
X −1
 
F (X ) = 2 .
X +1
5. On a supposé implicitement que ces racines sont simples, ce qui est le cas générique.
6. Attention, cela ne veut pas du tout dire que c’est l’image par F du disque D . En général, cette image est
nettement plus grande.
7. Elle lui est égale dans les premiers exemples considérés ici, mais pas toujours, voir plus loin.
136 9. Propriétés asymptotiques de schémas numériques

0,8

-1

Figure 9.6 – Domaine de stabilité absolue du schéma d’Adams-Bashforth d’ordre 2 en bleu.

Il est bien connu que cette fonction homographique transforme l’extérieur du disque unité
en le demi-plan des parties réelles positives (et si ce n’est pas bien connu, ce n’est pas
bien difficile à vérifier). Le domaine de stabilité absolu du schéma est donc la totalité du
demi-plan des parties réelles négatives, on l’avait déjà vu en le considérant comme un
schéma à un pas. Ici aussi, à ordre égal, le domaine de stabilité absolue de la méthode
implicite est plus grand que celui de la méthode explicite.
Pour les schémas d’Adams-Bashforth et d’Adams-Moulton d’ordre 3, on obtient suivant
le même principe les fractions rationnelles suivantes :
12(X 3 − X 2 )
(AB3) F (X ) = ,
23X 2 − 16X + 5
12(X 2 − X )
(AM3) F (X ) = .
5X 2 + 8X − 1
Les domaines de stabilité correspondants sont représentés dans les figures 9.7 et 9.8. C’est
moins spectaculaire que pour l’ordre 2, mais ici encore, à ordre égal, le domaine de stabilité
absolue de la méthode implicite est (beaucoup) plus grand que celui de la méthode explicite.

On a mentionné plus haut que la frontière du domaine de stabilité absolue n’est pas
toujours la courbe image du cercle unité par la fraction rationnelle associée au schéma
(contrairement à ce que l’on peut voir dans nombre de dessins faits dans la littérature). En
voici un exemple avec le schéma AB4 pour lequel on a
24(X 4 − X 3 )
F (X ) = .
55X 3 − 59X 2 + 37X − 9
9.2. Schémas numériques pour les systèmes hamiltoniens 137

0,75

-0,6

Figure 9.7 – Domaine de stabilité absolue du schéma d’Adams-Bashforth d’ordre 3 (seul le


côté à partie réelle négative compte).

On a dessiné dans la figure 9.9, l’image de l’extérieur du disque unité en bleu (donc
convention inverse des dessins précédents, ici le domaine de stabilité apparaît en blanc, ou
plutôt, le domaine de stabilité est l’intersection de la partie blanche et du demi-plan à partie
réelle négative) et la courbe image du cercle unité. Celle-ci n’est pas une courbe simple, elle
comporte deux points doubles. En plus de ne pas être dans le demi-plan voulu, les deux
boucles ainsi formées ne font pas partie du bord de l’image de l’extérieur du disque.

9.2 Schémas numériques pour les systèmes hamiltoniens


Dans cette section on va étudier une classe de schémas numériques particulièrement
adaptés à la discrétisation de systèmes hamiltoniens. Un exemple simple de tels systèmes est
le pendule déjà rencontré plusieurs fois auparavant. On a vu que les schémas numériques
classiques ne permettaient pas de respecter les propriétés conservatives de ce système
d’équations. Dans les applications astronomiques, comme le problème des N corps présenté
dans l’exemple ?? ces propriétés sont cruciales, en particulier quand l’étude se fait sur
un temps long. Laskar et al étudient par exemple le système solaire sur une très longue
période, de −250 millions d’années à +250 millions d’années, pour calibrer les données
paléoclimatologiques en fonction des variations de l’insolation de la Terre, [8]. Il s’agit ici
de simulations avec un pas de temps de l’ordre de 1,8 jour poursuivies sur 500 millions
d’années, où l’on calcule les mouvements combinés des huit planètes, plus la Lune et Pluton
138 9. Propriétés asymptotiques de schémas numériques

-6

Figure 9.8 – Domaine de stabilité absolue du schéma d’Adams-Moulton d’ordre 3

autour du Soleil.
Considérons un problème de Cauchy admettant une unique solution locale définie sur
un intervalle Iy0 , où y0 désigne la donnée initiale. On considère un réel T > 0 et un ouvert
U ⊂ Rm tels que pour tout y0 ∈ U , [0,T ] ⊂ Iy0 (il en existe). Pour tout t ∈ [0,T ], on
définit alors le flot φt : U → Rm , qui à y0 ∈ U associe φt (y0 ) = y(t), où y est la solution du
problème de Cauchy pour la donnée initiale y0 . Le flot à l’instant t transporte donc toutes
les conditions initiales appartenant à U en leur position à l’instant t en suivant l’EDO, le
mot flot étant de ce point de vue particulièrement bien choisi. On montre qu’il s’agit d’un
difféomorphisme de classe C 1 de U sur son image.
Introduisons quelques notions d’algèbre essentielles pour les systèmes différentiels
hamiltoniens. Dans le cas d’un système hamiltonien, la dimension m est paire, soit m = 2d
avec d ∈ N∗ . Soit la matrice par blocs ⁸

Id
 
0d
J= ,
−Id 0d

où Id désigne la matrice identité d ×d et 0d la matrice nulle d ×d . On remarque que J 2 = −I 2d


et donc que J −1 = −J = J T .

Définition 9.2.1 Une matrice A ∈ M 2d (R) est dite symplectique si elle vérifie la relation

AT JA = J .
8. On l’a déjà rencontrée sous forme d’opérateur page 192.
9.2. Schémas numériques pour les systèmes hamiltoniens 139

Figure 9.9 – Domaine de stabilité absolue du schéma d’Adams-Bashforth d’ordre 4.

Proposition 9.2.2 Une matrice A écrite sous la forme de quatre blocs d × d

A11 A12
 
A= ,
A21 A22
est symplectique si et seulement si
 AT A = AT21A11
 T11 21


A12A22 = AT22A12

(9.2.1)
AT A − AT A = I


 11 22 21 12 d

En particulier, pour 2d = 2, elle est symplectique si et seulement si det A = 1.

Démonstration. On effectue le produit matriciel par blocs, il vient


 T
A11A21 − AT21A11 AT11A22 − AT21A12

T
A JA = T .
A12A21 − AT22A11 AT12A22 − AT22A12
La nullité des deux blocs diagonaux donne les deux premières relations et l’on conclut en
remarquant que chaque bloc hors diagonal est l’opposé de la transposée de l’autre.
140 9. Propriétés asymptotiques de schémas numériques

Dans le cas d = 1, les matrices Aij sont des scalaires et les deux premières relations de
(9.2.1) sont évidemment satisfaites. La troisième n’est autre dans ce cas que det A = 1. ♦

Remarquons que les deux premières relations de (9.2.1) sont équivalentes à dire que les
matrices AT11A21 et AT12A22 doivent être symétriques.

Définition 9.2.3 Soit U un ouvert de R2d et f : U → R2d de classe C 1 . L’application f est


dite symplectique si sa matrice jacobienne est symplectique en tout point de U .

Proposition 9.2.4 Soient f : U → R2d et д : f (U ) → R2d deux applications symplectiques.


L’application д ◦ f est symplectique.

Démonstration. En effet, par différentiation des fonctions composées, il suffit de vérifier que
le produit de deux matrices symplectiques A et B est symplectique. Or on a

(AB)T JAB = BT (AT JA)B = BT J B = J,

trivialement. ♦

Remarque 9.2.1 Remarquons que le déterminant d’une matrice symplectique n’est pas nul.
En effet, det J = 1, donc (det A)2 = 1. ⁹ Il s’ensuit qu’une matrice symplectique est inversible
et que son inverse est symplectique. L’ensemble des matrices symplectiques forme donc
un groupe pour la multiplication appelé groupe symplectique, Sp(2d, R). Cette remarque
sur le déterminant implique d’ailleurs le théorème de Liouville, qui dit qu’une application
symplectique conserve le volume dans R2d .

On considère ici des systèmes hamiltoniens dans R2d , c’est-à-dire que la fonction inconnue
s’écrit y(t) = (q(t), p(t))T où q et p sont à valeurs dans Rd . On suppose pour simplifier que
les hamiltoniens considérés sont de la forme

H (q, p) = T (p) + V (q),

où T et V sont de classe C 2 de Rd dans R. On dit dans ce cas que le hamiltonien est séparable.
Le système hamiltonien
y(t)
Û = J ∇H (y(t)),


y(0) = y0,
s’écrit donc
q(t) T
   
Û ∇p (p(t))
= ,


 p(t)
Û −∇qV (q(t))



(9.2.2)
q( q0
   
0) 2d
 p(0) = p ∈ R ,



 0

où ∇q et ∇p désignent respectivement les gradients par rapport à q et p , c’est-à-dire les


vecteurs des dérivées partielles par rapport à qi d’une part et pi de l’autre.
9. En fait, on montre qu’une matrice symplectique est telle que det A = 1, c’est-à-dire que Sp(2d, R) ⊂
SL(2d, R), avec égalité si d = 1 et inclusion stricte sinon.
9.2. Schémas numériques pour les systèmes hamiltoniens 141

On rappelle l’exemple canonique des oscillations planes du pendule : les petites oscil-
p2 q2
lations sont décrites par le hamiltonien H (q, p) = 2 + 2 et les grands oscillations par le
p2
hamiltonien H (q, p) = 2 + 1 − cos(q) (ici q est la variable d’angle, p la vitesse angulaire, la
constante k étant mise égale à 1).
On note φt le flot associé à (9.2.2). On suppose que φt (y0 ) est bien défini pour tout temps
t et tout y0 ∈ R2d , où y0 = (qT0 pT0 )T . Le lien entre systèmes hamiltoniens et tout ce qui est
symplectique est le suivant.

Proposition 9.2.5 Le flot d’un système hamiltonien est symplectique.

Démonstration. Soit φt le flot d’une EDO y(t)


Û = f (y(t)). On montre que la matrice jacobienne
du flot, ∇φt , est solution de l’EDO linéaire à coefficients variables à valeurs matricielles dans
Mm (R)
d
∇φt = ∇f (y(t))∇φt ,

dt
avec la condition initiale ∇φ 0 = I (en effet, par définition, φ 0 = id ). 1⁰
On cherche à montrer que ∇φTt J ∇φt = J pour tout t . C’est trivialement vrai pour t = 0.
Dérivons le membre de gauche par rapport au temps. Il vient

d d T d
∇φTt J ∇φt = ∇φt J ∇φt + ∇φTt J
 
∇φt
dt dt dt
T
= ∇f (y(t))∇φt J ∇φt + ∇φTt J ∇f (y(t))∇φt


= ∇φTt ∇f (y(t))T J + J ∇f (y(t)) ∇φt




Nous avons dans le cas hamiltonien, ∇f = ∇(J ∇H ) = J ∇2H , où ∇2H est symétrique,
puisqu’il s’agit de la hessienne de H . Par conséquent, ∇f T J = ∇2H J T J = ∇2H et J ∇f =
J 2 ∇2H = −∇2H . On voit donc que dtd ∇φTt J ∇φt = 0, d’où


∇φTt J ∇φt = ∇φT0 J ∇φ 0 = J

pour tout t . ♦

Par le théorème de Liouville, on en déduit qu’un flot hamiltonien conserve le volume


dans R2d . Du point de vue numérique, il est important donc de préserver également ce
volume, c’est-à-dire de définir des schémas numériques symplectiques. Dans cette optique,
on propose les deux schémas numériques suivants :
Le schéma d’Euler symplectique défini par

qn+1 = qn + h∇p T (pn ),



(9.2.3)
pn+1 = pn − h∇qV (qn+1 ),

que l’on note


qn+1 q
   
= Φh n ,
pn+1 pn
10. Voir une démonstration en annexe à titre culturel.
142 9. Propriétés asymptotiques de schémas numériques

avec
q q + h∇p T (p)
   
Φh = . (9.2.4)
p p − h∇qV (q + h∇p T (p))

Le schéma de Störmer-Verlet ¹¹ défini par


h
p 1 = pn − ∇qV (qn ),


n+



 2 2
qn+1 = qn + h∇p T (pn+ 1 ),


2
(9.2.5)
h



 pn+1 = pn+ 1 − ∇qV (qn+1 ),


 2 2
soit
qn+1 q
   
= Ψh n ,
pn+1 pn
avec
h
q q + h∇ T p V
    
p − ∇q (q)
Ψh = 2  . (9.2.6)
p p − h2 ∇qV (q) + ∇qV q + h∇p T p − h2 ∇qV (q)


Ces deux schémas sont explicites et à un pas. Il est à peu près évident qu’ils sont stables
et consistants, donc convergents. Pour étudier leurs propriétés, on se place pour simplifier
dans le cas d = 1. On écrira dans ce cas ∇qV (q) = V 0(q) et ∇p T (p) = T 0(p), puisque V et T
sont alors des fonctions d’une seule variable.

Proposition 9.2.6 Les applications Φh et Ψh sont symplectiques.

Démonstration. On part de (9.2.4) pour calculer la matrice jacobienne de Φh ,

hT 00(p)
 
1
∇Φh = .
−hV 00(q + hT 0(p)) 1 − h 2V 00(q + hT 0(p))T 00(p)

Or on a vu à la proposition 9.2.2 que dans le cas d = 1, une matrice est symplectique si


et seulement si son déterminant vaut 1, ce qui est bien évidemment le cas de la matrice
ci-dessus.
Pour montrer que Ψh est symplectique, au lieu de partir brutalement de la formule
(9.2.6), qui est un peu longue, on la décompose sous la forme Ψh = Ψh1 ◦ Ψh0 avec

q q + h2T 0 p − h2 V 0(q)
   
Ψh0
=
p p − h2 V 0(q)
et
Ψh1 = Φ h .
2

Tout d’abord, Ψh1 est symplectique d’après ce qui précède en changeant h en h2 . On vérifie
que Ψh0 est symplectique de la même manière que pour Φh . On utilise enfin la proposition
9.2.4 pour conclure. ♦

Corollaire 9.2.7 Pour les deux schémas, l’application (q 0, p0 ) 7→ (qn , pn ) est symplectique pour
tout n .
11. Fredrik Carl Mülertz Størmer, 1874–1957 ; Loup Verlet, 1931–.
9.2. Schémas numériques pour les systèmes hamiltoniens 143

Démonstration. En effet, (qn , pn ) = Φhn (q 0, p0 ) pour le schéma d’Euler symplectique et l’on


conclut par la proposition 9.2.4, idem pour le schéma de Störmer-Verlet. ♦

On en déduit que les schémas d’Euler symplectique et de Störmer-Verlet conservent


exactement les volumes, comme le système hamiltonien lui-même, au cours des itérations,
modulo les erreurs d’arrondi qui peuvent finir par s’accumuler. 12 Les applications Φhn et Ψhn
sont les flots numériques des deux schémas, voir Figures 9.10 et 9.11.
On l’a déjà vu numériquement, mais remarquons quand même que le schéma d’Euler
classique n’est pas symplectique. Il correspond en effet à l’application
q q + hT 0(p)
   
Θh = ,
p p − hV 0(q)
pour laquelle on a
hT 00(p)
 
1
∇Θh = ,
−hV 00(q) 1
si bien que
det ∇Θh = 1 + h 2T 00(p)V 00(q) , 1
dès que ni T ni V ne sont affines. En fait, si T et V sont strictement convexes, comme c’est
le cas pour les petites oscillations du pendule, on a det ∇Θh > 1 ce qui correspond à une
augmentation stricte des volumes au cours des itérations.
Pour ce qui concerne la conservation de l’hamiltonien, on a vu sur des exemples
numériques que celui-ci ne l’est pas de façon exacte, mais est conservé “ en moyenne ” par
les schémas symplectiques. On peut montrer que cela est dû à l’existence d’un hamiltonien
approché qui est lui conservé par les schémas numériques.
On va maintenant étudier l’ordre des deux schémas symplectiques.
Proposition 9.2.8 Le schéma d’Euler symplectique est d’ordre 1 et le schéma de Störmer-Verlet
est d’ordre 2.
Démonstration. Pour le schéma d’Euler symplectique, on a l’erreur de consistance
q(tn+1 ) − q(tn ) − hT 0(p(tn ))
 
εh =
p(tn+1 ) − p(tn ) + hV 0 q(tn ) + hT 0(p(tn )


O(h)
 
=h = O(h 2 ),
−V 0(q(tn )) + V 0 q(tn ) + hT 0(p(tn ) + O(h)


et le schéma est d’ordre 1.


Pour le schéma de Störmer-Verlet, on sépare les deux composantes de l’erreur de
consistance, et l’on commence par la première, plus facile à traiter. En effet, on a
 h  h2
q(tn+1 ) − q(tn ) − hT 0 p(tn ) − V 0(q(tn )) = hq(t
Û n ) + q(t
Ü n ) + O(h 3 )
2 2
h2
− hT 0(p(tn )) + T 00(p(tn ))V 0(q(tn )) + O(h 3 )
2
= O(h ),
3

12. Dans l’exemple du calcul astronomique cité plus haut, il y a 200 itérations par an, soit 5 1010 itérations
vers le passé et 5 1010 itérations vers le futur.
144 9. Propriétés asymptotiques de schémas numériques

Figure 9.10 – Le flot approché des grandes oscillations du pendule. On a tracé les images
par les flots numériques des schémas d’Euler, d’Euler symplectique et de Störmer-Verlet avec
un pas de temps h = 0.1, du disque centré en (0, 1.9) et de rayon 0.12, aux temps t = 1, 2,
3, 4 et 5. On a également tracé en pointillés les trajectoires numériques issues des points
(0, 1.9 ± 0.12). On constate une différence rapidement croissante du schéma d’Euler par
rapport aux deux schémas symplectiques. Ne pas hésiter à zoomer fortement sur la figure
pour y voir plus clair.

puisque q(t
Û n ) = T 0(p(tn )) et q(t
Ü n ) = T 00(p(tn ))p(t
Û n ) = −T 00(p(tn ))V 0(q(tn )).
Pour la deuxième composante de l’erreur de consistance, on commence par remarquer
que, posant p̃n+ 1 = p(tn ) − h2 V 0(q(tn )), on a
2

T 0 p̃n+ 1 = T 0(p(tn )) + O(h).



2

On obtient donc
h h2
p(tn+1 ) − p̃n+ 1 + V 0 q(tn ) + hT 0 p̃n+ 1 = hp(t
Û n ) + p(t
Ü n ) + O(h 3 )

2 2 2 2
h2
+ hV 0(q(tn )) + V 00(q(tn ))T 0(p(tn )) + O(h 3 )
2
= O(h 3 ),
puisque p(t
Û n ) = −V 0(q(tn )) et p(t
Ü n ) = −V 00(q(tn ))q(t
Û n ) = −V 00(q(tn ))T 0(p(tn )).
Le schéma de Störmer-Verlet est par conséquent d’ordre 2. ♦

On a déjà vu les performances du schéma Euler symplectique sur l’exemple du pendule,


dans les Figures 4.4, 4.5 et 4.6.
9.2. Schémas numériques pour les systèmes hamiltoniens 145

Figure 9.11 – Le même calcul avec le disque centré en (0, 1.5) et de rayon 0.3 moins
quelques traits. On voit assez clairement l’augmentation du volume causée par le schéma
d’Euler.

Annexe : différentielle du flot


On établit ici la formule donnant la différentielle du flot. 13 On suppose la fonction second
membre f de classe C 1 . Procédant par condition nécessaire, il est facile de se convaincre que
si le flot est différentiable, alors sa différentielle est nécessairement solution du problème de
Cauchy
d
∇φt = ∇f (φt )∇φt , ∇φ 0 = I .

dt
Condition suffisante : on prend donc la solution du problème de Cauchy linéaire à valeurs
matricielles
 dA (t) = ∇f (φt (y0 ))A(t),



dt
A(0) = I .


La fonction t 7→ A(t) existe et est unique sans problème. On va vérifier qu’elle nous donne
bien la différentielle recherchée. Pour cela, on considère

zh (t) = φt (y0 + h) − φt (y0 ) − A(t)h,


13. En confondant allègrement différentielle et matrice jacobienne, ce qui est mal dans l’absolu, mais on ne
va pas être aussi pointilleux quand cela n’en vaut pas vraiment la peine.
146 9. Propriétés asymptotiques de schémas numériques

et l’on va montrer que cette quantité tend vers 0 plus vite que khk quand khk → 0.
Rappelons tout d’abord quelques points concernant les EDO linéaires à coefficients
variables, cf. paragraphe C.2.3. Si y 0(t) = B(t)y(t) et kB(t)k ≤ C , ∫alors ky(t)k ≤ eCT ky0 k .
t
Par ailleurs, si y 0(t) = B(t)y(t) + b(t), alors on a y(t) = W (t) y0 + 0 W (s)−1b(s) ds , où W

désigne la matrice wronskienne, solution de W 0(t) = B(t)W (t), W (0) = I . On en déduit que
kW (t)k ≤ eCT et aussi que kW (t)−1 k ≤ eCT en inversant le sens du temps.
Écrivons l’EDO satisfaite par la fonction zh . On a

zh0 (t) = f (φt (y0 + h)) − f (φt (y0 )) − ∇f (φt (y0 ))A(t)h
∫ 1
= ∇f sφt (y0 + h) + (1 − s)φt (y0 ) (zh (t) + A(t)h) ds − ∇f (φt (y0 ))A(t)h

0
= Bh (t)zh (t) + bh (t),

avec ∫ 1
Bh (t) = ∇f sφt (y0 + h) + (1 − s)φt (y0 ) ds

0
et ∫ 
1
bh (t) = ∇f sφt (y0 + h) + (1 − s)φt (y0 ) − ∇f (φt (y0 )) ds A(t)h.
 
0
kbh (t)k
On voit donc que kBh (t)k ≤ C pour h dans la boule unité par exemple et khk → 0 quand
kzh (t)k
khk → 0 uniformément par rapport à t . Comme par ailleurs zh (0) = 0, il vient khk →0
quand khk → 0, d’où le résultat. ♦
Annexe A

Rappels de topologie

A.1 Espaces métriques


On connaît les espaces Rn munis de leurs diverses normes usuelles, toutes équivalentes
entre elles. Il s’agit de cas particuliers d’une notion topologique bien plus générale, celle
des espaces métriques. Ce n’est pas la notion la plus générale en topologie, mais elle nous
suffira ici.

Définition A.1.1 Soit E un ensemble et d : E × E → R+ une application telle que


i) ∀(x, y) ∈ E 2, d(x, y) = d(y, x),
ii) d(x, y) = 0 si et seulement si x = y ,
iii) ∀(x, y, z) ∈ E 3, d(x, y) ≤ d(x, z) + d(z, y),
est appelée une distance sur E . Le couple (E, d) est appelé un espace métrique.

Les trois propriétés i), ii) et iii), en particulier la troisième appelée l’inégalité triangulaire,
sont des abstractions des propriétés de la distance physique de notre expérience de tous
les jours, qui est la distance euclidienne dans R3 . L’inégalité triangulaire est simplement
l’expression du fait qu’il est plus court d’aller directement de x à y que d’y aller en passant
par z .
Quelques exemples :
1. La distance dite usuelle sur R, celle que l’on utilise sans y penser spécialement, est
simplement définie par d(x, y) = |x − y| .
2. Sur Rn , n ≥ 1, on connaît plusieurs normes : kx k1 = ni=1 |xi | , kx k2 = n
Í Í  1/2
2
i=1 |xi | ,
kx k∞ = max1≤i≤n |xi | (parmi tant d’autres). Chacune de ces normes donne naissance
à une distance différente : d 1 (x, y) = kx − y k1 , d 2 (x, y) = kx − y k2 qui est la
distance euclidienne, d ∞ (x, y) = kx − yk∞ , lesquelles donnent autant de structures
d’espace métrique différentes sur Rn : (Rn , d 1 ), (Rn , d 2 ), (Rn , d ∞ ). Ces distances sont
équivalentes entre elles, c’est-à-dire qu’il existe des constantes 0 < αij ≤ βij telles que
pour tous x et y dans Rn , αij di (x, y) ≤ d j (x, y) ≤ βij di (x, y) avec i et j quelconques
dans {1, 2, +∞}. Ceci provient de l’équivalence correspondante des normes (qui se
lit ci-dessus avec y = 0). Toutes les notions topologiques qui suivront (continuité,
suites convergentes, etc.) seront en conséquence identiques. Toutes les normes sur
un même espace vectoriel sur R de dimension finie sont équivalentes.
148 A. Rappels de topologie

3. Plus généralement, tout espace vectoriel normé (E, k · kE ) est automatiquement doté
d’une structure d’espace métrique compatible avec sa norme en posant d(x, y) =
kx −y kE . C’est une distance qui est invariante par translation : d(x +z, y +z) = d(x, y).
Ainsi, l’espace C 0 ([0, 1]) des fonctions continues de l’intervalle [0, 1] à valeurs dans
R muni de la norme naturelle pour cet espace, kдkC 0 = maxt ∈[0,1] |д(t)| , est un
espace métrique pour la distance d(f , д) = maxt ∈[0,1] | f (t) − д(t)| . Il s’agit d’un
espace vectoriel de dimension infinie. Il y a d’autres normes qui peuvent être
utiles sur cet espace et qui ne sont pas équivalentes à la norme naturelle, comme
kдkL1 = 0 |д(t)| dt . La situation est donc plus compliquée qu’en dimension finie.
∫1

4. Si д : R → R est injective, alors d(x, y) = |д(x) − д(y)| est une distance sur R. Si
д(x) = x pour tout x , c’est la distance usuelle, sinon c’en est une autre. Si д n’est pas
affine, cette distance ne provient pas d’une norme.
5. Si E est n’importe quel ensemble, d(x, y) = 0 si x = y , d(x, y) = 1 sinon, définit une
distance sur E appelée distance discrète. En d’autres termes, n’importe quel ensemble
peut être doté de cette structure d’espace métrique discret, mais cette structure n’est
pas nécessairement très intéressante, sauf cas particulier.
6. Si (E, d) est un espace métrique, alors toute partie X de E peut être munie de la
restriction de la distance à X × X et devenir ainsi automatiquement un autre espace
métrique. On dit que c’est la distance induite par celle de E ou que (X, d) est un
sous-espace métrique 1 de (E, d).
Attention au fait qu’un espace métrique est bien un couple (ensemble, distance sur cet
ensemble). Un même ensemble muni de distances différentes correspond à plusieurs espaces
métriques différents, cf. l’exemple de Rn avec différentes distances plus haut.
Dans un espace métrique (E, d), on peut définir des notions topologiques comme les
ouverts — ce sont les réunions quelconques de boules ouvertes B(x, r ) = {y ∈ E ; d(y, x) < r },
les fermés — ce sont les complémentaires des ouverts, les applications continues, etc. Des
distances différentes peuvent parfaitement engendrer les mêmes ouverts. C’est le cas dans
Rn muni de ses distances usuelles. On dit alors qu’elles engendrent la même topologie. Mais
le contraire peut parfaitement se produire également, comme dans l’exemple 3 plus haut où
les deux distances engendrent des topologies différentes.
Voyons de plus près cette notion d’application continue д d’un espace métrique (E, d) à
valeurs dans un autre espace métrique (F, δ ). Soit a ∈ E , on dit que д est continue en a si

∀ε > 0, ∃η > 0; ∀x ∈ E, d(x, a) ≤ η ⇒ δ (д(x), д(a)) ≤ ε.

En d’autres termes, on peut être assuré que д(x) est proche de д(a) au sens de la distance δ
si l’on prend x suffisamment proche de a au sens de la distance d . C’est très intuitif. Dans le
cas où E = F = R et d = δ est la distance usuelle, on retrouve exacte la continuité d’une
fonction telle que définie en L1.
Bien sûr, on dit que д est continue sur E si д est continue en tout point a de E . C’est
équivalent à la propriété que l’image réciproque par д de tout ouvert de F est un ouvert de
E . La continuité est donc en fait une notion topologique, et pas seulement métrique. 2 En
1. On ne distingue pas dans la notation d et sa restriction à X × X .
2. Il en va de même pour la continuité en un point a ∈ E qui s’exprime en termes purement topologiques,
sans métrique, en disant que pour tout ouvert V de F contenant д(a), il existe un ouvert de E contenant a dont
l’image est incluse dans V . L’interprétation intuitive est exactement la même.
A.1. Espaces métriques 149

particulier sur Rn muni de ses distances usuelles, la continuité ou non d’une application à
valeurs dans Rm muni aussi de ses distances usuelles, ne dépend pas du choix particulier de
distance retenu. En conséquence, on prend la distance la plus pratique pour ce que l’on a à
faire sur l’instant. Tout ce qui précède s’applique sans modification quand X est une partie
de E munie de la distance induite et д : X → F .
Dans un espace métrique, on peut également définir la convergence des suites comme on
le fait dans R muni de sa distance usuelle : une suite xn de E , c’est-à-dire une application de
N dans E , converge vers un élément x ∈ E si

∀ε > 0, ∃n 0 ∈ N, ∀n ≥ n 0, d(xn , x) ≤ ε.

On appelle bien sûr x la limite de la suite xn au sens de l’espace métrique (E, d). On note
dans ce cas xn → x dans E quand n → +∞, ou bien x = limn→+∞ xn au sens de E , ou
x = limn→+∞ xn sans rien préciser quand la distance est sous-entendue. 3 Le contenu intuitif
est très clair aussi : les valeurs prises par la suite un se rapprochent autant qu’on le souhaite
de la limite x au sens de la distance d à condition que l’on prenne n assez grand. ⁴
Cette limite est unique si elle existe. En effet, si l’on prend deux limites x et x̄ de la
même suite, on obtient par l’inégalité triangulaire que pour tout ε > 0, d(x, x̄) ≤ 2ε , ce qui
implique d(x, x̄) = 0, ce qui implique x = x̄ . ⁵ Dans le cas de l’espace C 0 ([0, 1]) muni de
la distance indiquée un peu plus haut, on reconnaît dans la convergence au sens de cette
distance simplement la convergence uniforme d’une suite de fonctions continues sur [0, 1],
vers une fonction continue sur [0, 1]. ⁶
Il n’est pas très difficile de voir qu’une application д : E → F est continue en a ∈ E si et
seulement si, pour toute suite xn ∈ E qui tend vers a dans E au sens de la distance d, on a
que д(xn ) tend vers f (a) dans F au sens de la distance δ , c’est-à-dire que δ д(xn ), д(a) → 0
pour toute suite xn telle que d(xn , a) → 0, ce qui ramène à des convergences dans R+ .
Attention, a priori une suite dans un même ensemble peut très bien converger pour une
distance et pas pour une autre. Encore pire, elle peut très bien converger vers une limite
pour une distance et vers une autre limite différente pour une autre distance ! Tout cela est
fondamentalement distance-dépendant.
Dans la pratique bien sûr, quand on a un problème spécifique à résoudre, il y a
essentiellement toujours un choix de distance naturel qui s’impose. On ne s’amuse pas à
fabriquer exprès des contre-exemples rien que pour le plaisir, mais il faut savoir que de tels
contre-exemples existent.
Dans un espace métrique (E, d), on dispose également de la notion de suite de Cauchy, ⁷
3. Attention quand même, il est loin d’être rare que l’on ait besoin d’avoir plusieurs distances non
équivalentes sous la main en même temps sur un même ensemble.
4. La convergence d’une suite est également une notion qui est de nature purement topologique et s’exprime
aussi uniquement en termes d’ouverts. Elle n’a pas besoin de distance, mais on se limite ici aux espaces
métriques.
5. Plus généralement, un espace métrique est un espace séparé.
6. Notons que si l’on oublie le côté espace vectoriel normé, on sait quand même depuis longtemps que
si une suite de fonctions continues converge uniformément vers une fonction, celle-ci est nécessairement
continue. On peut remettre ce résultat élémentaire dans le cadre des espaces métriques en considérant l’espace
(beaucoup) plus grand B([0, 1]) des fonctions bornées sur [0, 1], muni de la même distance avec le max
remplacé par un sup. Il dit alors que C 0 ([0, 1]) est un sous-espace vectoriel fermé de B([0, 1]).
7. Là, attention, ce n’est plus une notion exprimable en termes d’ouverts. Elle n’est pas topologique. La
distance est bien utile. La raison en est simple : il est facile de construire deux distances sur un même ensemble
qui engendrent les mêmes ouverts, mais qui n’ont pas les mêmes suites de Cauchy.
150 A. Rappels de topologie

exactement comme dans R muni de sa distance usuelle :

∀ε > 0, ∃n 0 ∈ N, ∀n, m ≥ n 0, d(xn , xm ) ≤ ε.

Évidemment, toute suite convergente est de Cauchy, mais la convergence ou non des
suites de Cauchy est une propriété qu’un espace métrique possède ou ne possède pas.

Définition A.1.2 On dit qu’un espace métrique (E, d) est complet si toute suite de Cauchy y est
convergente. ⁸

Les espaces Rn munis de leurs distances usuelles sont complets. Par contre, Q√muni de
la distance usuelle n’est pas complet, la suite des√approximations de Héron de 2 étant
de Cauchy et non convergente (dans Q, puisque 2 < Q). L’espace C 0 ([0, 1]) muni de la
distance de la convergence uniforme est complet. Par contre, il n’est pas complet si on le
munit de la distance d(f , д) = 0 | f (t) − д(t)| dt associée à la norme L1 de l’exemple 3. Plus
∫1

généralement, tout espace vectoriel normé qui est complet pour la distance associée à sa
norme est appelé un espace de Banach.

A.2 Normes d’application linéaire et norme subordonnée


Dans cette section, on considère des normes sur Mn (R). Comme toutes les normes sont
équivalentes en dimension finie, on pourrait prendre, par exemple |||A||| = maxi,j |aij | . Pour
ce cours, il est plus agréable pour travailler d’en choisir une qui soit adaptée à la norme que
l’on a déjà adoptée sur Rn . Pour cela, on utilise la notion de norme matricielle subordonnée.
Cette notion vaut pour n’importe quelle norme sur Rn . On va voir qu’il s’agit en fait du
pendant matriciel de la norme d’application linéaire.

Définition A.2.1 Soit k · k une norme quelconque sur Rn . L’application A 7→ |||A||| =


sup kx k≤1 kAx k est une norme sur Mn (R) appelée norme matricielle subordonnée à la norme
sur Rn .

Proposition A.2.2 Pour tout x ∈ Rn , on a

kAx k ≤ |||A||| kx k.

De plus, pour tous A, B ∈ Mn (R), on a

|||AB||| ≤ |||A||| |||B|||.

Enfin, dans le cas de la norme kx k = maxi |xi | , on a


n
Õ
|||A||| = max |aij |.
1 ≤i≤n
j=1
8. Naturellement, la complétude n’est pas non plus une notion topologique. Il faut quelque chose en plus
que juste les ouverts, une distance pour ce qui nous concerne et sans aller trop loin.
A.3. L’ensemble des matrices inversibles est ouvert 151

Démonstration. Pour tout λ ∈ R, |||λA||| = sup kx k≤1 kλAx k = |λ| sup kx k≤1 kAx k = |λ| |||A||| ,
d’où la positivité homogène. De même, |||A + B||| = sup kx k≤1 k(A + B)x k = sup kx k≤1 kAx +
Bx k ≤ sup kx k≤1 (kAx k + kBx k) ≤ sup kx k≤1 kAx k + sup kx k≤1 kBx k = |||A||| + |||B||| , d’où
l’inégalité triangulaire. Enfin, si sup kx k≤1 kAx k = 0, c’est bien clairement que A = 0. On a
affaire à une norme sur l’espace Mn (R).
Pour tout x ∈ Rn , il existe u ∈ Rn , ku k = 1, tel que x = kx ku . En effet, si x = 0,
n’importe quel u fait l’affaire et si x , 0, on prend u = kxx k . Donc

kAx k = kx k kAu k ≤ |||A||| kx k.

Ensuite, pour tout kx k ≤ 1, on a

k(AB)x k = kA(Bx)k ≤ |||A||| kBx k ≤ |||A||| |||B|||,

d’où la deuxième inégalité en passant au sup à gauche.


Enfin dans le cas kx k = maxi |xi | ≤ 1, on voit que
n
Õ n
Õ n
Õ
kAx k = max aij x j ≤ max |aij | |x j | ≤ max |aij |,
1 ≤i≤n 1 ≤i≤n 1 ≤i≤n
j=1 j=1 j=1

avec égalité en prenant un indice i 0 où le max du terme de droite est atteint et en posant
x j = signe ai 0,j si ai 0,j , 0, x j = 0 sinon. ♦

Remarquons que pour toute norme matricielle subordonnée, on a |||I ||| = 1. En fait,
la norme matricielle subordonnée d’une matrice n’est rien d’autre que la norme d’appli-
cation linéaire de l’application linéaire qu’elle définit sur Rn muni de sa base canonique.
Il existe aussi des normes matricielles, c’est-à-dire des normes sur Mn (R) qui vérifient l’in-
égalité de sous-multiplicativité |||AB||| ≤ |||A||| |||B||| , mais qui ne sont pas nécessairement
subordonnées à une norme sur Rn .

A.3 L’ensemble des matrices inversibles est ouvert


Dans cette section, nous démontrons le lemme 5.2.2 qui assure que l’ensemble des
matrices inversibles GLn (R) est un ouvert de Mn (R).
Démonstration. Il suffit de montrer que pour toute matrice inversible A ∈ GLn (R), il existe
une boule ouverte B(A, r ) incluse dans GLn (R). On traite d’abord le cas A = I . Pour tout
R ∈ Mn (R) et N ∈ N, on a l’identité remarquable ⁹

I − R N +1 = (I − R)(I + R + R 2 + · · · + R N ).

D’après la proposition précédente, on a pour tout entier naturel i

|||Ri ||| ≤ |||R|||i .

Supposons que |||R||| < 1, ce qui est équivalent à dire que I − R ∈ B(I, 1). On en déduit
deux choses. D’une part, R N +1 → 0 quand N → +∞, donc I − R N +1 → I . D’autre part, la
9. Valable dans tout anneau unitaire.
152 A. Rappels de topologie

N i
suite S N = i= 0 R est une suite de Cauchy dans Mn (R). En effet, par l’inégalité triangulaire
Í
et l’estimation ci-dessus

+m NÕ
+m
i 1 − |||R|||m |||R||| N +1
|||S N +m − S N ||| ≤ |||R ||| ≤ |||R|||i = |||R||| N +1 ≤ →0
i=N +1 i=N +1
1 − |||R||| 1 − |||R|||

quand N → +∞. Or l’espace des matrices Mn (R) est complet pour n’importe quelle norme,
donc la suite S N converge vers une matrice S ∈ Mn (R). On peut alors passer à la limite
quand N → +∞ dans l’identité remarquable ci-dessus. On obtient ainsi

I = (I − R)S.

En effet,

|||(I − R)S N − (I − R)S ||| ≤ |||I − R||| |||S N − S ||| → 0 quand N → +∞.
Í∞ i
Ceci montre que I − R est inversible (avec (I − R)−1 = S = i= 0 R ). On vient donc de montrer
que B(I, 1) ⊂ GLn (R).
Revenons au cas général, avec A ∈ GLn (R). Pour tout C ∈ Mn (R), on pose R = A − C .
Comme A est inversible, en multipliant à gauche par A−1 , ceci se réécrit A−1C = I − A−1R .
D’après l’étape précédente, si |||A−1R||| < 1, alors on est assuré que I − A−1R = A−1C est
inversible. Ceci implique que C = A(A−1C) est également inversible. Il suffit donc que |||R||| <
1
|||A−1 |||
, pour que C soit inversible. En effet, dans ce cas, |||A−1R||| ≤ |||R||| |||A−1 ||| < 1. En
d’autres termes, on a montré que B A, |||A1−1 ||| ⊂ GLn (R), d’où le résultat avec r = |||A1−1 ||| . ♦


Remarque A.3.1 La preuve ci-dessus fonctionne pour n’importe quelle norme matricielle
subordonnée, c’est-à-dire en fait pour n’importe quel choix de norme dans Rn . Cela marche
même pour toute norme matricielle. Donc finalement, la réunion de toutes les boules ouvertes
de centre I et de rayon 1 pour toutes les normes matricielles possibles etimaginables est
incluse dans GLn (R), et de même plus généralement pour B A, |||A1−1 ||| dès que A est
inversible. ♦
Annexe B

Rappels de calcul différentiel

Faisons d’abord quelques rappels de calcul différentiel. D’accord, c’est un prérequis, mais
une petite révision expresse ne peut pas faire de mal. On se place systématiquement dans
des espaces vectoriels E sur R, avec des notions analogues sur C ou sur d’autres corps de
nombres plus exotiques, munis d’une norme, c’est-à-dire d’une application de E dans R+
qui est positivement homogène, satisfait l’inégalité triangulaire et ne s’annule que sur le
vecteur nul. Avec cette notion de norme viennent comme on l’a vu des notions de distance,
de boules, d’ouverts, de fermés et de continuité. Notons que, pour toute norme, toutes les
boules pour la distance associée sont convexes.
Une application д d’un ouvert U d’un espace vectoriel normé E à valeurs dans un autre
espace vectoriel normé F est différentiable en un point x ∈ U s’il existe une application
linéaire continue de E dans F , notée d fx telle que l’on puisse écrire
д(x + h) = д(x) + dдx h + khkE ε(h),
pour tout h ∈ E tel que x + h ∈ U , où ε est une application de E dans F telle que
kε(h)kF → 0 quand khkE → 0.
L’application linéaire dдx est appelée la différentielle (de Fréchet) de д au point x . Le fait que
cette application linéaire soit continue se traduit par l’existence d’une constante C telle que
kdдx hkF ≤ C khkE pour tout h ∈ E . On voit que l’accroissement д(x + h) − д(x) se comporte
principalement comme le terme linéaire dдx h , le terme suivant khkE ε(h) se comportant
comme un reste négligeable devant le terme linéaire quand khkE est petit (sauf si le terme
linéaire en question est nul...). Il est bien clair que si д est différentiable en x , alors elle est
continue en x .
Quand д est différentiable en tout point x ∈ U , on dit qu’elle est différentiable sur U .
Quand l’application U → L(E ; F ), x 7→ dдx , est elle-même continue 1, on dit que д est
continûment différentiable ou de classe C 1 . Quand E = F = R, alors dдx est l’application
linéaire de R dans R qui consiste à multiplier par la dérivée de д au point x : dдx h = д0(x)h .
Ne pas confondre la continuité de la différentielle en x , h 7→ dдx h , qui est automatique ici
en dimension finie, et la continuité de x 7→ dдx de R dans L(R; R), c’est-à-dire la classe C 1 ,
qui n’est ici autre que la continuité de la fonction д0 de R dans R. En effet,
kdдx − dдy kL(R;R) = sup |dдx h − dдy h| ; |h| ≤ 1 = |д0(x) − д0(y)|.


1. L’espace L(E ; F ) étant lui-même un espace vectoriel normé, ceci a bien un sens. La norme naturelle sur
cet espace est kдkL(E ;F ) = sup{kд(x)kF ; kx kE ≤ 1}.
154 B. Rappels de calcul différentiel

À toutes fins utiles, on rappelle qu’une dérivée partielle n’a rien de bien méchant. C’est
juste une dérivée ordinaire par rapport à une des variables quand on fixe toutes les autres.
En dimension finie (de l’espace de départ), toute application linéaire est automatiquement
continue, donc il est inutile de se focaliser sur la continuité de dдx , qui est offerte gratuitement
dans ce cas. Ce n’est qu’en dimension infinie qu’il faut payer un supplément pour cela. De
plus, toujours en dimension finie, après un choix de base dans chacun des deux espaces
vectoriels de départ et d’arrivée, la matrice qui représente la différentielle d’une application
dans ces bases est appelée sa matrice jacobienne. Ses coefficients sont les dérivées partielles
des différentes composantes.
Plus explicitement, soit д : U → F une application de U ouvert d’un espace vectoriel
normé E de dimension k à valeurs dans un espace vectoriel normé F de dimension m . On
suppose д différentiable au point x 0 ∈ U . Sa différentielle en x 0 est une application linéaire
dдx 0 de E dans F . Si l’on choisit une base (u j )j=1,...,k de E et une base (vi )i=1,...,m de F , et
que l’on note (x j ) les coordonnées cartésiennes associées dans E et (yi ) les coordonnées
cartésiennes associées dans F , alors l’application д est représentée par m applications
coordonnées дi de l’ouvert de Rk contenant les coordonnées des points de U , à valeurs dans
R, de telle sorte que
m
Õ k
Õ
д(x) = дi (x 1, x 2, . . . , xk )vi , où x = x ju j .
i=1 j=1

La différentielle dдx 0 de д en x 0 est alors représentée dans ces bases par la matrice jacobienne
∂д
∇д(x 0 ), matrice m ×k dont les coefficients sont donnés par (∇д(x 0 ))ij = ∂xij (x 0 ), i = 1, . . . , m,
j = 1, . . . , k . Cette représentation
Ík a lieu au sens usuel de l’algèbre linéaire, c’est-à-dire que
pour tout vecteur h = j=1 h ju j de E , on a

m k k
Õ Õ Õ ∂ fi
dдx 0 h = (dдx 0 h)ivi avec (dдx 0 h)i = (∇д(x 0 ))ij h j = (x 0 )h j .
i=1 j=1 j=1
∂x j

On reconnaît un simple produit matrice-vecteur. C’est tout-à-fait normal, car si A est la


matrice m × k qui représente l’application linéaire dдx 0 dans ces bases, on a Aij = (dдx 0u j )i
avec
д(x 0 + tu j ) = д(x 0 ) + td fx 0u j + |t |ku j kE ε(|t |),
d’où
д(x 0 + tu j ) − д(x 0 )
 
(dдx 0u j )i = − ku j kE ε(|t |) i

t i
дi (x 0 + tu j ) − дi (x 0 ) ∂дi
= − ku j kE εi (|t |) → (x 0 )
t ∂x j
quand t → 0 par définition de ce qu’est une dérivée partielle. On voit bien sûr que le fait
que д soit différentiable en x 0 implique que toutes ces dérivées partielles existent en x 0 .
La composée de deux applications différentiables est différentiable. Si д : U → F est
différentiable en x 0 ∈ U ⊂ E et д : V → G est différentiable en д(x 0 ) ∈ V ⊂ F , U et V
ouverts de leur espace respectif tels que д(U ) ⊂ V , alors д ◦ f : U → G est différentiable en
x 0 et sa différentielle est la composée des différentielles de f et д, d(д ◦ f )x 0 = dд f (x 0 ) ◦ d fx 0 .
155

Avec des choix de bases dans les trois espaces vectoriels, comme la matrice de la
composée de deux applications linéaires est le produit de leurs matrices (dans le même
ordre), on en déduit pour les matrices jacobiennes ∇(д ◦ f )(x 0 ) = ∇д(f (x 0 ))∇f (x 0 ).
En explicitant tout cela avec des dérivées partielles, on obtient la très importante formule
de dérivation des fonctions composées de plusieurs variables, qu’il faut absolument savoir
appliquer quelles que soient les circonstances, même les plus adverses,
m
∂(д ◦ f )l Õ ∂дl ∂ fi
(x 0 ) = (f (x 0 )) (x 0 ),
∂x j i=1
∂yi ∂x j

pour j = 1, . . . , k et l = 1, . . . , n où n est la dimension de G . 2 C’est une application


immédiate de la formule générale donnant les coefficients d’un produit matriciel en fonction
des coefficients des matrices dont on effectue le produit. C’est de l’algèbre linéaire en fait
(dont on ne saurait trop rappeler combien elle est fondamentale).
On a bien sûr la même chose avec la différentiabilité en tout point et avec la classe C 1
pour les fonctions composées.
Quand dim E = 1, on rappelle que le théorème des accroissements finis, et plus
généralement la formule de Taylor avec reste de Taylor-Lagrange, sont faux dès que
dim F > 1. On les remplace par des inégalités du même nom. L’inégalité des accroissements
finis, avec д : [a, b] → F ,

kд(b) − д(a)kF ≤ sup kд0(t)kF (b − a),


t ∈[a,b]

et l’inégalité de Taylor-Lagrange,
n
Õ (b − a)i (b − a)n+1
д(b) − д(i) (a) ≤ sup kд(n+1) (t)kF ,
i=0
i! F t ∈[a,b] (n + 1)!

sous les hypothèses adéquates sur f . Les formules avec reste intégral restent par contre
vraies
∫ b
д(b) − д(a) = д0(t) dt,
a
et
n b
(b − a)i (t − a)n (n+1)
Õ ∫
д(b) − д (a) =
(i)
д (t) dt,
i=0
i! a n!

avec une notion adéquate d’intégrale à valeurs vectorielles, c’est-à-dire en dimension finie,
en intégrant composante par composante.
Quand dim E > 1, on se ramène à la dimension 1 en se plaçant sur des segments,
à condition que ces segments restent entièrement dans U . Notons que l’inégalité des
accroissements finis nous donne un moyen pratique de vérifier la condition de contraction
stricte nécessaire pour pouvoir appliquer le théorème 4.2.2 de point fixe de Banach dans le
cas de Rn , que l’on munit de la norme que l’on préfère.

2. En fait, on a seulement besoin de se rappeler du cas n = 1, manifestement.


156 B. Rappels de calcul différentiel

Proposition B.0.1 Soit д : Rn → Rn une application de classe C 1 telle qu’il existe une boule
B(a, r ) telle que
sup kdдx kL(Rn ;Rn ) = k < 1,
x ∈B̄(a,r )
et
kr + k f (a) − ak ≤ r,
alors д(B̄(a, r )) ⊂ B̄(a, r ), f y est strictement contractante.

Ici B̄(a, r ) = {x ∈ E ; kx − ak ≤ r } désigne la boule fermée de centre a et de rayon r . On


rappelle que
kdдx kL(Rn ;Rn ) = sup kdдx u k.
u∈Rn
ku k≤ 1

Démonstration. Pour tous x, y ∈ B̄(a, r ), on pose h : [0, 1] → Rn , h(t) = д(x + t(y − x)) de
telle sorte que h(0) = д(x) et h(1) = д(y). Par dérivation des fonctions composées, h est de
classe C 1 , avec
h0(t) = dдx+t(y−x) (y − x).
Les propriétés de norme d’application linéaire impliquent que

kh0(t)k ≤ kdдx+t(y−x) kL(Rn ;Rn ) ky − x k.

Le segment t 7→ x + t(y − x) est entièrement contenu dans la boule qui est convexe, on en
déduit donc que
kh0(t)k ≤ k ky − x k.
L’inégalité des accroissements finis implique alors

kд(y) − д(x)k = kh(1) − h(0)k ≤ sup kh0(t)k(1 − 0) ≤ k ky − x k,


t ∈[0,1]

d’où la contraction stricte.


On utilise alors la deuxième hypothèse. Pour tout x ∈ B̄(a, r ), c’est-à-dire kx − ak ≤ r ,

kд(x) − ak = kд(x) − д(a) + д(a) − ak ≤ kд(x) − д(a)k + kд(a) − ak


≤ k kx − ak + kд(a) − ak ≤ kr + kд(a) − ak ≤ r,

ce qui montre que д(x) ∈ B̄(a, r ). ♦

Corollaire B.0.2 Si д satisfait les hypothèses de la proposition précédente, alors д admet un


point fixe unique dans la boule B̄(a, r ).

Démonstration. En effet, Rn est complet pour toute distance induite par une norme et une
boule fermée est un fermé pour la topologie métrique associée à la norme. Elle est donc
complète pour la distance en question. Ceci découle du fait que toute suite de Cauchy dans
B̄(a, r ) est aussi de Cauchy dans Rn , puisqu’il s’agit de la même distance. Elle a donc une
limite dans Rn , mais comme B̄(a, r ) est fermé, cette limite est dans B̄(a, r ). Le théorème de
point fixe de Banach s’applique donc dans l’espace métrique complet B̄(a, r ) avec distance
induite par la norme. ♦
157

Remarque B.0.1 1. Un examen rapide des arguments ci-dessus montre que la dimension
finie n’y joue aucun rôle. En fait, la proposition est vrai dans exactement les mêmes termes
dans un espace vectoriel normé E quelconque, et le corollaire est vrai dans un espace de
Banach E quelconque.
2. Dans Rn , toutes les normes sont équivalentes, donc le choix de la norme n’influe pas sur
le caractère C 1 ou pas. Par contre, il influe sur la forme des boules ainsi que sur les valeurs
numériques comme kdдx kL(Rn ;Rn ) . Suivant ce choix de norme, la quantité kdдx kL(Rn ;Rn ) se
calcule plus ou moins facilement, mais on peut très souvent au moins l’estimer. Le fait qu’on
demande qu’elle soit majorée sur une boule par une constante strictement inférieure à 1 est
à rapprocher de la notion de point fixe attractif vue en dimension n = 1. Ainsi, si a est un
point fixe de д, alors la deuxième condition est automatiquement satisfaite. ♦
158 B. Rappels de calcul différentiel
Annexe C

Rappels sur les équations différentielles


ordinaires

C.1 Présentation générale


C.1.1 Systèmes différentiels d’ordre 1
Donnons maintenant quelques définitions de façon un peu plus formelle.
Définition C.1.1 Soient m et n deux entiers non nuls. On se donne une application f de
I¯ × (Rm )n dans Rm . On appelle EDO d’ordre n de fonction second membre f , l’équation
exprimant la dérivée n ème , y (n) , d’une fonction y définie sur l’intervalle I¯ à valeurs dans Rm , en
fonction de ses dérivées d’ordre inférieur y (i) , i = 0, . . . , n − 1, de la forme
∀t ∈ I, y (n) (t) = f (t, y(t), y 0(t), . . . , y (n−1) (t)). (C.1.1)
On appelle nombre de degrés de liberté le produit mn .
Une solution du système (C.1.1) est une fonction de I¯ à valeurs dans Rm , n fois dérivable
sur I et telle que l’égalité (C.1.1) soit satisfaite pour tout t ∈ I . L’image de I¯ dans (Rm )n par
l’application t 7→ (y(t), y 0(t), . . . , y (n−1) (t)) est une trajectoire ou une orbite ou encore une
courbe de phase. Le graphe d’une solution {t, y(t); t ∈ I¯} ⊂ R × Rm est une courbe intégrale.
Au lieu d’EDO d’ordre 1, d’ordre 2, on dit aussi du premier ordre, du second ordre,
etc. L’égalité (C.1.1) est encore une égalité vectorielle entre vecteurs de Rm . Par exemple,
pour une équation d’ordre 2 à valeurs dans R2 , le second membre est une application de
I¯ × R2 × R2 à valeurs dans R2 .
Notons immédiatement que la forme (2.1.1) ne concerne pas que les seules EDO du
premier ordre, mais englobe également des équations d’ordre plus élevé. En fait, toute EDO
d’ordre n peut se réécrire de façon canonique comme une EDO du premier ordre, et la
généralité supplémentaire contenue dans la définition C.1.1 n’est qu’apparente.
Proposition C.1.2 Soit y est une solution de (C.1.1). La fonction vectorielle Y : I¯ → (Rm )n
définie par
Y (t) = (y(t), y 0(t), . . . , yn−1 (t))
est alors solution du système d’équations différentielles du premier ordre
dY (t)
∀t ∈ I, = F (t, Y (t)), (C.1.2)
dt
160 C. Rappels sur les équations différentielles ordinaires

où F est la fonction définie par


F : I¯ × (Rm )n −→ (Rm )n
(t, Y1, Y2, . . . , Yn ) 7−→ Y2, Y3, . . . , Yn , f (t, Y1, Y2, . . . , Yn ) ,


les Yi désignant des éléments génériques de Rm .


Réciproquement, toute solution Y du système (C.1.2) donne naissance à une solution de
(C.1.1) en posant y(t) = Y1 (t).
Démonstration. Soit y est une solution de (C.1.1). On définit Y comme indiqué plus haut,
c’est-à-dire que l’on pose Yi (t) = y (i−1) (t) pour i = 1, . . . , n . Chacune des fonctions vectorielles
Yi , i = 1, . . . , n , constituant Y est donc une fonction de I¯ dans Rm , dérivable sur I . Par
0
définition, on a Yi0(t) = y (i−1) (t) = y (i) (t) = Yi+1 (t) pour tout i = 1, . . . , n − 1. Pour la
dernière fonction, on a
Yn0 (t) = y (n−1) (t) = y (n) (t) = f t, y(t), y 0(t), . . . , yn−1 (t) = f t, Y1 (t), Y2 (t), . . . , Yn (t) .
0  

car y est solution de (C.1.1). On voit donc que Y est une solution du système (C.1.2).
Réciproquement, donnons-nous une solution Y de (C.1.2) et posons y(t) = Y1 (t). Par
définition, Y est dérivable sur I , donc chaque Yi est dérivable. En particulier, y = Y1 est
dérivable. Montrons par récurrence que y est n fois dérivable sur I et que y (i−1) = Yi pour
tout i = 1, . . . , n . La propriété étant déjà établie pour i = 1, supposons la vraie pour i < n .
On a vu que Yi est dérivable, cequi implique que y (i−1) est dérivable, ou encore que y est i
0
fois dérivable avec y (i) = y (i−1) = Yi0 = Yi+1 en utilisant le système (C.1.2) pour i < n . La
récurrence est donc achevée.
Pour conclure, on note que
y (n) (t) = Yn0 (t) = f t, Y1 (t), Y2 (t), . . . , Yn (t) = f t, y(t), y 0(t), . . . , yn−1 (t) ,
 

d’après le système (C.1.2) pour i = n et d’après la récurrence qui précède. La fonction y est
par conséquent une solution de (C.1.1). ♦

Il faut faire attention que dans la proposition précédente, si l’on souhaite écrire les
choses en composantes, on a besoin de mn fonctions scalaires pour définir la fonction
vectorielle Y , c’est-à-dire le nombre de degrés de liberté. Un cas particulier important est
celui des équations différentielles d’ordre n scalaires, i.e., avec m = 1, qui se réécrivent
canoniquement comme un système d’ordre 1 à n équations et n inconnues scalaire, si le
besoin s’en fait sentir.

C.1.2 Le cas des équations différentielles autonomes


Définition C.1.3 On appelle équation différentielle autonome une EDO dont le second membre
ne dépend pas explicitement du temps.
y (n) (t) = f (y(t), y 0(t), . . . , y (n−1) (t)). (C.1.3)
Définition C.1.4 On appelle espace des phases l’espace Rmn où se trouvent les trajectoires
des solutions de l’équation différentielle (C.1.3) ramenée à un système du premier ordre
Y 0(t) = F (Y (t)) avec Y (t) = (y(t), y 0(t), . . . , y (n−1) (t)).
Le champ de vecteurs de vitesses des phases est l’image de l’espace des phases par la fonction
second membre F .
C.2. Équations différentielles linéaires 161

Sans même résoudre l’équation différentielle, on peut comprendre beaucoup de choses sur
ses solutions en traçant le champ de vitesses des phases dans l’espace des phases, ce qui
est possible si mn ≤ 3. Une étude des EDO utilisant pleinement ce point de vue est le livre
d’Arnold 1 [1].

Définition C.1.5 On définit les points d’équilibre ou points fixes ou points stationnaires d’un
système différentiel autonome y 0(t) = f (y(t)), comme les points ye ∈ Rm tels que f (ye ) = 0.

Par l’unicité de Cauchy-Lipschitz, si une solution se trouve à un instant t en un point


d’équilibre, elle y reste éternellement, et d’ailleurs, elle y était déjà auparavant. Une fois
déterminé un point d’équilibre, on s’intéresse souvent au comportement de la solution dans
son voisinage. Partant d’une condition initiale proche de ye , va-t-elle s’en rapprocher ou s’en
éloigner ? C’est la notion de stabilité d’un point fixe, qui se décline en plusieurs variantes.

Définition C.1.6 Le point d’équilibre ye de y 0(t) = f (y(t)) est


— stable si, pour tout ε > 0, il existe r > 0, tel que

ky(0) − ye k < r ⇒ ∀t > 0, ky(t) − ye k < ε.

— instable sinon.
— asymptotiquement stable, s’il est stable et si r peut être choisi tel que

ky(0) − ye k < r ⇒ lim ky(t) − ye k = 0.


t→∞

— marginalement stable s’il n’est pas asymptotiquement stable et que la solution est bornée.

Si le système est asymptotiquement stable quelle que soit la donnée initiale y(0), alors le
point d’équilibre est dit être globalement asymptotiquement (ou exponentiellement) stable.
Remarquons au passage que toute équation non autonome peut être rendue autonome en augmentant la
dimension de l’espace d’une unité. En effet, si y(t) = y1 (t), y2 (t), . . . , ym (t) est solution du problème de
Cauchy y 0(t) = f (t, y(t)), y(0) = y0 , alors posant

y (t) f (y , y)
© 1 © 1 m+1 ª
­ y2 (t) ® ­ f 2 (ym+1, y) ®
ª

Y (t) = ­­ ... ®® et F (Y ) = ­­ .. ®,
­ ® ­ ®
. ®
­ ym (t) ® ­ fm (ym+1, y)®
­ ® ­ ®

«ym+1 (t)¬ « 1 ¬
on voit que Y est solution du problème de Cauchy autonome Y 0(t) = F (Y (t)), Y (0) = (y0, 0), et réciproquement.
En ce sens, on dispose donc aussi d’un espace des phases pour une équation non autonome du premier ordre à
valeurs dans Rm , qui est Rm+1 , le champ de vecteurs ayant pour dernière composante 1, et chaque tranche
ym+1 = t contenant le champ de vecteurs dans Rm à l’instant t .

C.2 Équations différentielles linéaires


Dans cette section, on notera Mm (R) l’espace des matrices carrées m × m à coefficients réels et Mm (C)
celui des matrices carrées m × m à coefficients complexes.

1. Vladimir Igorevich Arnold, 1937–2010.


162 C. Rappels sur les équations différentielles ordinaires

C.2.1 Définitions et propriétés générales


Définition C.2.1 On appelle équation différentielle linéaire sur l’intervalle I , toute équation différentielle de la
forme
∀t ∈ I, y 0(t) = A(t)y(t) + b(t), (C.2.1)

b (t)
© 1. ª
t 7→ A(t) = (ai j (t))1 ≤i,j ≤m ∈ Mm (R), t 7→ b(t) = ­ .. ®® ∈ Rm
­

«bm (t)¬
sont des fonctions continues sur I¯ données, respectivement à valeurs dans Mm (R) et Rm .

La linéarité de l’équation vient du fait que la partie du second membre qui dépend de y est linéaire par
rapport à y : f (t, y) = A(t)y +b(t). On voit que c’est plutôt affine que linéaire, mais peu importe. On parle aussi
bien sûr de système différentiel linéaire quand m > 1. Le problème de Cauchy prend naturellement la forme

y (t) = A(t)y(t) + b(t),


 0
(C.2.2)
y(0) = y0 .

Dans le cas scalaire, m = 1, on sait depuis la première année d’université au moins, résoudre les EDO
linéaires par la méthode de variation de la constante. Les matrices A(t) sont des matrices 1 × 1 que l’on assimile
à leur unique coefficient, les scalaires a 11 (t) = a(t). Dans ce contexte, la fonction b est aussi à valeurs scalaires,
b1 (t) = b(t) avec la même assimilation inoffensive.

Théorème C.2.2 (Variation de la constante) Étant données deux fonctions continues a et b de I¯ dans R, il
existe une unique solution du problème de Cauchy scalaire

y (t) = a(t)y(t) + b(t),


 0

y(0) = y0,

laquelle est donnée par


∫t ∫ t ∫t
a(s)ds a(s) ds
∀t ∈ I,
¯ y(t) = y0e 0 + b(u)e u du. (C.2.3)
0

En particulier, si la fonction a est constante et b = 0, on retrouve bien y(t) = y0e at .


Démonstration. Rappelons la méthode, qui est non seulement une méthode de calcul, mais aussi une
démonstration de l’existence et l’unicité pour le problème de Cauchy dans ce cas très simple.
Étape 1 : Cas b = 0. On regarde l’équation y 0(t) = a(t)y(t). C’est une équation à variable séparées,∫mais on ne va
t
pas procéder à la physicienne pour éviter les critiques justifiées des mathématiciens. Soit A(t) = 0 a(s) ds une
primitive de a sur I¯, il en existe puisque a est continue. 2 On réécrit l’équation sous la forme y 0(t) − a(t)y(t) = 0
que l’on multiplie par le facteur intégrant e −A(t ) . On obtient de la sorte
0
0 = e −A(t ) y 0(t) − a(t)y(t) = e −A(t )y(t) ,


et la fonction t 7→ e −A(t )y(t) est donc constante sur I , égale à un certain K ∈ R. Par conséquent,

y(t) = Ke A(t ),

pour tout t dans ce cas b = 0.


Étape 2 : On n’est plus à variables séparées, pas de salut à chercher du côté de la physique. L’idée est de
chercher une solution de l’équation complète avec b , 0 en faisant varier la constante K , c’est-à-dire en
injectant la forme y(t) = K(t)e A(t ) dans l’équation complète et en considérant K non plus comme une constante,
mais comme une nouvelle fonction inconnue 3. Comme l’exponentielle ne s’annule jamais, c’est un changement

2. On prend ici celle qui s’annule en 0, mais c’est juste pour fixer les idées, ce n’est en rien nécessaire.
3. D’où le nom de la méthode.
C.2. Équations différentielles linéaires 163

de fonction inconnue complètement légitime. Une autre façon de le dire, mais dont il est moins facile de se
rappeler, est de poser simplement K(t) = e −A(t )y(t).
On écrit donc ⁴

y 0(t) = K 0(t)e A(t ) + K(t)a(t)e A(t ) = a(t)y(t) + b(t) = a(t)K(t)e A(t ) + b(t),

les termes du milieu se simplifient (s’ils ne se simplifient pas, c’est que l’on s’est trompé dans les calculs) et il
vient donc
K 0(t)e A(t ) = b(t) d’où K 0(t) = b(t)e −A(t ),
d’où en intégrant, ce qui ne pose pas de problème puisque b est continue,
∫ t
K(t) = K(0) + b(u)e −A(u) du.
0

Multipliant par e A(t ) , il vient alors


∫ t ∫ t
y(t) = K(0)e A(t )
+e A(t )
b(u)e −A(u)
du = K(0)e A(t )
+ b(u)e A(t )−A(u) du,
0 0
∫t
et utilisant la condition initiale y(0) = y0 et le fait que A(t) − A(u) = u
a(s) ds , on retrouve bien l’expression
(C.2.3).
On a jusqu’ici établi l’unicité de la solution du problème de Cauchy : toute solution éventuelle ne peut être
que de la forme (C.2.3). Pour établir l’existence, il suffit de vérifier que cette expression satisfait bien l’EDO
d’une part et la condition initiale d’autre part, ce qui n’est qu’un calcul de routine. En effet, pour la condition
initiale, on a
∫ 0
a(s)ds a(s) ds
∫0 ∫0
y(0) = y0e 0 + b(u)e u du = y0,
0

(n0importe quoi) ds = 0 et e 0 = 1. Pour l’EDO elle-même, il est plus simple de prendre la forme
∫0
car 0 ∫t ∫t ∫t ∫u
y(t) = y0e 0 a(s)ds + e 0 a(s)ds 0 b(u)e − 0 a(s) ds du et il vient alors

∫t ∫t ∫ t ∫u ∫t ∫t
a(s)ds a(s)ds a(s) ds a(s)ds a(s) ds
y 0(t) = y0a(t)e 0 + a(t)e 0 b(u)e − 0 du + e 0 b(t)e − 0
0
= a(t)y(t) + b(t),

par la formule de Leibniz de dérivation d’un produit, la formule de dérivation des fonctions composées et le
fait que quand on dérive une intégrale par rapport à sa borne supérieure, on obtient la valeur de l’intégrande
en cette même borne supérieure. ♦

Naturellement, la variation de la constante n’aboutit à une résolution analytique complète du problème


de Cauchy que si les deux calculs de primitives intermédiaires sont possibles analytiquement. Elle montre
néanmoins, comme on l’a déjà dit parce que c’est en fait le plus important, l’existence et l’unicité du problème
de Cauchy dans ce cas très particulier, même quand les calculs analytiques de primitives sont impossibles, sous
la seule hypothèse que les fonctions a et b soient continues.
Voyons maintenant ce que l’on peut dire dans le cas vectoriel avec m pas nécessairement égal à 1. Pas
grand-chose pour l’instant.

Définition C.2.3 Étant donnée une équation différentielle linéaire (C.2.1), on appelle équation différentielle
linéaire sans second membre ou homogène associée, l’équation différentielle

∀t ∈ I, y 0(t) = A(t)y(t). (C.2.4)

4. Si l’on est allergique au caractère peut-être un peu parachuté de la méthode de variation de la constante
(parachuté mais mnémotechnique !), on peut aussi écrire K 0 = −ae −Ay + e −Ay 0 = −ae −Ay + e −A(ay + b).
164 C. Rappels sur les équations différentielles ordinaires

Le vocabulaire “ sans second membre ”, bien que traditionnel, est plutôt mal choisi puisqu’il y a une
fonction second membre au sens antérieur, f (t, y) = A(t)y . On préférera le qualificatif homogène.
Commençons par énoncer deux propriétés générales des systèmes différentiels linéaires qui sont immédiates
mais néanmoins très importantes pour la suite.
Proposition C.2.4 Si y1 et y2 sont deux solutions de l’équation différentielle (C.2.1), leur différence y2 − y1 est
solution de l’équation différentielle homogène associée (C.2.4).

Proposition C.2.5 L’ensemble des solutions de l’équation différentielle homogène (C.2.4) est un espace vectoriel
sur R.

On en déduit que
Proposition C.2.6 L’ensemble des solutions de l’équation différentielle (C.2.1) forme un sous-espace affine ⁵ de
l’espace vectoriel des applications de I dans Rm .
Démonstration. Soit S l’ensemble des solutions de l’équation différentielle (C.2.1). Pour tout λ ∈ R et
(y1, y2 ) ∈ S 2 , on a
d
λy1 (t) + (1 − λ)y2 (t) = λ A(t)y1 (t) + b(t) + (1 − λ) A(t)y2 (t) + b(t)
  
dt
= A(t) λy1 (t) + (1 − λ)y2 (t) + b(t).


Par conséquent, λy1 + (1 − λ)y2 ∈ S . ♦

Les propositions C.2.4 à C.2.6 ne sont qu’une traduction en langage savant du principe de superposition
des physiciens et de l’adage populaire “ la solution générale est la somme d’une solution particulière et de la
solution générale de l’équation homogène ”. Dans la pratique, on appliquera l’adage populaire.
Intéressons-nous maintenant aux équations différentielles les plus simples parmi les plus simples.

C.2.2 Systèmes différentiels linéaires à coefficients constants


On s’intéresse dans ce paragraphe au cas où la matrice A apparaissant au second membre de l’EDO est
indépendante de t . C’est à cette matrice que fait allusion l’expression “ à coefficients constants ”. La partie en
b(t ) va rester variable en fonction du temps. Il va en fait être beaucoup confortable de travailler dans Cm que
dans Rm , donc avec des matrices complexes, des vecteurs complexes et des EDO à valeurs complexes, ce qui
ne pose évidemment pas de problème de principe. L’objection : “ Oui, mais je m’intéresse à une EDO à valeurs
réelles, et je trouve des solutions à valeurs complexes ! C’est grave, docteur ? ”, ne tient pas vraiment.
En effet, supposons que l’on ait une EDO linéaire avec une matrice A réelle et une fonction b à valeurs
réelles, mais que l’on ait d’une façon ou d’une autre trouvé une solution Y : I¯ → Cm . En décomposant cette
solution en partie réelle et partie imaginaire Y (t) = <(Y (t)) + i=(Y (t)), les deux fonctions à valeurs dans Rm
ainsi obtenues sont solutions de la même EDO à valeurs réelles et l’on retombe sur ses pieds. Dans certaines
applications, comme en électricité par exemple, il est même franchement avantageux de ne travailler qu’avec
les solutions complexes.
On munit donc Cm de la norme hermitienne standard, qui se réduit sur Rm à la norme euclidienne
Ím 2 1/2
standard, kx k = avec |x i | 2 = x i x̄ i . On rappelle que l’espace Mm (C) est alors muni de la norme

i=1 |x i |
matricielle subordonnée définie par
kAx k
kAk = sup .
x ∈Cm \{0 } kx k
On en déduit que
kAx k ≤ kAkkx k, (C.2.5)
pour tout vecteur x . Il s’agit d’une norme matricielle au sens où pour tout couple de matrices A et B , on a
kABk ≤ kAk kBk . On en déduit immédiatement par récurrence que kAk k ≤ kAk k pour tout entier positif k .
On aura besoin de la notion d’exponentielle de matrices.

5. On dit qu’une partie S d’un espace vectoriel est un sous-espace affine si elle est stable par combinaison
barycentrique, autrement dit si elle vérifie la condition ∀u, v ∈ S, ∀λ ∈ R, λu + (1 − λ)v ∈ S . Un sous-espace
affine est ce que l’on obtient en translatant un sous-espace vectoriel par un vecteur constant.
C.2. Équations différentielles linéaires 165

1 k
Proposition C.2.7 Pour toute matrice A ∈ Mm (C), la série k =0 k ! A est convergente dans Mm (C).
Í∞

Í∞ 1 k
Démonstration. Regardons la série des normes associée k=0 k ! kA k . C’est une série à termes positifs majorée,
donc convergente, puisque
n n ∞
1 k 1 1
kAk k ≤ kAk k = e kA k < +∞,
Õ Õ Õ
kA k ≤
k! k! k!
k =0 k =0 k =0

pour tout n ∈ N. La série matricielle à laquelle on a affaire est donc une série normalement convergente.
Comme l’espace des matrices est évidemment complet pour la norme précédente car de dimension finie, on en
déduit que la série est convergente dans Mm (C). ♦

On est donc fondé à poser la définition suivante.

Définition C.2.8 Pour tout matrice A ∈ Mm (C), on appelle exponentielle de A la somme de la série

1 k
eA =
Õ
A ∈ Mm (C). (C.2.6)
k!
k =0

La démonstration de la proposition C.2.7 et l’inégalité triangulaire nous donnent gratuitement l’estimation


eA≤ e kA k . On note aussi parfois l’exponentielle exp(A). Dans le cas m = 1, A s’identifie à un nombre
complexe a et l’on retrouve la définition classique de l’exponentielle complexe comme somme d’une série
numérique. Notons que la définition s’applique a fortiori aux matrices réelles : si A ∈ Mm (R) alors e A ∈ Mm (R)
puisque la série ne comprend que des termes réels.
On rappelle quelques propriétés utiles de l’exponentielle de matrice.

Théorème C.2.9 Si A et B ∈ Mm (C) commutent alors

e A+B = e Ae B .

Attention, il est facile de trouver deux matrices A et B qui ne commutent pas et telles que e A+B , e Ae B ! ⁶ La
formule de Baker ?Campbell ?Hausdorff ⁷ permet de relier e A+B à e A , e B puis une infinité d’autre termes faisant
intervenir des commutateurs de commutateurs... Le commutateur de A et B est donné par [A, B] = AB − BA.
Notons aussi que si A et B commutent, alors e A et e B commutent aussi, comme conséquence immédiate
du théorème C.2.9.
Le théorème C.2.9 a plusieurs conséquences utiles.

Corollaire C.2.10 Soit A ∈ Mm (C). On a


i) e A est inversible et (e A )−1 = e −A .
ii) L’application t 7→ e t A est dérivable de R dans Mn (C) et (e t A ) 0 = Ae t A = e t AA.

Rappelons à toutes fins utiles qu’une fonction д continue de [0,T ] à valeurs dans Rm ou Cm s’intègre sur
tout sous-intervalle [0, t], au sens de Riemann ⁸ par exemple, tout simplement composante par composante.
Son intégrale n’est autre que le vecteur
∫t
д (s) ds ª
t 0 1
..
∫ ©
д(s) ds = ­ . ®.
­ ®
0 t
­ ®
д ds

«0 m (s) ¬
∫t
Au vu de cette expression, il doit être bien clair que t 7→ 0 д(s) ds est une fonction dérivable et que
d
∫t
dt 0 д(s) ds = д(t), c’est-à-dire que c’est la primitive de д qui s’annule en 0.


6. C’est anecdotique, mais on peut aussi, si on cherche bien, trouver quelques matrices A et B qui ne
commutent pas, mais pour lesquelles on a quand même e A+B = e Ae B ...
7. Henry Frederick Baker, 1866–1956 ; John Edward Campbell, 1862–1924 ; Felix Hausdorff, 1868–1942.
8. Georg Friedrich Bernhard Riemann, 1826–1866.
166 C. Rappels sur les équations différentielles ordinaires

Naturellement, la linéarité de l’intégrale à valeurs scalaires


∫ t persiste pour les intégrales à valeurs vectorielles.
 ∫t
Si B = (bi j ) est une matrice p × m constante, alors on a B 0 д(s) ds = 0 Bд(s) ds . Il suffit en effet d’écrire les
composantes pour i = 1 à p
 ∫ t  m
Õ ∫ t 
B д(s) ds = Bi j д(s) ds
0 i j=1 0 j
m
Õ ∫ t m
∫ t Õ  ∫ t
= Bi j дj (s) ds = Bi j дj (s) ds = Bд(s) i ds.

j=1 0 0 j=1 0

Cette linéarité permet d’ailleurs de voir que l’objet intégrale à valeur vectorielle défini plus haut ne dépend pas
de la base choisie pour le calculer. On a donc tout aussi facilement des intégrales à valeurs dans un espace
vectoriel de dimension finie quelconque.
Une propriété cruciale de l’intégrale que l’on utilisera souvent, est une généralisation de l’inégalité
triangulaire ∫ ∫t t
д(s) ds ≤ kд(s)k ds,
0 0
valable pour n’importe quelle norme sur Rm ou Cm . Attention, à gauche on a la norme d’une intégrale
vectorielle, alors qu’à droite, on a l’intégrale scalaire de la norme. Une démonstration rapide de cette inégalité,
démonstration qui par contre ∫ t ne marche que pour une norme euclidienne
∫t ∫ou hermitienne, consiste à dire
t
qu’il n’y a rien à montrer si 0 д(s) ds = 0 et de poser sinon u = 0 д(s) ds/ 0 д(s) ds , lequel est un vecteur
unitaire tel que ∫ t ∫ t ∫ ∫ t t
д(s) ds = д(s) ds u = (д(s)|u) ds ≤ kд(s)k ds,
0 0 0 0

par linéarité de l’intégrale et l’inégalité de Cauchy-Schwarz ⁹ pour terminer.


Par ailleurs, si t 7→ A(t) est une fonction à valeurs matricielle dérivable et t 7→ z(t) est une fonction à
valeurs vectorielles dérivable, alors le produit matrice-vecteur
0 t 7→ A(t)z(t) est dérivable à valeurs vectorielles
et la formule de Leibniz reste valable A(t)z(t) = A 0 (t)z(t) + A(t)z 0 (t) en faisant attention à l’ordre des

facteurs. 1⁰ En effet, (A(t)z(t))i = m j=1 a i j (t)z j (t) pour tout i , donc


Í

m
Õ m
0 Õ
(A(t)z(t))i0 = ai j (t)z j (t) = ai0j (t)z j (t) + ai j (t)z j0 (t) = (A0(t)z(t))i + (A(t)z 0(t))i .

j=1 j=1

L’application de l’exponentielle de matrice aux EDO linéaires à coefficients constants se lit dans le résultat
suivant, qui est l’analogue en dimension m de la variation de la constante en dimension 1 (dans le cas linéaire
à coefficient constant).

Proposition C.2.11 Soit A ∈ Mm (C) quelconque et b : R → Cm continue. Le problème de Cauchy

y (t) = Ay(t) + b(t),


 0

y(0) = y0,

admet une solution unique, laquelle s’écrit à l’aide de la formule de Duhamel


∫ t
y(t) = e t Ay0 + e (t −s)Ab(s) ds, (C.2.7)
0

pour tout t ∈ R.

Démonstration. On procède par condition nécessaire et condition suffisante. Condition nécessaire : si y est une
solution, posons z(t) = e −t Ay(t). On a donc

z 0(t) = (e −t A )0y(t) + e −t Ay 0(t) = −e −t AAy(t) + e −t A (Ay(t) + b(t)) = e −t Ab(t),

9. Hermann Amandus Schwarz, 1843–1921.


10. On a bien sûr le même résultat pour la dérivée d’un produit de matrices : (AB) 0 = A0B + AB 0.
C.2. Équations différentielles linéaires 167

d’après le corollaire C.2.10 ii). Comme z(0) = e 0y(0) = Iy0 = y0 , on en déduit que
∫ t
z(t) = y0 + e −sAb(s) ds.
0

Par le corollaire C.2.10 i), on a y(t) = e t Az(t), d’où la formule (C.2.7) (on peut entrer et sortir à volonté e t A de
l’intégrale par linéarité, comme on vient de le voir plus haut, et bien sûr tA et −sA commutent). On a ainsi
montré l’unicité : s’il existe une solution, elle est forcément donnée par cette formule.
Montrons maintenant l’existence, c’est-à-dire la condition suffisante. Il faut montrer que la fonction y
définie par la formule (C.2.7) est bien solution du problème de Cauchy de départ. Elle est manifestement
dérivable, telle que y(0) = y0 . Pour calculer sa dérivée, on note que
∫ t 
tA tA
y(t) = e y0 + e e −sA
b(s) ds ,
0

il vient donc ∫ t 
tA tA
y (t) = Ae y0 + Ae
0
e −sA
b(s) ds + e t Ae −t Ab(t) = Ay(t) + b(t),
0

encore d’après le corollaire C.2.10 i) et ii). On a donc bien obtenu ainsi une solution du problème de Cauchy. ♦

La même formule reste naturellement a fortiori valable pour A, y0 et b réels.

Corollaire C.2.12 L’espace vectoriel des solutions de l’équation différentielle homogène y 0(t) = Ay(t) est de
dimension m sur C.

Démonstration. Soit S l’espace vectoriel des solutions. Considérons l’application Cm → S , y0 7→ (t 7→ e t Ay0 ).


C’est une application qui est trivialement linéaire. Elle est injective, car e t Ay0 = 0 pour tout t implique que y0 = 0
en prenant t = 0. La proposition C.2.11 dans le cas b = 0 implique par ailleurs qu’elle est surjective puisque
toute solution s’écrit ainsi. Il s’agit donc d’un isomorphisme, et l’on en déduit que dim S = dim Cm = m . ♦

Quand on travaille sur R, on a le même résultat, mais la dimension m ci-dessus est alors à comprendre
comme dimension de R-espace vectoriel.
La question se pose maintenant de comment calculer l’exponentielle d’une matrice. On rappelle d’abord à
ce propos la décomposition de Dunford 11 des matrices.

Théorème C.2.13 Pour toute matrice A ∈ Mm (C), il existe un unique couple de matrices (D, N ) de Mm (C) avec
D diagonalisable, N nilpotente, D et N commutent et

A = D + N. (C.2.8)

On rappelle que si D est diagonalisable, il existe ∆ diagonale et une matrice de passage 12 P , donc inversible,
telles que
D = P −1 ∆P .
Attention, on parle ici de diagonalisabilité sur C même quand les matrices sont réelles.
On rappelle également qu’une matrice N est nilpotente s’il existe un entier p > 0 tel que N p = 0. Le plus
petit entier p qui a cette propriété s’appelle l’indice de nilpotence de N . Notons, par l’unicité de la décomposition
de Dunford, que A est elle-même diagonalisable si et seulement si N = 0.

11. Nelson Dunford, 1906–1986.


12. Dans ce paragraphe, la matrice P −1 est la matrice dont les colonnes sont les composantes d’une base de
vecteurs propres. Il semble que quelques dérives de l’enseignement aient inculqué dans certains esprits la
formule P ∆P −1 , pourtant pleine de disharmonie... Dans le contexte présent, cela n’a aucune importance, il
s’agit d’un jeu d’écriture et on préférera P −1 ∆P qui est beaucoup plus élégant, il faut bien l’admettre.
168 C. Rappels sur les équations différentielles ordinaires

Proposition C.2.14 Pour toute matrice A ∈ Mm (C), soit (D, N ) sa décomposition de Dunford, λi ∈ C, i =
1, . . . , m , les valeurs propres ¹³ de D , P la matrice de passage et p l’indice de nilpotence de N . Alors on a
eA = eDe N = e N eD,
avec
e D = P −1 diag e λi P

Íp−1
et e N = 1
k =0 k !
N k est un polynôme de degré p − 1 en N .

On a noté ici diag(µ i ) la matrice diagonale dont les coefficients diagonaux sont µ 1, µ 2, . . . , µm .
Démonstration. Comme D et N commutent, la première formule résulte immédiatement de la décomposition
de Dunford (C.2.8) et du théorème C.2.9.
k
Pour la partie diagonalisable, il est évident que diag(λi ) = diag(λki ) pour tout k ∈ N. Par conséquent,
comme une somme de matrices diagonales est aussi évidemment diagonale, en passant à la limite dans les
sommes partielles
n n k
!
1 λ i
diag(λki ) = diag
Õ Õ
k! k!
k =0 k =0
quand n → +∞, on voit que

λki
∞ ∞
!
∆ 1 k
= diag e λi .
Õ Õ
e = diag(λi ) = diag

k! k!
k =0 k=0

Comme par ailleurs, D = il vient que pour tout entier k ∈ N, D k = P −1 ∆k P . Par conséquent, en
P −1 ∆P ,
factorisant à gauche par P et à droite par P ,
− 1

∞ ∞
!
D 1 −1 k 1 k
∆ P = P −1e ∆ P .
Õ Õ
e = P ∆ P =P −1
k! k!
k =0 k =0

Pour la partie nilpotente, on note que


∞ p−1
N
Õ 1 k Õ 1 k
e = N = N ,
k! k!
k =0 k =0

puisque toutes les puissances supérieures à p s’annulent. ♦

Notons que si A est une matrice réelle, sa décomposition de Dunford est formée de matrices D et N réelles,
mais les valeurs propres qui interviennent sont bien souvent complexes et non toutes réelles. C’est le cas si
D , par définition diagonalisable sur C, est non diagonalisable sur R. Les exponentielles des valeurs propres
sont alors également complexes. Comme on sait que e D est réelle, il s’ensuit que la matrice de passage P , tout
aussi complexe, se débrouille pour que le résultat final soit réel (donc par exemple avec des sin(µ i t), cos(µ i t),
µ i = =λi ∈ R).
Dans l’application de ce résultat aux EDO, on retient donc que si (D, N ) est la décomposition de Dunford
de A, alors (tD, t N ) est celle de tA pour tout t ∈ R. Par conséquent, on obtient
p−1 k
!
tA t k
P −1 diag e λi t Py0,
Õ
y(t) = e y0 = N

k!
k=0

pour la solution du problème de Cauchy homogène, puisque les valeurs propres de tD sont les λi t et que la
matrice de passage ne dépend pas 1⁴ de t . On voit apparaître une partie polynomiale par rapport à t et une

13. On fait figurer plusieurs fois les éventuelles valeurs propres multiples de D . Notons que ce sont aussi les
valeurs propres de A.
14. C’est-à-dire que l’on peut la choisir indépendante de t : dans la réduction des matrices diagonalisables,
la matrice de passage n’est jamais unique. En effet, elle correspond au choix d’une base formée de vecteurs
propres. Or on peut toujours multiplier les vecteurs propres par des scalaires non nuls, ou permuter les espaces
propres, etc. Or ici, les espaces propres ne dépendent pas de t (sauf pour t = 0, mais peu importe). Donc on
peut choisir le même P une fois pour toutes, pour tout t .
C.2. Équations différentielles linéaires 169

autre partie dont les coefficients sont des combinaisons linéaires des e λi t . La présence de termes polynomiaux
(de degré supérieur à 1) ne se produit que quand la matrice A n’est pas diagonalisable.
La formule exponentielle est élégante, mais il ne faut pas trop se laisser aveugler : en pratique, si l’on
peut raisonnablement considérer qu’il est faisable de calculer exactement la décomposition de Dunford avec
les valeurs propres pour une matrice 2 × 2 à la main, puisqu’il s’agit essentiellement de trouver les racines
d’un polynôme du second degré, puis les matrices de passage correspondantes, pour m = 3 et m = 4, la tâche
devient nettement plus ardue, et impossible en général pour m ≥ 5. Il ne faut donc pas trop compter sur
l’exponentielle calculée exactement via les valeurs propres pour obtenir des informations quantitatives sur les
solutions pour m = 1800 par exemple...
Au lieu de la décomposition de Dunford, on aurait pu utiliser la forme de Jordan 1⁵ de la matrice A, qui
est plus précise. Mais comme la considération de cette forme de Jordan n’apporte pas grand-chose sur le
plan pratique, nous la laisserons ici de côté. Appliquons ce qui précède aux équations différentielles scalaires
d’ordre quelconque linéaires à coefficients constants.

Théorème C.2.15 Soit l’équation différentielle scalaire d’ordre n à coefficients constants homogène

y (n) (t) + a 1y (n−1) (t) + · · · + an−1y 0(t) + any(t) = 0, (C.2.9)

posée sur R. On désigne par P le polynôme caractéristique de l’équation

P(X ) = X n + a 1X n−1 + · · · + an−1X + an .

Les p ≤ n racines complexes distinctes de P sont notées λi pour i = 1, . . . , p , et leur multiplicité respective est notée
α i . L’espace des solutions de (C.2.9) est l’espace des fonctions de la forme
p
Q i (t)e λi t
Õ
y(t) =
i=1

où Q i désigne un polynôme de degré inférieur à α i − 1 à coefficients dans C.

Démonstration. On se ramène à un système différentiel  d’ordre 1, comme dans la proposition C.1.2. La nouvelle
fonction inconnue est Y (t) = y(t), y 0(t), . . . , y (n−1) (t) , solution du système Y 0(t) = AY (t) avec

0 1 0 ... 0
© . ..
­ . .. .. ..
ª
­ . . . . .
®
®
A = ­ .. .. .. .. .. ®.
­ ®
­ . . . . . ®
... ...
­ ®
­ 0 0 1 ®
«−an −an−1 . . . −a 2 −a 1 ¬

La matrice A est appelée la matrice compagnon du polynôme P . Son polynôme caractéristique est exactement
P , 1⁶ comme on le vérifie en développant le déterminant par rapport à la première colonne. Les valeurs propres
de A sont donc les λi avec multiplicité algébrique α i . Soit S l’espace vectoriel des solutions
Íp de Y 0 = AY , de
dimension n par le corollaire C.2.12. Notons E l’espace des fonctions de la forme y(t) = i=1 Q i (t)e λi t avec Q i
Íp
de degré inférieur à α i − 1. Comme i=1 α i = n , cet espace est aussi de dimension n (simple exercice d’algèbre
linéaire, à faire quand même !). 1⁷ On a vu précédemment que l’application Y 7→ Y1 envoie S dans E . Elle
est évidemment linéaire. Elle est de plus injective. En effet, si Y1 = y = 0, alors Yi = y (i−1) = 0 pour tout i .
Comme dim S = dim E , il s’ensuit qu’elle est surjective. ♦

On a bien sûr exactement la même description de la solution générale de (C.2.9) sur n’importe quel
intervalle de R. Pour retrouver dans le cas réel les solutions à valeurs réelles, on prend les parties réelles et
imaginaires, comme indiqué plus haut.
Donnons sans démonstration le résultat suivant pour le cas non homogène.

15. Marie Ennemond Camille Jordan, 1838–1922. Attention, c’est un garçon.


16. Bon, peut-être au signe près.
17. On rappelle que la dimension de l’espace des polynômes de degré inférieur à α i − 1 est α i .
170 C. Rappels sur les équations différentielles ordinaires

Théorème C.2.16 Soit Q un polynôme de degré q et λ ∈ C une constante. L’équation différentielle scalaire d’ordre
n à coefficients constants
y (n) (t) + a 1y (n−1) (t) + · · · + any(t) = Q(t)e λt
admet une solution particulière de la forme R(t)e λt où R(t) est un polynôme de degré q si λ n’est pas une racine de
P(x) et un polynôme de degré q + α i si λ = λi .

C.2.3 Systèmes différentiels linéaires à coefficients variables


Nous allons repasser ici au cas réel, dans la mesure où les questions de vecteurs propres et valeurs propres
ne vont pas jouer de rôle particulier.
Il n’y a pas de difficulté supplémentaire à traiter le cas complexe, naturellement. Dans ce qui suit,
A désigne donc une fonction continue de [0,T ] à valeurs dans Mm (R) et b une fonction continue de
t
A(s) ds

[0,T ] à valeurs dans Rm . Une tentation légitime serait d’essayer des formules du type y(t) = e y0 , 0

inspirées par le cas à coefficients constants, et par le cas général en∫ dimension un. Malheureusement, c’est
d t
A(s) ds = A(t), on n’a pas du tout que

complètement faux la plupart du temps... En effet, si l’on a bien dt 0
 ∫t  ∫t
d
dt e 0 A(s) ds = A(t)e 0 A(s) ds en général. 1⁸
Céder à cette tentation étant donc voué à l’échec, il faut procéder autrement. Commençons par obtenir
une forme intégrale équivalente du problème, qui vaudra également pour le cas non linéaire général (2.1.3).

Proposition C.2.17 Soit y une solution du problème de Cauchy (C.2.2), continue sur [0,T ]. Alors on a pour tout
t ∈ [0,T ] ∫ t
y(t) = y0 + A(s)y(s) + b(s) ds.

(C.2.10)
0

Réciproquement, soit y une fonction continue sur [0,T ] à valeurs dans Rm et satisfaisant l’équation intégrale
(C.2.10). Alors, y est dérivable sur ]0,T [ et solution du problème de Cauchy (C.2.2).

Démonstration. Soit y une solution du problème de Cauchy (C.2.2), continue sur [0,T ]. Comme y 0(t) =
A(t)y(t) +b(t), on voit que y 0 est∫continue sur ∫]0,T [ avec un prolongement continu en 0 et en T . Par conséquent,
t t
on en déduit que y(t) − y(0) = 0 y 0(s) ds = 0 A(s)y(s) + b(s) ds pour tout t ∈ [0,T ]. Comme y(0) = y0 par

la donnée initiale du problème de Cauchy, on obtient bien (C.2.10). ∫
t
Réciproquement, soit y une fonction continue vérifiant y(t) = y0 + 0 A(s)y(s) +b(s) ds pour tout t . Alors y

est automatiquement dérivable avec une dérivée continue sur ]0,T [. En effet, l’intégrande est continue. On peut
alors dériver cette égalité par rapport à t dans I , ce qui donne y 0(t) = A(t)y(t) +b(t), et donc y est bien solution
de l’équation différentielle. Par ailleurs, faisant t = 0, on obtient bien y(0) = y0 + A(s)y(s)+b(s) ds = y0 . ♦
∫0 
0

Les deux formulations, problème de Cauchy et équation intégrale, sont donc équivalentes. Nous allons
maintenant établir l’existence et l’unicité de la solution du problème de Cauchy dans le cas d’un système
linéaire à coefficients variables. Contrairement au cas des coefficients constants, nous ne pouvons pas nous
reposer sur une formule explicite à base d’exponentielles, il va donc falloir construire cette solution à partir de
rien...

Théorème C.2.18 On suppose A et b continues sur I¯ = [0,T ]. Le problème de Cauchy (C.2.2) admet une solution
unique y .

Démonstration. On va utiliser la forme intégrale de la proposition C.2.17. On définit sur I¯ par récurrence une
suite de fonctions vectorielles

∀t ∈ I,
¯ y0 (t) = y0, (C.2.11)
∫ t
yn+1 (t) = y0 + A(s)yn (s) + b(s) ds.

(C.2.12)
0

18. Essayer de s’en convaincre en tentant de le démontrer : on doit buter très vite sur des problèmes de non
commutativité.
C.2. Équations différentielles linéaires 171

Le premier terme de la suite est donc la fonction constante égale à la condition initiale, puis on applique
l’itération (C.2.12) pour définir chacun des termes suivants. Cette récurrence est manifestement bien définie et
l’on a yn ∈ C 0 (I¯; Rm ) pour tout n .
La démonstration consiste à prouver que la suite yn converge uniformément sur I¯ vers une fonction
solution de (C.2.10), puis que cette solution est unique. Il est ensuite facile d’étendre le résultat à un intervalle I
quelconque. Cette méthode s’étend au cas non linéaire (voir paragraphe C.3.1) et est connue dans la littérature,
pour la partie existence, sous le nom de méthode de Picard ¹⁹.
On va majorer assez finement la différence de deux termes successifs de la suite de Picard. La continuité
de la fonction A(t) entraîne celle de la fonction scalaire t 7→ kA(t)k . L’intervalle I¯ étant compact, cette fonction
est bornée sur I¯, c’est-à-dire qu’il existe un réel α tel que pour tout t ∈ I¯, kA(t)k ≤ α . D’après la propriété de
la norme matricielle (C.2.5), on a kA(s)zk ≤ kA(s)k kzk ≤ α kzk pour tout z ∈ Rm et tout s ∈ I¯. De même, la
fonction b étant continue sur le compact I¯, elle est, elle aussi, bornée en norme par une constante β .
∫t
Comme y1 (t) − y0 (t) = 0 A(s)y0 + b(s) ds , il vient par l’inégalité triangulaire


∫ t ∫ t
∀t ∈ [0,T ], ky1 (t) − y0 (t)k ≤ kA(s)y0 k + kb(s)k ds ≤ α ky0 k + β ds = α ky0 k + β t .
  
0 0

Pour tout n ≥ 1, on a de plus la relation


∫ t
yn+1 (t) − yn (t) = A(s) yn (s) − yn−1 (s) ds.

0

en soustrayant l’égalité (C.2.12) pour n − 1 de cette même égalité pour n . Par conséquent, comme pour tout
s ∈ I¯,
A(s) yn (s) − yn−1 (s) ≤ kA(s)kkyn (s) − yn−1 (s)k ≤ α kyn (s) − yn−1 (s)k,


on obtient en intégrant et utilisant l’inégalité triangulaire


∫ t
∀t ∈ [0,T ], kyn+1 (t) − yn (t)k ≤ α kyn (s) − yn−1 (s)k ds,
0

pour tout n ≥ 1.
Des inégalités précédentes, on va déduire la majoration

α ky0 k + β (αt)n+1
∀t ∈ [0,T ], kyn+1 (t) − yn (t)k ≤ . (C.2.13)
α (n + 1)!

On procède par récurrence. Tout d’abord, l’estimation (C.2.13) est vraie pour n = 0, on vient de le voir un peu
plus haut. Supposons la vraie en n , on obtient alors pour tout t ∈ [0,T ],
∫ t
kyn+2 (t) − yn+1 (t)k ≤ α kyn+1 (s) − yn (s)k ds
0
t
α ky0 k + β (αs)n+1

≤α ds
0 α (n + 1)!
α ky0 k + β t n+1

= α n+1 s ds
(n + 1)! 0
α ky0 k + β t n+2 α ky0 k + β (αt)n+2
= α n+1 = .
(n + 1)! n + 2 α (n + 2)!

L’estimation (C.2.13) étant maintenant établie, il s’ensuit que pour tout n ≥ 0,


!
α ky0 k + β (αt)n+1 α ky0 k + β (αT )n+1
kyn+1 − yn kC 0 ([0,T ];Rm ) = max kyn+1 (t) − yn (t)k ≤ max = .
t ∈[0,T ] t ∈[0,T ] α (n + 1)! α (n + 1)!

19. Charles Émile Picard, 1856–1941.


172 C. Rappels sur les équations différentielles ordinaires

kyn − yn−1 kC 0 ([0,T ];Rm ) est dominée par la série de terme général
Í∞
La série numérique à termes positifs n=1
(αT )n
n! , notoirement convergente. Elle donc est convergente, avec de plus
∞ ∞
Õ α ky0 k + β Õ (αT )n α ky0 k + β αT
kyn − yn−1 kC 0 ([0,T ];Rm ) = e −1 .


n=1
α n=1
n ! α
m
1 (yn −yn−1 ) est donc normalement convergente dans l’espace complet C ([0,T ]; R ),
∞ Í 0
La série de fonctions n=
par conséquent elle converge dans ce même espace. Écrivant la somme télescopique 2⁰
n
Õ
yn = y 0 + (yk − yk −1 ),
k =1

on voit que la suite yn converge uniformément sur [0,T ] vers la fonction continue

Õ
y = y0 + (yk − yk −1 ).
k =1

Comme
kA(t)yn (t) − A(t)y(t)k = kA(t)(yn (t) − y(t))k ≤ α kyn (t) − y(t)k,
on en déduit en passant au max sur t d’abord à droite, puis à gauche, que Ayn converge uniformément vers Ay
sur [0,T ]. On peut donc sans difficulté passer à la limite dans l’intégrale du membre de droite de (C.2.12) pour
obtenir (C.2.10).
Prenons maintenant deux solutions y et ỹ . Leur différence z = y − ỹ vérifie
∫ t
z(t) = A(s)z(s) ds. (C.2.14)
0

On montre exactement comme précédemment qu’alors on a, pour tout n ≥ 0,


(αt)n
kz(t)k ≤ M .
n!
(α t )n
où M = max[0,T ] kz(t)k . Or n ! → 0 quand n → +∞ pour tout t . Ceci implique que z(t) = 0 pour tout t ,
l’unicité de la solution de (C.2.17) est donc établie. ♦

Remarquons que l’on peut voir cette démonstration d’un peu plus haut comme une application du théorème
de point fixe de Picard (ou de Banach 21 suivant le pays dans lequel on se trouve) sur les applications strictement
contractantes dans un espace métrique complet. 22 Mais il est un peu dommage de se priver de l’approche
itérative de Picard pour un peu plus d’abstraction sans vraiment gagner tant que ça en longueur de preuve...
Ce théorème, ainsi que le théorème de Cauchy-Lipschitz qui viendra bientôt le compléter, est une
illustration particulièrement éclatante de la puissance de la notion de complétude. En effet, nous sommes ici
devant un problème dont nous n’avions au départ pas la moindre idée s’il admettait ou non une solution. Nous
construisons alors une suite de fonctions (dans un espace complet) qui, si elle converge, a de bonnes chances
de nous donner l’existence d’une telle solution. Pour montrer qu’elle converge, c’est-à-dire pour montrer qu’il
existe une limite à cette suite, et par conséquent résoudre le problème de départ, on montre simplement
qu’elle est de Cauchy et la complétude de l’espace ambiant fait le reste !
cos(t) − sin(t)
La Figure C.1 montre un exemple pour l’edo y 0(t) = y(t) (m = 2) avec la donnée initiale
sin(t) cos(t)
 
0
y(0) = .
1

20. Cette astuce de passer par une somme télescopique qui se trouve être une série convergente est assez
courante.
21. Stefan Banach, 1892–1945.
22. À condition de bien choisir l’espace métrique en question. Celui que nous avons pris ici est un peu trop
naïf. Prendre m = 1, A(s) = 1 et T > 1 pour le voir. Nous retrouverons ce théorème de point fixe de Picard
dans la seconde partie du cours sur les approximations numériques.
C.2. Équations différentielles linéaires 173

Figure C.1 – Un exemple d’itérations de Picard. Les courbes de même couleur correspondent
aux deux composantes de la même itération, en commençant par noir, bleu foncé, etc. À
droite, l’ordre des couleurs de la palette par défaut de scilab.

Corollaire C.2.19 L’ensemble des solutions de l’équation homogène y 0(t) = A(t)y(t) est un espace vectoriel de
dimension m .

Démonstration. Soit S cet ensemble. On a déjà vu que c’est un espace vectoriel, cf. Proposition C.2.5. 23
L’application qui à y ∈ S fait correspondre y(0) ∈ Rm est trivialement linéaire. Elle est surjective puisque tout
y0 ∈ Rm donne naissance à un y ∈ S par l’existence du théorème C.2.18, et injective, car si y(0) = 0, alors
y(t) = 0 pour tout t , par l’unicité du même théorème. C’est par conséquent un isomorphisme de S sur Rm .
Comme dim Rm = m , on en déduit que dim S = m . ♦

Exemple C.2.1 Exponentielle de matrices, le retour.


Reprenons le cas d’une équation linéaire autonome sur Rm , y 0(t) = Ay(t) avec y(0) = y0 , où A ∈ Mm (R) ne
dépend pas de t . On est bien dans le cadre d’application du théorème C.2.18 et on peut expliciter la méthode
itérative utilisée dans la démonstration.
La première itération donne
∫ t
y1 (t) = y0 + Ay0 ds = Iy0 + tAy0 = [(tA)0 + (tA)1 ]y0 .
0

La seconde itération donne


∫ t ∫ t
y2 (t) = y0 + Ay1 (s) ds = y0 + A(y0 + sAy0 ) ds
0 0
t2 h (tA)2 i
= Iy0 + tAy0 + A2y0 = (tA)0 + (tA)1 + y0 .
2 2

23. Considérée comme évidente, donc donnée sans preuve...


174 C. Rappels sur les équations différentielles ordinaires

Une récurrence immédiate (mais ce n’est pas une raison de ne pas la faire en détail) conduit alors à
n
h (tA)2 (tA)n i hÕ (tA)k i
yn (t) = (tA)0 + (tA)1 + +···+ y0 = y0 .
2 n! k!
k =0

Comme on l’a vu dans le cas général, la suite yn n ∈N converge vers la solution y du problème de Cauchy. On


retrouve donc par ce biais itératif que l’on a bien y(t) = e t Ay0 dans ce cas particulier. ♦

On a également un résultat sur la dépendance continue de la solution par rapport aux conditions initiales.

Proposition C.2.20 Soient y0 et ỹ0 deux conditions initiales pour le problème de Cauchy (C.2.2), et y et ỹ les
solutions correspondantes sur [0,T ]. Alors on a

ky − ỹ kC 0 ([0,T ];Rm ) ≤ e αT ky0 − ỹ0 k,

où α = max[0,T ] kA(t)k , et l’application y0 7→ y est donc continue de Rm dans C 0 ([0,T ]; Rm ).

Démonstration. Soit y (resp. ỹ ) la solution de (C.2.2) correspondant à la donnée initiale y0 ∈ Rm (resp. ỹ0 ).
On a donc y 0(t) − ỹ 0(t) = A(t)(y(t) − ỹ(t)) pour tout t . Prenons le produit scalaire 2⁴ de l’égalité précédente par
y(t) − ỹ(t). Pour le membre de gauche, il vient
 1d
y 0(t) − ỹ 0(t) y(t) − ỹ(t) = ky(t) − ỹ(t)k 2 .
2 dt
En effet, pour toute fonction t 7→ z(t) dérivable de I dans Rm , on peut écrire à t fixé z(t +h) = z(t)+hz 0(t)+hε(h)
où ε(h) est une fonction à valeurs vectorielles telle que kε(h)k → 0 quand h → 0. Il vient donc

kz(t + h)k 2 = z(t + h) z(t + h)




= z(t) + hz 0(t) + hε(h) z(t) + hz 0(t) + hε(h)




= z(t) z(t) + hz 0(t) z(t) + z(t)) hz 0(t) + hε˜(h)


  

= kz(t)k 2 + 2h z 0(t) z(t) + hε˜(h),




où l’on a posé ε˜(h) = ε(h) 2z(t) + hz 0(t) + hε(h) + hkz 0(t)k 2 , si bien que |ε˜(h)| → 0 quand h → 0, d’où le


résultat en repassant kz(t)k 2 au membre de gauche, en divisant par h puis en faisant tendre h vers 0. Pour le
membre de droite, on trouve

A(t)(y(t) − ỹ(t)) y(t) − ỹ(t) ≤ kA(t)(y(t) − ỹ(t))kky(t) − ỹ(t)k ≤ α ky(t) − ỹ(t)k 2,




par l’inégalité de Cauchy-Schwarz, la définition d’une norme matricielle et celle de la constante α . Posons
v(t) = ky(t) − ỹ(t)k 2 . On a donc obtenu l’inéquation différentielle

v 0(t) ≤ 2αv(t),

qui se résout très facilement à l’aide d’un facteur intégrant

0 ≥ e −2α t (v 0(t) − 2αv(t)) = e −2α t v(t) .


0

La fonction t 7→ e −2α t v(t) est donc décroissante, ce qui implique que e −2α t v(t) ≤ v(0) pour tout t ∈ [0,T ], soit

ky(t) − ỹ(t)k ≤ e α t ky0 − ỹ0 k ≤ e αT ky0 − ỹ0 k.

On en déduit que
ky − ỹ kC 0 ([0,T ];Rm ) = max ky(t) − ỹ(t)k ≤ e αT ky0 − ỹ0 k,
t ∈[0,T ]

d’où la continuité annoncée. ♦


24. Dans le cas complexe, il faut prendre la partie réelle du produit scalaire hermitien sur Cm , pour lequel
(u |v) = (v |u).
C.2. Équations différentielles linéaires 175

Le résultat signifie entre autres que quand ỹ0 tend vers y0 dans Rm , alors les solutions correspondantes
convergent uniformément sur [0,T ]. On dit qu’il y a dépendance continue par rapport aux données initiales.
Pour être continue, cette dépendance n’en peut pas moins être très sensible. En effet, il se peut que le facteur
exponentiel e αT soit effectif, c’est-à-dire pas seulement une majoration mais essentiellement atteint, et il
peut-être numériquement énorme dès que αT est modérément grand, comme dans toute exponentielle qui se
respecte.
Le théorème C.2.18 assure l’existence et l’unicité de la solution du problème de Cauchy. On a vu que des
t
formules du genre y(t) = e 0 A(s) ds y0 ne marchent pas. Est-il néanmoins possible d’écrire cette solution de

façon plus ou moins explicite, comme dans le cas des coefficients constants ?
Prenons tout d’abord le cas homogène, b = 0. On va considérer ici le problème de Cauchy posé sur R
entier, avec donnée initiale à l’instant t 0 au lieu de 0. Bien sûr, le résultat d’existence et d’unicité est inchangé.

Théorème C.2.21 Il existe une application R de R2 dans GLm (R), appelée la résolvante du système différentiel,
telle que la solution du problème de Cauchy homogène

y 0(t) = A(t)y(t),


y(t 0 ) = y0,

est donnée par


y(t) = R(t, t 0 )y0 .

Démonstration. Soit S l’espace vectoriel des solutions de l’EDO. L’application y0 7→ y est un isomorphisme de
Rm dans S , car c’est l’application réciproque de l’isomorphisme du corollaire C.2.19. Fixons t . L’application
qui à y fait correspondre y(t) est trivialement linéaire de S dans Rm et aussi un isomorphisme. L’application
y0 7→ y(t) est la composée de ces deux isomorphismes, c’est donc un automorphisme de Rm . La résolvante est
simplement la matrice — inversible — de cet automorphisme dans la base canonique. ♦

Dans le cas d’une équation à coefficients constants, on retrouve R(t, t 0 ) = e (t −t0 )A . En utilisant encore
l’unicité de la solution du problème de Cauchy, on obtient la propriété suivante pour tous t 0 , t 1 , t 2 , R(t 2, t 0 ) =
R(t 2, t 1 )R(t 1, t 0 ). Faisant t 2 = t 0 et en raison du fait évident que R(t 0, t 0 ) = I , on en déduit que (R(t 1, t 0 ))−1 =
R(t 0, t 1 ).

Définition C.2.22 Soient (y i (t))i=1,...,m , les m solutions du problème de Cauchy homogène, obtenues en prenant
comme conditions initiales à t 0 les m vecteurs d’une base quelconque de Rm . On dit qu’elles forment un système
fondamental et on définit leur matrice wronskienne par

y 1 (t) · · · ym
1 (t)ª
© 1. .. ® .
W (t) = ­­ .. . ®
m (t)
«ym (t) · · · ym
1
¬

Proposition C.2.23 La matrice wronskienne satisfait W 0(t) = A(t)W (t) et est liée à la résolvante par R(t, t 0 ) =
W (t)W (t 0 )−1 .

Démonstration. La première relation est juste l’expression du produit matriciel AW à l’aide des produits
matrice-vecteur de A avec les colonnes deÍW . Soit y0 une donnée initiale en t 0 . On la décompose sur la
base (y i (t 0 ))i=1,...,m sous la forme y0 = m i
i=1 λ i y (t 0 ), c’est-à-dire y 0 = W (t 0 )λ , où λ désigne le vecteur
colonne des λi . Par unicité du problème de Í Cauchy, on vérifie comme précédemment que la solution y
correspondant à y0 est donnée par y(t) = m i
i=1 λ i y (t), c’est-à-dire y(t) = W (t)λ . Comme par ailleurs,
y(t) = R(t, t 0 )y0 = R(t, t 0 )W (t 0 )λ, on obtient W (t)λ = R(t, t 0 )W (t 0 )λ pour tout λ ∈ Rm . Il s’ensuit que
W (t) = R(t, t 0 )W (t 0 ). ♦

Les espoirs de formules explicites sont un peu déçus. En effet, en général, on ne peut pas calculer
explicitement la matrice wronskienne d’une base, ni donc la résolvante. Il se trouve que son déterminant, que
d
l’on appelle le wronskien ²⁵, est solution de l’EDO scalaire dt (det W )(t) = tr A(t) det W (t). Cette équation à

25. Josef Hoëné-Wronski, 1776–1853.


176 C. Rappels sur les équations différentielles ordinaires

variables séparées se résout avec le facteur intégrant qui s’impose et on connaît sa donnée initiale, qui est le
déterminant de la base de départ. Il s’agit du théorème de Liouville.
Venons-en au cas non homogène. On reprend la méthode de la variation de la constante en posant
y(t) = W (t)λ(t), ce qui est loisible puisque W (t) est toujours inversible. Il vient d’une part

y 0(t) = W 0(t)λ(t) + W (t)λ 0(t)


= A(t)W (t)λ(t) + W (t)λ 0(t)
= A(t)y(t) + W (t)λ 0(t),

par la formule de Leibniz et l’expression de la dérivée de la matrice wronskienne. D’un autre côté, l’EDO nous
dit que y 0(t) = A(t)y(t) + b(t). Comparant les deux expressions, on en déduit que λ 0(t) = W (t)−1b(t) et de là,
en intégrant entre t 0 et t
∫ t ∫ t
λ(t) = λ(t 0 ) + W (s) b(s) ds = W (t 0 ) y0 +
−1 −1
W (s)−1b(s) ds.
t0 t0

Reportant l’expression de λ ainsi obtenue dans y , on a montré le

Théorème C.2.24 La solution unique du problème de Cauchy

y 0(t) = A(t)y(t) + b(t),




y(t 0 ) = y0,

est donnée par


 ∫ t 
y(t) = W (t) W (t 0 ) y0 +
−1
W (s)−1b(s) ds
t0
∫ t
= R(t, t 0 )y0 + R(t, s)b(s) ds.
t0

C’est la formule de Duhamel dans le cas des coefficients variables. Sauf que, en général, on ne peut pas
calculer R(t, s). Dans le cas très particulier où A(t) et A(s) commutent pour tous t et s , la forme générale se
simplifie et on peut expliciter la solution en fonction de A(t) et b(t).

Proposition C.2.25 Supposons que pour tous t, s ∈ I , A(t)A(s) = A(s)A(t). Alors La solution unique du problème
de Cauchy
y 0(t) = A(t)y(t) + b(t),


y(t 0 ) = y0,
est donnée par
∫ t
y(t) = R(t, t 0 )y0 + R(t, s)b(s) ds.
t0

avec ∫t
A(s) ds
R(t, t 0 ) = e t0
.

Démonstration. Montrons d’abord que A commute avec ses primitives. En effet


∫ t  ∫ t ∫ t ∫ t 
A(s) ds A(t) = A(s)A(t) ds = A(t)A(s) ds = A(t) A(s) ds
t0 t0 t0 t0

(la multiplication à gauche ou à droite par A(t) est linéaire et passe donc dans l’intégrale, écrire les coefficients
pour le voir). Considérons maintenant une fonction t 7→ F (t) dérivable à valeurs dans Mm (R) qui commute
avec sa dérivée F (t)F 0(t) = F 0(t)F (t). On en déduit par une récurrence immédiate (mais à faire quand même)
C.3. Existence et unicité dans le cas général 177

que pour tout k ∈ N, (F k ) 0(t) = kF (t)k −1 F 0(t) = kF 0(t)F (t)k −1 sur I . 2⁶ Reprenant la série entière qui définit
l’exponentielle, on en déduit que
d F (t ) 
e = e F (t ) F 0(t) = F 0(t)e F (t ),
dt
∫t
relation qu’il suffit d’appliquer à F (t) = t A(s) ds pour conclure. ♦
0

On retrouve que dans le cas où A est constant, donc commute à tout temps, R(t, t 0 ) = e (t −t0 )A .

C.3 Existence et unicité dans le cas général


Nous abordons maintenant le cas général où le second membre f (t, y) du système différentiel n’est plus
linéaire par rapport à y . Après un détour dans le passé glorieux, nous traitons au paragraphe C.3.1 le cas où f
est globalement lipschitzienne, et où il y a existence et unicité d’une solution sur tout l’intervalle de temps I¯.

C.3.1 Résultats d’existence et d’unicité dans le cas général


Nous allons maintenant énoncer et démontrer le premier grand théorème concernant les EDO dans le cas
général, le théorème de Cauchy-Lipschitz global. C’est le résultat fondamental d’existence et d’unicité pour une
vaste classe de problèmes de Cauchy.
On introduit d’abord une propriété qui est en quelque sorte intermédiaire entre la continuité et la
différentiabilité.

Définition C.3.1 On dit qu’une fonction f de [0,T ] × Rm dans Rm est globalement lipschitzienne relativement
à la variable y , uniformément par rapport à t , s’il existe une constante L telle que, pour tous y et z ∈ Rm et pour
tout t ∈ [0,T ] on ait
k f (t, y) − f (t, z)k ≤ Lky − zk,
où k · k désigne (par exemple) la norme euclidienne sur Rm . La plus petite constante L pour laquelle la majoration
a lieu s’appelle la constante de Lipschitz de la fonction f .

Remarquons que pour tout t , l’application y 7→ f (t, y) est alors continue de Rm dans Rm . Elle n’est par
contre pas nécessairement différentiable, comme l’exemple y 7→ |y| de R dans R le montre.
On sait que toutes les normes sur Rm sont équivalentes, donc le choix de la norme euclidienne n’est pas
fondamental, n’importe quelle autre norme ferait aussi bien l’affaire.
Cette condition de Lipschitz semble devoir jouer un rôle crucial par la suite, alors autant donner tout de
suite des conditions suffisantes faciles à vérifier qui l’entraînent.

Proposition C.3.2 Supposons que f possède des dérivées partielles par rapport à yi , i = 1, . . . , m , continues par
rapport à y et bornées sur R × Rm . Alors f est globalement lipschitzienne relativement à y , uniformément par
rapport à t .
∂f
Démonstration. On suppose donc que ∂yi (t, y) existe pour tout i et définit une fonction continue par rapport à
∂f
y et bornée au sens où il existe C tel que ∂yi (t, y) ≤ C pour tout (t, y) ∈ R × Rm et tout i .
Prenons deux points y et z de Rm . Pour tout t ∈ [0,T ], l’application д : [0, 1] → Rm , s 7→ f (t, sy + (1 −s)z)
est de classe C 1 par dérivation des fonctions composées, avec
m
Õ ∂f d
д 0(s) = (t, sy + (1 − s)z) (sy + (1 − s)z)i
i=1
∂yi ds
m
Õ ∂f
= (t, sy + (1 − s)z)(yi − zi ).
i=1
∂y i

26. Ces formules sont bien sûr violemment fausses si F (t) et F 0(t) ne commutent pas, ce qui est le cas général.
178 C. Rappels sur les équations différentielles ordinaires

Comme д 0 est continue sur [0, 1], il s’ensuit que

f (t, y) − f (t, z) = д(1) − д(0)


∫ 1
= д 0(s) ds
0
m 1
∂f
Õ ∫
= (yi − zi ) (t, sy + (1 − s)z) ds.
i=1 0 ∂yi

Prenant la norme des deux membres, on en déduit par l’inégalité triangulaire


m
Õ √
k f (t, y) − f (t, z)k ≤ C |yi − zi | ≤ C mky − zk,
i=1

avec l’inégalité de Cauchy-Schwarz pour conclure. ♦

Remarque C.3.1 Il est en général assez facile de voir si une fonction donnée a des dérivées partielles et si
ces dérivées partielles sont continues et bornées, d’où l’intérêt de ce qui précède. Dans le cas d’une équation
autonome où f ne dépend pas de t , il suffit donc que f soit de classe C 1 et ait des dérivées partielles bornées
sur Rm . Dans le cas scalaire, m = 1, y 0(t) = f (y(t)), il suffit donc qu’il existe C tel que | f 0(y)| ≤ C pour tout
y ∈ R.
Attention, la condition de la proposition C.3.2 n’est qu’une condition suffisante. Il existe évidemment
de nombreuses fonctions lipschitziennes qui ne sont pas C 1 , ni même ne sont partout dérivables. Il est donc
hautement préférable d’éviter de déclarer C 1 une fonction qui ne l’est manifestement pas. ♦

Notons que toute solution de toute EDO raisonnable a une régularité minimale automatique.

Proposition C.3.3 Supposons que f soit continue par rapport à (t, y). Alors toute solution y de l’EDO y 0(t) =
f (t, y(t)) est de classe C 1 .
Démonstration. Soit y une telle solution. Par définition, elle est dérivable sur son intervalle de définition, donc
continue. Par composition des fonctions continues, on en déduit que t 7→ f (t, y(t)) est continue, c’est-à-dire
que y 0 est continue, c’est-à-dire que y est C 1 . ♦

Remarquons que si y est continue jusqu’aux bornes de son intervalle de définition, il en va de même
pour y 0, au sens où y 0 admet un prolongement continu sur l’intervalle fermé. On reviendra plus loin sur ces
questions de régularité de la solution d’une EDO. Nous énonçons maintenant le premier résultat fondamental
d’existence et d’unicité, le théorème de Cauchy-Lipschitz global.

Théorème C.3.4 (Cauchy-Lipschitz global) Soit T > 0 un réel fixé. Soit f une fonction continue sur [0,T ]×Rm
à valeurs dans Rm et globalement lipschitzienne par rapport à la variable y , uniformément par rapport à t . Alors
pour toute donnée initiale y0 ∈ Rm , il existe une unique solution y au problème de Cauchy (2.1.3).

Avant d’entamer la preuve, un petit commentaire sur les hypothèses demandées sur f . En effet, celles-ci
sont un tout petit peu redondantes, car on a la proposition suivante.

Proposition C.3.5 Toute fonction f : [0,T ] × Rm → Rm qui est continue par rapport à t à y fixé et globalement
lipschitzienne par rapport à y , uniformément par rapport à t , est en fait continue par rapport au couple (t, y).

Démonstration. Soit (t, y) ∈ [0,T ] × Rm et prenons une suite (tn , yn ) → (t, y) quand n → +∞ quelconque. On
peut écrire
f (tn , yn ) − f (t, y) = f (tn , yn ) − f (tn , y) + f (tn , y) − f (t, y),
si bien que par l’inégalité triangulaire

k f (tn , yn ) − f (t, y)k ≤ k f (tn , yn ) − f (tn , y)k + k f (tn , y) − f (t, y)k


≤ Lkyn − y k + k f (tn , y) − f (t, y)k → 0 quand n → +∞,
C.3. Existence et unicité dans le cas général 179

par la continuité par rapport à t à y fixé pour le second terme. ♦

Naturellement, une fonction continue par rapport au couple (t, y) est trivialement continue par rapport à t
à y fixé sans autre hypothèse. Ceci dit, dans les applications pratiques, la continuité par rapport à (t, y) se
voit aussi facilement que la continuité par rapport à t à y fixé, donc le fait que l’énoncé du théorème C.3.4
comporte des hypothèses légèrement redondantes n’est pas dramatique en soi. On rappelle quand même
qu’une fonction de deux variables peut très bien être continue séparément par rapport à chaque variable, mais
pas continue par rapport au couple de variables, comme par exemple д : R2 → R définie par д(0, 0) = 0 et
ty
д(t, y) = t 2 +y 2 pour (t, y) , (0, 0).
La preuve du théorème de Cauchy-Lipschitz global est pratiquement identique à celle déjà faite dans le
cas linéaire au paragraphe C.2, cf. théorème C.2.18, page 170. Le sentiment de déjà-vu est donc normal, car les
idées principales ont déjà été exposées. En vue de l’unicité, montrons d’abord un résultat d’intérêt général, le
lemme de Grönwall 2⁷ (ou une de ses versions les plus simples).

Proposition C.3.6 Soient deux réels α , 0 et β . Soit une fonction continue v de [0,T ] dans R, dérivable sur
]0,T [ et vérifiant
v 0(t) ≤ αv(t) + β
sur ce dernier intervalle. Alors pour tout t ∈ [0,T ],
β β αt
 
v(t) + ≤ v(0) + e .
α α

Démonstration. On effectue le changement de fonction


β
 
z(t) = v(t) + e −α t .
α
La fonction z est dérivable sur ]0,T [ et l’on a

z 0(t) = −(αv(t) + β)e −α t + v 0(t)e −α t ≤ 0.


Le théorème des accroissements finis implique que z est décroissante, en particulier que z(t) ≤ z(0), ce qui est
exactement la conclusion du lemme de Grönwall. ♦

On a déjà rencontré le lemme de Grönwall en passant dans le cas β = 0 et c’est le plus souvent dans ce cas
que nous l’utiliserons ici. Mais enfin, il ne coûte pas beaucoup plus cher quand β , 0, alors pourquoi s’en
priver ?
Entamons maintenant la démonstration du théorème de Cauchy-Lipschitz global C.3.4. On notera de
façon générique L la constante de Lipschitz de f par rapport à y .

Proposition C.3.7 Sous les hypothèses du Théorème C.3.4, si y et ỹ sont deux solutions de l’équation différentielle
y 0(t) = f (t, y(t)), on a, pour tout t ∈ [0,T ],
ky(t) − ỹ(t)k ≤ e Lt ky(0) − ỹ(0)k.

Démonstration. La preuve est strictement identique à celle de la proposition C.2.20, mais nous la recopions
quand même ici.
Soient y et ỹ deux solutions de (2.1.3). On a donc y 0(t) − ỹ 0(t) = f (t, y(t)) − f (t, ỹ(t)) pour tout t . Prenons
le produit scalaire de l’égalité précédente par y(t) − ỹ(t). On obtient
1d
ky(t) − ỹ(t)k 2 = f (t, y(t)) − f (t, ỹ(t)) y(t) − ỹ(t) .

2 dt
Par l’inégalité de Cauchy-Schwarz et le fait que f est globalement lipschitzienne par rapport à y , uniformément
par rapport à t et de constante de Lipschitz L,

f (t, y(t)) − f (t, ỹ(t)) y(t) − ỹ(t) ≤ k f (t, y(t)) − f (t, ỹ(t))kky(t) − ỹ(t)k ≤ Lky(t) − ỹ(t)k 2 .


27. Thomas Hakon Grönwall, 1877–1932.


180 C. Rappels sur les équations différentielles ordinaires

Posons v(t) = ky(t) − ỹ(t)k 2 , on a obtenu l’inéquation différentielle

v 0(t) ≤ 2Lv(t).

Le lemme de Grönwall avec α = 2L et β = 0 (ou le facteur intégrant qui s’impose) nous assure alors que

v(t) ≤ v(0)e 2Lt .

Mais v(0) = ky(0) − ỹ(0)k 2 , d’où le résultat en prenant la racine carrée. ♦

Proposition C.3.8 (Cauchy-Lipschitz, unicité) Sous les hypothèses du Théorème C.3.4, le problème de Cauchy
(2.1.3) a au plus une solution.

Démonstration. On applique la proposition C.3.7 à deux solutions y et ỹ du problème de Cauchy. Pour ces
deux solutions, on a y(0) = ỹ(0) = y0 , donc ky(0) − ỹ(0)k = 0. ♦

La proposition C.3.7 a un intérêt propre, car c’est un résultat de continuité des solutions (encore éventuelles
à ce stade) par rapport aux données initiales, comme dans le cas linéaire. En effet, l’estimation étant valable
pour tout t , on en déduit en passant au maximum sur [0,T ] que

ky − ỹ kC 0 ([0,T ];Rm ) ≤ e LT ky(0) − ỹ(0)k.

Si l’on prend donc une suite de données initiales y0k telle que y0k → y0 quand k → +∞, alors la suite y k
des solutions correspondantes du problème de Cauchy converge uniformément sur [0,T ] vers la solution y
correspondant à la donnée initiale y0 .
Ce résultat est de plus quantitatif. En effet, on voit que la différence des valeurs prises par deux solutions
au temps t , avec des valeurs initiales distinctes, n’augmente pas plus vite en norme avec t , relativement à la
différence initiale, que le facteur e Lt . Une petite différence sur les valeurs initiales conduit à une différence au
temps t qui est au plus exponentiellement amplifiée avec le temps. C’est ce que l’on appelle populairement
l’effet papillon 2⁸. Attention, la preuve précédente ne montre pas que cet effet se produit, puisque ce n’est
qu’une majoration. Il se trouve que l’effet a effectivement lieu pour certaines EDO, c’est-à-dire que la différence
entre deux solutions de données initiales distinctes croît effectivement exponentiellement avec le temps, et pas
pour d’autres. Et bien sûr, une exponentielle de ce type devient rapidement énorme, c’est-à-dire que l’évolution
du système devient en pratique imprévisible car on ne connaît jamais exactement la condition initiale. C’est ce
que l’on appelle le chaos déterministe. Il n’y a par ailleurs aucune contradiction entre cette imprévisibilité en
pratique, si elle se produit, et la continuité par rapport aux données initiales précédemment évoquée, ni avec
le déterminisme sous-jacent.
Une dernière remarque sur l’instant initial 0. Cette valeur spécifique n’a naturellement aucune importance.
Il est bien clair que pour tout t 0 ∈ [0,T ], on a ky(t) − ỹ(t)k ≤ ky(t 0 ) − ỹ(t 0 )ke L |t −t0 | pour tout t ∈ [0,T ].
Prouvons maintenant l’existence de solutions, de la même manière que dans le cas linéaire. On part de la
forme intégrale équivalente du problème.

Proposition C.3.9 On suppose que la fonction second membre de l’EDO, f , est une fonction continue sur I¯ × Rm .
Soit y une solution du problème de Cauchy (2.1.3), continue sur [0,T ]. Alors on a pour tout t ∈ [0,T ]
∫ t
y(t) = y0 + f s, y(s) ds.

(C.3.1)
0

Réciproquement, soit y une fonction continue sur [0,T ] à valeurs dans Rm et satisfaisant l’équation intégrale
(C.3.1). Alors, y est dérivable sur I et solution du problème de Cauchy (2.1.3).

Démonstration. La démonstration est strictement identique au cas linéaire, voir proposition C.2.17. ♦

Les deux formulations, problème de Cauchy et équation intégrale, sont donc équivalentes.

28. Sauf que dans le cas du papillon, ce sont des EDP et non des EDO qui sont en cause. Mais la problématique
est la même, c’est juste beaucoup plus compliqué.
C.3. Existence et unicité dans le cas général 181

Proposition C.3.10 (Cauchy-Lipschitz, existence) Sous les hypothèses du théorème C.3.4, le problème de
Cauchy (2.1.3) a au moins une solution.

Démonstration. On utilise encore la méthode des approximations successives de Picard. 2⁹ On définit donc
une suite de fonctions continues (yn )n ∈N , en posant pour tout t ∈ [0,T ],
∫ t
y0 (t) = y0, yn+1 (t) = y0 + f (s, yn (s)) ds.
0

Il vient d’abord ∫ t
y1 (t) − y0 (t) = f (s, y0 ) ds,
0
puis pour tout n ≥ 1 ∫ t
yn+1 (t) − yn (t) = f (s, yn (s)) − f (s, yn−1 (s)) ds.

0
Comme f (t, x) est continue par hypothèse, la fonction s 7→ k f (s, y0 )k est continue sur [0,T ] et donc bornée
puisque l’intervalle [0,T ] est compact. En notant M un majorant de cette fonction, on obtient pour tout
t ∈ [0,T ], ∫ t
ky1 (t) − y0 (t)k ≤ k f (s, y0 )k ds ≤ Mt .
0
Ensuite, en utilisant le caractère lipschitzien de f , on voit que pour tout t ∈ [0,T ],
∫ t ∫ t
kyn+1 (t) − yn (t)k ≤ f (s, yn (s)) − f (s, yn−1 (s)) ds ≤ L kyn (s) − yn−1 (s)k ds.
0 0

On en déduit par récurrence sur n , exactement comme dans le cas linéaire, 3⁰ que

M (Lt)n+1
∀t ∈ [0,T ], kyn+1 (t) − yn (t)k ≤ .
L (n + 1)!
Il s’ensuit comme précédemment que la série n ≥1 (yn − yn−1 ) est normalement convergente dans l’espace
Í
complet C 0 ([0,T ]; Rm ). Ceci implique de la même façon que la suite yn converge uniformément sur [0,T ]
vers une fonction continue y : [0,T ] → Rm .
Comme k f (s, yn (s)) − f (s, y(s))k ≤ Lkyn (s) − y(s)k
 car f est globalement lipschitzienne, on en déduit
que la suite de fonctions continues s 7→ f (s, yn (s)) n converge uniformément vers la fonction continue
s 7→ f (s, y(s)) sur [0,T ]. On peut donc passer à la limite dans l’intégrale du membre de droite de la définition
de yn+1 et obtenir, pour tout t ∈ [0,T ],
∫ t
y(t) = y0 + f (s, y(s)) ds,
0

puisque le membre de gauche tend uniformément vers y . Par la proposition C.3.9, on en déduit que y est
solution du problème de Cauchy. ♦

Le théorème de Cauchy-Lipschitz global est donc maintenant démontré par la conjonction des propositions
C.3.8 et C.3.10. La solution est dite globale car elle existe sur la totalité de l’intervalle d’étude [0,T ].
Répétons ici que le fait de choisir l’instant initial à t = 0 n’a aucune importance, pas plus que le sens du
temps d’ailleurs.

Corollaire C.3.11 i) Si f : [t 0,T ] × Rm → Rm satisfait les hypothèses de Cauchy-Lipschitz global, alors le


problème de Cauchy y 0(t) = f (t, y(t)) sur ]t 0,T [, y(t 0 ) = y0 , admet une solution unique pour tout y0 ∈ Rm .
ii) Si f : [−T , 0] × Rm → Rm , T > 0, satisfait les hypothèses de Cauchy-Lipschitz global, alors le problème
de Cauchy rétrograde y 0(t) = f (t, y(t)) sur ]−T , 0[, y(0) = y0 , admet une solution unique pour tout y0 ∈ Rm .

29. D’ailleurs, en anglais le théorème de Cauchy-Lipschitz est connu sous le nom de Picard-Lindelöf theorem.
Ernst Leonard Lindelöf, 1870–1946.
30. L joue le rôle du α du cas linéaire et M celui de α ky0 k + β . Ces rôles sont bien évidents.
182 C. Rappels sur les équations différentielles ordinaires

Démonstration. i) Introduisons le changement de variable qui s’impose, s = t −t 0 . Soit д : [0,T −t 0 ]×Rm → Rm


définie par д(s, y) = f (s + t 0, y). Il est bien clair que д satisfait les hypothèses du théorème de Cauchy-Lipschitz
global 31, donc le problème de Cauchy z 0(s) = д(s, z(s)), z(0) = y0 , admet une solution unique, qui engendre la
solution unique du problème de départ y(t) = z(t − t 0 ).
ii) Le changement de variable qui s’impose ici est s = −t . Soit д : [0,T ] × Rm → Rm définie par
д(s, y) = −f (−s, y). Il est bien clair que д satisfait les hypothèses du théorème de Cauchy-Lipschitz global 32,
donc le problème de Cauchy z 0(s) = д(s, z(s)), z(0) = y0 , admet une solution unique, qui engendre la solution
unique du problème de départ y(t) = z(−t). ♦

Notons une conséquence importante du théorème de Cauchy-Lipschitz, qui est que deux courbes intégrales
distinctes ne peuvent pas se croiser. En d’autres termes, si jamais deux courbes intégrales se croisent, alors
elles sont en fait confondues et correspondent à la même solution.

Corollaire C.3.12 Sous les hypothèses du théorème C.3.4, si deux solutions y et ỹ correspondant aux données
initiales y0 et ỹ0 sont telles qu’il existe t 0 ∈ [0,T ] tel que y(t 0 ) = ỹ(t 0 ), alors y0 = ỹ0 et y(t) = ỹ(t) pour tout t .

Démonstration. Si t 0 = 0, on conclut immédiatement par l’unicité de Cauchy-Lipschitz. Supposons t 0 > 0 et


soit z 0 = y(t 0 ) = ỹ(t 0 ). On considère le problème de Cauchy

z (s) = −f (t 0 − s, z(s)), pour tout s ∈ [0, t 0 ],


 0

z(0) = z 0 .

Ce problème relève évidemment du théorème de Cauchy-Lipschitz, il admet une solution et une seule sur
[0, t 0 ]. On remarque que z(s) = y(t 0 − s) et z̃(s) = ỹ(t 0 − s) en sont solution. En effet, z 0(s) = −y 0(t 0 − s) =
−f (t 0 − s, y(t 0 − s)) = −f (t 0 − s, z(s)) et de même pour z̃ . Il s’ensuit par l’unicité que z = z̃ . En particulier pour
s = t 0 , il vient y0 = y(0) = z(t 0 ) = z̃(t 0 ) = ỹ(0) = ỹ0 . Par unicité du problème de Cauchy initial, en repartant
dans le sens normal du temps, on en déduit que y = ỹ sur [0,T ]. ♦

On a simplement remonté le temps et décalé l’origine, c’est-à-dire les deux situations du corollaire
immédiatement précédent en même temps... Dans le cas d’un système autonome, on voit même que deux
orbites distinctes sont d’intersection vide, ce qui est plus fort que la non intersection des courbes intégrales.
Pour une équation non autonome par contre, les orbites peuvent parfaitement se croiser.

C.4 existence locale d’une solution


Dans ce paragraphe, on traite de cas où l’existence des solutions n’est pas assurée sur tout l’intervalle
d’étude. Cela peut naturellement se produire si les hypothèses du théorème de Cauchy-Lipschitz global ne
sont pas satisfaites.
Introduisons quelques définitions. Pour fixer les idées, nous prendrons toujours l’instant initial à t = 0,
mais il doit maintenant être bien clair que ceci n’a aucune sorte d’importance.

Définition C.4.1 Soit f continue de [0,T [ × Rm dans Rm , avec T ∈ R∗+ ∪ {+∞}. On appelle solution locale du
problème de Cauchy
y 0(t) = f (t, y(t)), y(0) = y0,
tout couple (I, y), où I = [0, τ [, τ ≤ T , est un intervalle contenant 0 et y une fonction continue sur I à valeurs
dans Rm , dérivable sur ]0, τ [ et vérifiant l’EDO et la condition initiale.

Une solution locale, si elle existe, existe donc pour un certain laps de temps, mais pas nécessairement sur
la totalité de l’intervalle en temps où la fonction second membre f est définie. Remarquons que l’on insiste sur
la continuité en t = 0, indispensable pour que la notion même de condition initiale ait un sens, alors que l’on
laisse beaucoup plus de mou à l’autre extrémité de l’intervalle I qui est ouvert en τ , tout comme l’intervalle en
temps où f est définie qui est ouvert en T , T pouvant d’ailleurs très bien être égal à +∞. À cet égard, c’est très

31. Si ce n’est pas clair, ne pas hésiter à le vérifier.


32. Si ce n’est pas clair, ...
C.4. existence locale d’une solution 183

différent de tout ce que l’on a raconté dans le contexte du théorème de Cauchy-Lipschitz global, où l’on était
toujours sur un intervalle de temps compact [0,T ], T < +∞, compacité qui a joué un rôle très important à
plusieurs endroits dans les preuves.
L’intervalle I s’appelle le domaine de définition de la solution locale (I, y). On peut comparer les domaines
de définition de différentes solutions locales avec les définitions suivantes.

Définition C.4.2 1. On dit qu’une solution locale (I, y) prolonge la solution locale (J, z) si J ⊂ I et
y(t) = z(t) pour tout t ∈ J . Si de plus J , I , on dit que (I, y) prolonge strictement (J, z).
2. On dit que la solution locale (I, y) est une solution maximale du problème de Cauchy s’il n’existe pas de
solution locale qui la prolonge strictement.
3. On dit que (I, y) est une solution globale du problème de Cauchy si c’est une solution locale et si τ = T .

On retient qu’une solution locale en prolonge une autre si elles coïncident sur le domaine de définition de
la deuxième, mais que la première continue à exister plus loin au sens large (vraiment strictement plus loin si
le prolongement est strict). On retient également qu’une solution est maximale s’il est impossible de continuer
plus loin. Une solution globale est évidemment maximale, mais l’inverse n’est pas vrai comme on en verra des
exemples.
Attention à la petite équivoque du vocabulaire : dans le contexte présent, une solution globale est a priori
seulement définie sur l’intervalle semi-ouvert [0,T [, alors que dans le contexte du théorème de Cauchy-Lipschitz
global, elle était définie sur [0,T ] fermé en T . Ce n’est pas la première fois, ni la dernière fois, que le même
mot a des significations (très légèrement) différentes suivant le contexte... On devrait ici parler de solution
locale globale, ce qui est quand même légèrement bizarre. Du coup, on ne le fait pas.

2.5

1.5

0.5

0 0.5 1 1.5 2 2.5 3 3.5 4


−0.5

Figure C.2 – La solution orange sur [0, 4] prolonge strictement la solution bleue sur 0, 32 .
 

La notion d’unicité d’une solution locale est précisée par la définition suivante.

Définition C.4.3 On dit que le problème de Cauchy sur [0,T [,

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

admet une solution locale unique si deux solutions locales quelconques coïncident sur l’intersection de leurs
domaines de définition.
184 C. Rappels sur les équations différentielles ordinaires

Ce vocabulaire n’est pas très bon, puisque l’“ unicité d’une solution locale ” au sens de la définition
précédente repose sur la coïncidence de plusieurs solutions locales sur des sous-intervalles... mais enfin, c’est
le vocabulaire usuel, il faut vivre avec. On comprend le principe qui est derrière : s’il y a unicité locale, il n’y a
pas de “ branchement ” des solutions locales, c’est-à-dire que si l’on prend deux solutions locales, l’une des
deux prolonge forcément l’autre. A contrario, s’il n’y a pas unicité locale, de tels branchements peuvent se
produire, voir figure C.5 plus loin pour un exemple de non unicité locale.

Proposition C.4.4 Étant donnée une solution locale, il existe au moins une solution maximale qui la prolonge.

Démonstration. Admis, voir [3], la difficulté étant dans la non unicité locale éventuelle. C’est en fait un résultat
de nature ensembliste, sans grand intérêt pratique. ♦

Proposition C.4.5 On suppose f continue sur [0,T [ × Rm , T ∈ R∗+ ou +∞. Si (I, y) est une solution maximale
non globale, alors I est de la forme [0,Tm [, avec Tm < T , et y n’est pas bornée sur I .

Démonstration. Admis, voir [3]. Nous montrerons ces deux résultats dans un cadre un peu plus restrictif plus
loin. ♦

En conséquence de la Proposition C.4.5, une solution locale (I, y) telle que y est bornée sur I = [0, τ [ avec
τ < T n’est certainement pas maximale.

Exemple C.4.1 1. Le problème de Cauchy

y 0(t) = −2ty(t)2, y(0) = 1

a pour fonction second membre f (t, y) = −2ty 2 qui est continue sur [0, +∞[ × R, mais pas globalement
lipschitzienne. En intégrant l’équation par séparation des variables, on obtient la solution

1
y(t) = sur [0, +∞[.
1 + t2
La solution est globale puisque définie sur tout l’intervalle d’étude (elle est même définie sur R entier). On a
ainsi illustré que la propriété d’être globalement lipschitzienne n’est pas nécessaire pour avoir une solution
globale.
2. Le problème de Cauchy
y 0(t) = 2ty(t)2, y(0) = 1
a pour fonction second membre f (t, y) = 2ty 2 qui est continue sur [0, +∞[ × R, mais pas globalement
lipschitzienne. En intégrant l’équation par séparation des variables, on obtient la solution

1
y(t) = sur [0, 1[.
1 − t2
On ne peut pas la prolonger au delà de 1 puisqu’elle tend vers +∞ quand t → 1− . C’est donc une solution
maximale et elle n’est pas globale. Notons que l’on peut aussi la prolonger pour t < 0 jusqu’à t = −1, mais pas
plus loin.
3. Le problème de Cauchy
y 0(t) = y(t)2, y(0) = 1
a pour fonction second membre f (t, y) = y 2 qui est continue sur [0, +∞[ × R, mais pas globalement
lipschitzienne. En intégrant l’équation par séparation des variables, on obtient la solution

1
y(t) = .
1−t

Cette solution ne peut manifestement pas être prolongée au delà de t = 1. Le couple ([0, 1[, 1−t
1
) est donc une
solution locale maximale. Elle n’est pas globale. Par contre, pour t < 0, on peut la prolonger jusqu’à −∞. ♦
C.4. existence locale d’une solution 185

Nous allons maintenant formuler une version du théorème de Cauchy-Lipschitz, plus générale que la
version globale, et qui permet de prendre en compte les exemples précédents.
On considère donc maintenant le cas où f (t, x) est seulement définie sur [0,T [ × V où V est un ouvert
connexe non vide de Rm , et non pas sur [0,T ] × Rm . Les diverses notions associées aux solutions locales ne
sont pas modifiées. On généralise également la condition de lispchitzianité.

Définition C.4.6 On dit que f : [0,T [ × V → Rm est localement lipschitzienne par rapport à y , uniformément
par rapport à t , si pour tout y0 ∈ V , il existe une boule fermée B̄ contenue dans l’ouvert V centrée en y0 et τ < T ,
tels qu’il existe une constante L telle que, pour tout y, z ∈ B̄ et t ∈ [0, τ ],

k f (t, y) − f (t, z)k ≤ Lky − zk.

En d’autres termes, f est lipschitzienne par rapport à y et uniformément par rapport à t sur [0, τ ] × B̄ .
Naturellement, la constante L dépend a priori de la boule B̄ et du temps τ , même si on ne l’écrit pas
explicitement. Nous allons montrer le théorème suivant.

Théorème C.4.7 (Cauchy-Lipschitz local) Soit f : [0,T [ × V → Rm continue et localement lipschitzienne par
rapport à y , uniformément par rapport à t . Alors pour tout y0 ∈ V , le problème de Cauchy

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

admet une unique solution locale.

On va en fait se ramener immédiatement au théorème global grâce au lemme de prolongement suivant.

Lemme C.4.8 Soit B̄ une boule fermée et τ < T un temps tels que la restriction de f à [0, τ ] × B̄ soit lipschitzienne
par rapport à y uniformément par rapport à t . Alors cette restriction admet un prolongement à [0, τ ] × Rm qui est
continu et globalement lipschitzien par rapport à y uniformément par rapport à t .

Admettons le lemme l’espace d’un instant.


Démonstration du théorème C.4.7. Prenons une boule B̄ et un temps τ associés à y0 et appelons f˜ le prolongement
en question. Grâce au théorème global C.3.4, le problème de Cauchy ỹ 0(t) = f˜(t, ỹ(t)), ỹ(0) = y0 , admet une
unique solution globale sur [0, τ ]. Comme y0 est au centre de B̄ et que t 7→ ỹ(t) est une fonction continue, il
s’ensuit qu’il existe 0 < τ∗ ≤ τ tel que ỹ(t) ∈ B , où B désigne la boule ouverte dont B̄ est l’adhérence, pour tout
t ∈ [0, τ∗ [. Pour ces valeurs de t , on a donc f˜(t, ỹ(t)) = f (t, ỹ(t)). Posant y(t) = ỹ(t) pour t < τ∗ , on a en fait
construit une solution locale ([0, τ∗ [, y) de notre problème de Cauchy.
Montrons que celle-ci est unique au sens de la définition C.4.3. Soient ([0, τ1 [, y1 ) et ([0, τ2 [, y2 ) deux
solutions locales avec τ2 ≥ τ1 . Montrons que y2 |[0,τ1 [ = y1 . En effet, soit

σ = sup{s < τ1, y1 (t) = y2 (t) pour tout 0 ≤ t ≤ s}.

Supposons que σ < τ1 . Par continuité, on a y1 (σ ) = y2 (σ ). Toujours d’après la partie existence du raisonnement,
le problème de Cauchy z 0(t) = f (t, z(t)), z(σ ) = y1 (σ ) admet une solution locale sur un intervalle 33 [σ, σ + α[
avec α > 0, qui est unique puisqu’en fait, c’est encore le théorème global qui s’applique via un autre
prolongement de f autour de (σ, y1 (σ )). Cela implique que z(t) = y1 (t) = y2 (t) sur [σ, σ + α[, contradiction
avec le fait que σ soit la borne supérieure des intervalles contenant 0 où ceci a lieu. Par conséquent, σ = τ1 , ce
qu’il fallait démontrer. ♦

Au vu de cette démonstration, il est bien clair que bon nombre de propriétés globales, comme les corollaires
C.3.7 et C.3.12, restent vraies localement dans ce contexte.
Il s’agit maintenant de montrer le lemme de prolongement, qui est en fait un résultat d’intérêt général.

33. On applique l’existence à partir de l’instant initial σ plutôt que 0, ce qui n’est clairement pas un problème.
186 C. Rappels sur les équations différentielles ordinaires

ỹ(t 2 )

y(t 1 )
y0

Figure C.3 – Tant que la solution du problème de Cauchy prolongé reste dans la boule où f˜
et f coïncident, c’est-à-dire pour t 1 ≤ τ∗ , c’est une solution locale du problème de Cauchy de
départ. Peu importe ce qu’elle fait ensuite pour t 2 > τ∗ , on la laisse vivre sa vie en pointillés.

Démonstration du lemme C.4.8. Il suffit de construire le prolongement composante par composante. Notons д
une telle composante générique de la restriction de f à [0, τ ] × B̄ . On a donc д : [0, τ ] × B̄ → R continue et
telle que |д(t, y) − д(t, z)| ≤ Lky − zk pour tous t, y, z . On pose
∀(t, y) ∈ [0, τ ] × Rm , д̃(t, y) = inf (д(t, u) + Lky − u k). (C.4.1)
u ∈ B̄

Montrons que д̃ convient. Tout d’abord, c’est bien un prolongement de д. En effet, si y ∈ B̄ , on a pour tout
u ∈ B̄ ,
д(t, y) ≤ д(t, u) + |д(t, y) − д(t, u)| ≤ д(t, u) + Lky − u k.
Comme д̃(t, y) est le plus grand des minorants du terme de droite, il s’ensuit que д(t, y) ≤ д̃(t, y). D’un
autre côté, comme y ∈ B̄ , on peut prendre u = y au second membre de (C.4.1), ce qui montre que
д̃(t, y) ≤ д(t, y) + Lky − yk = д(t, y). Par conséquent д̃(t, y) = д(t, y) dans ce cas.
Prenons maintenant deux points y et z de Rm . Pour tout t , l’application u 7→ д(t, u) + Lkz −u k est continue.
Elle atteint donc sa borne inférieure д̃(t, z) sur le compact B̄ en un point v . Il vient donc
д̃(t, y) − д̃(t, z) ≤ д(t, v) + Lky − v k − д(t, v) − Lkz − v k = Lky − v k − Lkz − v k ≤ Lky − z k,
par l’inégalité triangulaire. On obtient le fait que д̃ est globalement lipschitzienne, de constante L, uniformément
par rapport à t , en inversant les rôles de y et z .
Il reste à voir que д̃ est continue. On sait déjà que д̃ est lipschitzienne par rapport à y uniformément
par rapport à t . On a vu à la proposition C.3.5 qu’il suffit alors de montrer que l’application t 7→ д̃(t, y) est
continue pour tout y ∈ Rm fixé. Donnons-nous (t, y) ∈ [0, τ ] × Rm . Comme plus haut, il existe v ∈ B̄ tel que
д̃(t, y) = д(t, v) + Lky − v k . Par conséquent, pour tout t 0 ∈ [0, τ ],
д̃(t 0, y) − д̃(t, y) ≤ д(t 0, v) + Lky − v k − д(t, v) − Lky − v k ≤ |д(t 0, v) − д(t, v)|.
Or l’ensemble [0, τ ] × B̄ est compact, donc l’application д y est uniformément continue. Pour tout ε > 0, il
existe α > 0, indépendant de v , tel que si |t 0 − t | ≤ α , alors |д(t 0, v) − д(t, v)| ≤ ε . On conclut en échangeant
les rôles de t et t 0. ♦

Le prolongement (C.4.1) s’appelle prolongement de McShane-Whitney ³⁴ quand д ne dépend pas de t , voir


figure C.4. 3⁵ Notons que l’on peut donner une démonstration de la continuité du prolongement par rapport à

34. Edward James McShane, 1904 –1989 ; Hassler Whitney, 1907–1989.


35. À propos de cette figure, en dimension 1, le prolongement par des constantes égales aux valeurs aux
extrémités est encore plus simple et marche également.
C.4. existence locale d’une solution 187

t utilisant des suites. En effet, soit une suite tn → t et un point y ∈ Rm . On note v ∈ B̄ un point réalisant la
borne inférieure pour (t, y) et vn réalisant cette même borne pour (tn , y). On a

д̃(tn , y) − д̃(t, y) ≤ д(tn , v) + Lky − v k − д(t, v) − Lky − v k = д(tn , v) − д(t, v),


donc lim supn→+∞ д̃(tn , y) ≤ д̃(t, y) (c’est-à-dire que д̃ est semi-continue supérieurement, ce qui est toujours
vrai pour un inf de fonctions continues). D’un autre côté, on a également

д̃(t, y) − д̃(tn , y) ≤ д(t, vn ) + Lky − vn k − д(tn , vn ) − Lky − vn k = д(t, vn ) − д(tn , vn ).


Extrayons une sous-suite np → +∞ telle que д̃(tnp , y) → lim inf n→+∞ д̃(tn , y) quand p → +∞. La suite vnp
reste dans le compact B̄ , on peut en extraire une sous-suite npq → +∞ telle que vnpq → w quand q → +∞
pour un certain w ∈ B̄ . Comme (t, vnpq ) → (t, w) et (tnpq , vnpq ) → (t, w) et que д est continue, on déduit de
l’inégalité précédente restreinte à la suite extraite npq que д̃(t, y) ≤ lim inf n→+∞ д̃(tn , y). Par conséquent la
limite supérieure et la limite inférieure coïncident avec д̃(t, y).

1.5

0.5

−2 −1.5 −1 −0.5 0 0.5 1 1.5 2


−0.5

−1

Figure C.4 – Le prolongement de McShane-Whitney de la fonction y 7→ 1 − y 2 à l’extérieur


de la boule de dimension un, B̄ = [−1, 1].

Pour pouvoir appliquer le théorème de Cauchy-Lipschitz local, nous avons également besoin de moyens
pratiques d’en vérifier les hypothèses On aura évidemment commencé par regarder si on ne peut pas appliquer
le théorème de CL global. A ce sujet un critère facile à vérifier dans le cas autonome, est le caractère non borné
des dérivées partielles de la fonction second membre, la contra posée de la propriété C.3.2 en quelque sorte :

Proposition C.4.9 Supposons que f (y) possède des dérivées partielles continues par rapport à yi , i = 1, . . . , m ,
et qu’au moins une de ces dérivées est non bornée sur Rm . Alors f n’est pas globalement lipschitzienne.
∂f j
Démonstration. On suppose que ∂yi (y) existe, définit une fonction continue par rapport à y et est non bornée
∂f
sur Rm . C’est-à-dire que pour tout C > 0 il existe y ∈ Rm tel que ∂yji (y) > C . On a donc pour z = y + εei ,
avec ei le vecteur unitaire dans la direction i et ε ≥ 0, la formule de Taylor
∂ fj
f j (z) − f j (y) = ε (y + ηei ), avec η ∈ [0, ε].
∂yi
∂f j
On peut choisir ε suffisamment petit pour que par continuité de ∂yi (y) on ait

∂ fj
|| f (z) − f (y)|| ≥ | f j (z) − f j (y)| = ε (y + ηei ) > Cε = C ||z − y||.
∂yi
188 C. Rappels sur les équations différentielles ordinaires

On dira qu’une fonction д définie sur [0,T [ × V est localement bornée si pour tout y0 ∈ V , il existe
0 < τ < T , une boule fermée B̄ de centre y0 incluse dans V , et un nombre M tel que kд(t, y)k ≤ M pour tous
(t, y) ∈ [0, τ ] × B̄ .

Proposition C.4.10 Soit f définie sur [0,T [ × V , différentiable par rapport y pour tout t et dont les dérivées
partielles par rapport à yi , i = 1, . . . , m , sont localement bornées. Alors f est localement lipschitzienne par rapport
à y , uniformément par rapport à t .

Démonstration. Il s’agit essentiellement de la même démonstration que la proposition C.3.2. Soient τ , B̄ et M


∂f
tels que ∂yi (t, y) ≤ M sur [0, τ ] × B̄ . Donnons-nous y et z dans B̄ . Comme la boule est convexe, on voit que
pour tout s ∈ [0, 1], on a sy + (1 − s)z ∈ B̄ . On peut donc définir д : [0, 1] → Rm par д(s) = f (t, sy + (1 − s)z).
On voit que д est dérivable, par dérivation des fonctions composées, avec
m
Õ ∂f
д 0(s) = t, sy + (1 − s)z (y − z)i .

i=1
∂yi

∂f
Toujours par convexité de la boule, ∂yi (t, sy + (1 − s)z) ≤ M . Par conséquent,
m
Õ √
kд (s)k ≤ M
0
|(y − z)i | ≤ M mky − zk,
i=1

par l’inégalité de Cauchy-Schwarz. L’inégalité des accroissements finis implique alors que

k f (t, y) − f (t, z)k = kд(1) − д(0)k ≤ M mky − zk,

et f est localement lipschitzienne uniformément par rapport à t . ♦

Quand on lui ajoute l’hypothèse de continuité par rapport au couple (t, y), la proposition C.4.10 donne
une condition suffisante pour pouvoir appliquer le théorème C.4.7 de Cauchy-Lipschitz local. Ce n’est pas du
tout une condition nécessaire. On a une condition suffisante encore plus facile à vérifier.

Proposition C.4.11 Soit f : [0,T [ × V → Rm de classe C 1 . Alors f continue et localement lipschitzienne par
rapport à y , uniformément par rapport à t .

Démonstration. La fonction f est C 1 , donc continue. De même, les dérivées partielles de f par rapport à y sont
des fonctions continues. Elles sont donc bornées sur tout compact de la forme [0, τ ] × B̄ inclus dans [0,T [ × V .
Il suffit alors d’appliquer la proposition C.4.10. ♦

La proposition s’applique en particulier aux équations autonomes pour lesquelles f ne dépend pas de t . Il
suffit donc dans ce cas que l’application f soit C 1 de V dans Rm .
Nous pouvons maintenant assez facilement démontrer les propositions C.4.4 et C.4.5, avec en plus l’unicité,
sous les hypothèses du théorème de Cauchy-Lipschitz local, bien que ces deux propositions soient valables
dans un cadre plus vaste.

Proposition C.4.12 Sous les hypothèses du théorème de Cauchy-Lipschitz local, tout problème de Cauchy admet
une solution maximale unique ym définie sur [0,Tm [ avec Tm ≤ T . De plus, si Tm < T , alors il existe une suite
tk → Tm− telle que kym (tk )k → +∞ quand k → +∞.

Démonstration. Soit ([0, τ [, y) une solution locale fournie par le théorème de Cauchy-Lipschitz local C.4.7. Soit
S l’ensemble des solutions locales qui prolongent y . Par l’unicité locale, dans tout couple d’éléments de S , l’un
des éléments prolonge l’autre. Posons Tm = sup{σ ; ([0, σ [, z) ∈ S }. Pour t < Tm , on définit sans ambiguité
ym (t) = z(t) pour n’importe quel z tel que ([0, σ [, z) ∈ S avec σ ≥ t , puisque toutes ces valeurs coïncident par
la remarque précédente. Clairement, ([0,Tm [, ym ) est encore une solution locale du problème de Cauchy. Elle
C.4. existence locale d’une solution 189

est maximale, car si elle ne l’était pas, l’existence d’un prolongement strict contredirait la définition de Tm
comme borne supérieure. Elle est bien sûr unique, puisque deux solutions maximales appartenant à S , l’une
prolonge nécessairement l’autre, donc elles sont égales.
Enfin, dans le cas où Tm < T , supposons que kym (t)k ≤ R pour tout t < Tm et pour un certain R < +∞.
Soit B̄ R la boule fermée de centre 0 et de rayon R . Comme la fonction f est continue et que [0,Tm ] × B̄ R est
compact, il s’ensuit que kym 0 (t)k est borné sur [0,T [. Par l’inégalité des accroissements finis, on en déduit
m
que ym est uniformément continue sur [0,Tm [. Elle admet donc un unique prolongement continu à [0,Tm ]
qui vaut un certain ȳ ∈ B̄ R en t = Tm . Le problème de Cauchy z 0(t) = f (t, z(t)), z(Tm ) = ȳ admet alors une
unique solution locale sur un intervalle ]Tm − α,Tm + α[ pour un certain α > 0. On connaît déjà une solution
sur ]Tm − α,Tm ], le prolongement de ym par continuité (regardé de manière rétrograde). Par conséquent, la
fonction ȳm (t) = ym (t) pour t < Tm , ȳm (t) = z(t) pour Tm ≤ t < Tm + α est une solution locale du problème
de Cauchy de départ, qui prolonge strictement ym , contradiction. ♦

Rappelons la remarque utile suivante, déjà faite plus haut, si une solution locale non globale est bornée,
alors elle n’est pas maximale. Par ailleurs, une solution globale peut être bornée ou non bornée, on ne peut
rien en dire à ce sujet a priori.
On a un résultat d’existence plus général, puisqu’on enlève une des hypothèses, donné ici sans démonstra-
tion, voir [3], et dont l’importance pratique est moindre.

Théorème C.4.13 (Peano) On suppose la fonction f continue au voisinage du point (0, y0 ). Alors le problème de
Cauchy (2.1.3) admet une solution locale.

Démonstration. La preuve de ce théorème se trouve par exemple dans [3]. ♦

Attention, l’unicité locale de la solution est par contre perdue, comme on le voit sur l’exemple suivant.

Exemple C.4.2 On considère le problème de Cauchy y 0(t) = |y(t)| , y(0) = 0. La fonction second membre
p

f (t, y) = |y| est continue sur R × R, mais pas localement lipschitzienne par rapport à y au voisinage de
p

y = 0. Le théorème de Peano 3⁶ s’applique, pas celui de Cauchy-Lipschitz. En résolvant l’équation à variables


séparées, on s’aperçoit en fait que pour tout c ≥ 0, la fonction

y(t) = 0 pour t ≤ c, y(t) = (t − c)2 /4, pour t > c,


est solution du problème de Cauchy. Par ailleurs, la fonction nulle est aussi solution du problème de Cauchy. Il
y a une infinité (non dénombrable) de solutions, la valeur de c où une solution décolle de 0, si elle en décolle,
n’est pas déterminée par le problème de Cauchy, voir Figure C.5. ♦

Il existe un théorème d’existence encore plus général, le théorème de Carathéodory 3⁷ qui relâche les
conditions de continuité du second membre f par rapport à la variable t , mais il est préférable de le passer ici
sous silence... Par ailleurs, le théorème de Cauchy-Lipschitz se généralise pour l’existence et l’unicité dans
d’autres directions, par exemple sur des variétés (des objets géométriques qui généralisent en toute dimension
les courbes et surfaces du plan et de l’espace) ou encore en dimension infinie. Le théorème de Peano est par
contre faux en dimension infinie.

C.4.1 Existence globale à l’aide des fonctions de Liapounov


Quand f est seulement localement lipschitzienne, mais pas globalement lipschitzienne, 3⁸ l’existence d’une
solution globale n’est pas assurée par le théorème de Cauchy-Lipschitz. D’ailleurs on a vu des exemples où il
n’en existe pas. Dans un certain nombre d’applications, on parvient tout de même à montrer l’existence de
solutions globales s’il existe une fonction dite de Liapounov 3⁹ associée à l’équation différentielle. On se place
dans le cas où V = Rm pour simplifier.

36. Giuseppe Peano, 1858–1932.


37. Constantin Carathéodory, 1873–1950.
38. Qui est une condition quand même bien restrictive.
39. Alexandre Mikhaïlovitch Liapounov, 1857–1918.
190 C. Rappels sur les équations différentielles ordinaires

2,5

0 0,8 1,6 2,4 3,2 4 4,8

Figure C.5 – Quelques-unes parmi l’infinité (non dénombrable) des solutions du problème
de Cauchy y (t) = |y(t)| , y(0) = 0, avec une infinité de branchements contredisant l’unicité
0
p

locale.

Définition C.4.14 Soit U une fonction de Rm dans R+ , continûment différentiable. On dit que U est une fonction
de Liapounov pour l’équation différentielle y 0(t) = f (t, y(t)) si
1. U (y) → +∞ quand ky k → +∞,
2. il existe deux constantes α ≥ 0 et β ≥ 0 telles que pour tout t ∈ [0,T ] et y ∈ Rm

dU (y)f (t, y) ≤ αU (y) + β,

où dU (y) désigne la différentielle de la fonction U au point y (c’est une forme linéaire sur Rm , représentée
dans la base duale de la base canonique par le vecteur ligne des dérivées partielles de U ).

Lorsque α = β = 0 et que dU (y)f (t, y) < 0 quand f (t, y) , 0, on dit que U est une fonction de Liapounov
au sens strict pour l’équation différentielle.
Il suffit souvent de prendre la fonction U (y) = ky k 2 , qui vérifie clairement 1. La différentielle de U est
donnée par dU (y)z = 2(y|z) pour tout z ∈ Rm , et l’on regarde alors s’il existe des constantes α et β positives
telles que pour tout t ∈ [0,T ] et y ∈ Rm , on ait

(y| f (t, y)) ≤ α ky k 2 + β .

C’est le cas par exemple de f (t, y) = −y 3 , pour m = 1, second membre qui n’entre pas dans le cadre globalement
lipschitzien. Par contre, ce n’est pas le cas pour f (t, y) = y 3 .
Notons que la condition 2. est automatiquement satisfaite avec la fonction U (y) = ky k 2 , s’il existe une
constante C telle que, pour tout t ∈ [0,T ] et y ∈ Rm

k f (t, y)k ≤ C(1 + kyk).

Cette dernière condition est elle-même automatiquement satisfaite si f est globalement lipschitzienne en y ,
uniformément en t (mais on n’a pas besoin de fonctions de Liapounov dans ce cas...).
L’intérêt de l’existence d’une fonction de Liapounov pour les questions qui nous intéressent ici est le
suivant.

Proposition C.4.15 S’il existe une fonction de Liapounov U pour l’équation différentielle y 0(t) = f (t, y(t)), où
f (t, y) est continue et localement lipschitzienne en y uniformément en t , alors pour toute donnée initiale y0 ∈ Rm ,
la solution du problème de Cauchy est globale.
C.4. existence locale d’une solution 191

Démonstration. On sait d’après le théorème de Cauchy-Lipschitz local et d’après la proposition C.4.4 qu’il
existe une solution locale maximale y du problème de Cauchy. Supposons qu’elle ne soit pas globale. Dans
ce cas d’après le lemme C.4.5, la solution y n’est pas bornée sur son intervalle de définition I = [0,Tm [ avec
Tm < +∞. Cela signifie qu’il existe une suite tn d’instants de [0,Tm [ tels que tn → Tm et ky(tn )k → +∞ quand
n → +∞.
Considérons la fonction д(t) = U (y(t)). Elle est non bornée sur I par la condition 1. de la définition des
fonctions de Liapounov, en effet д(tn ) → +∞. Par dérivation des fonctions composées, on a par ailleurs

д 0(t) = dU (y(t))y 0(t) = dU (y(t))f (t, y(t)) ≤ αU (y(t)) + β = αд(t) + β,

en utilisant la condition 2. de la définition. Si α = 0, on en déduit que д(t) ≤ U (y0 ) + βTm et si α , 0 on utilise


le lemme de Grönwall C.3.6 pour montrer que

β αTm β
 
д(t) ≤ U (y0 ) + e − .
α α
Dans les deux cas, on obtient que д est majorée sur I , ce qui est une contradiction. ♦

Notons qu’une EDO pour laquelle certains problèmes de Cauchy n’admettent pas de solution globale
ne peut en aucun cas posséder une fonction de Liapounov. Dans le cas d’une fonction de Liapounov au sens
strict, on voit d’après le calcul qui précède que la fonction t 7→ U (y(t)) est strictement décroissante tant que
y 0(t) ne s’annule pas. Dans le cas d’une équation autonome où f ne dépend pas de t , cela implique donc que
cette fonction est strictement décroissante sur tout trajectoire sauf sur celles qui correspondent aux points
d’équilibre, i.e., les points y tels que f (y) = 0, voir aussi définition C.1.5, où elle n’a pas vraiment d’autre choix
que d’être constante.

Exemple C.4.3 Équations de type gradient. Soit U une fonction continûment différentiable de Rm dans R. Le
gradient de U au point y est le vecteur de Rm
∂U
(y)
© ∂y1 ª
­ .. ®
∇U (y) = ­ . ® .
∂U
­ ®
∂y (y)
« m ¬
Il sert à représenter la différentielle dU (y) de U au point y , qui est une forme linéaire et qui elle est représentée
par la matrice ligne ⁴⁰ (voir [2])  
∂U ∂U
dU (y) = ∂y1 (y) ··· ∂ym (y) ,
avec le produit scalaire canonique de Rm

dU (y)z = (∇U (y)|z).

Définition C.4.16 Une équation différentielle autonome est de type gradient s’il existe une fonction U de Rm
dans R, deux fois continûment différentiable, telle que pour tout y ∈ Rm ,

f (t, y) = −∇U (y).

Dans ce cas, si U vérifie la condition 1 de la définition C.4.14, c’est une fonction de Liapounov au sens strict
pour l’EDO, puisqu’alors, pour tout y ∈ Rm ,

dU (y)f (t, y) = −k∇U (y)k 2 ≤ 0.

On obtient donc l’existence d’une solution globale y du problème de Cauchy. De plus, on voit que la fonction
t 7→ U (y(t)) est décroissante.

40. Sa matrice jacobienne en fait, notée ∇U tout au début. Une petite incohérence locale de notation, pas si
grave que ça. On a tendance à utiliser ∇ pour signifier le vecteur gradient dans le cas d’une fonction scalaire et
∇ pour signifier matrice jacobienne pour une fonction à valeurs vectorielles, même si celle-ci est la transposée
du gradient dans le cas scalaire.
192 C. Rappels sur les équations différentielles ordinaires

L’exemple le plus simple est celui des systèmes linéaires autonomes sur Rm , y 0(t) = Ay(t) où A est une
matrice symétrique définie négative, ce qui correspond à poser

1
f (y) = −∇U (y) avec U (y) = − (Ay|y).
2
La plupart des EDO autonomes, même linéaires, ne sont pas de type gradient : dans l’exemple ??, l’équation
linéarisée du pendule n’est pas de type gradient.
En revanche, on peut facilement construire des équations de type gradient non triviales, par exemple

2y1e y2 + y22e y1
 
m = 2, f (t, y) = − ,
2y2e y1 + y12e y2

qui correspond à U (y) = y12e y2 + y22e y1 .

Exemple C.4.4 Équations de Hamilton ⁴1. Il s’agit au départ d’une reformulation extrêmement importante
des lois de la mécanique classique.
2m
  H une fonction deux fois continûment différentiable de R dans R. On note la variable d’espace
Soit
q
y= , q désignant le vecteur des m premières coordonnées (dites de position en mécanique) et p celui des
p
m suivantes (dites d’impulsion). On pose, pour tout y ∈ R2m ,

f (y) = J ∇H (y),

où J est l’opérateur linéaire de R2m dans R2m , défini par

q Im q p
      
= m
0
J = ,
p −Im 0m p −q

où 0m désigne la matrice nulle m × m et Im l’identité m × m . On dit que H est l’hamiltonien de l’équation


différentielle y 0(t) = f (y(t)), qui est elle qualifiée de système hamiltonien. Elle s’écrit donc en fonction des
variables q et p sous la forme
qÛ = ∇p H (q, p)


pÛ = −∇q H (q, p),


où ∇q et ∇p désignent les gradients partiels par rapport à q et p .
L’opérateur J est antisymétrique : on a

(y|Jy)2m = (q|p)m − (q|p)m = 0

q
 
pour tout y = ∈ R2m , où (·|·)k désigne le produit scalaire canonique sur Rk .
p
Là encore si H vérifie la condition 1 de la définition C.4.14, elle constitue une fonction de Liapounov pour
l’EDO avec α = β = 0, puisque

dH (q, p)f (q, p) = ∇H (q, p) J ∇H (q, p) = 0.




Dans ce cas, on a donc existence globale sur [0, +∞[ des solutions du problème de Cauchy pour toute donnée
initiale. De plus, on a la propriété de conservation de l’hamiltonien car pour toute solution y(t) = (q(t), p(t)) du
système, on a évidemment

d
H (y(t)) = ∇H (q(t), p(t)) J ∇H (q(t), p(t)) = 0,

dt
donc pour tout t ∈ [0, +∞[, H (y(t)) = H (y0 ). On dit que l’hamiltonien est une intégrale première. Une
interprétation physique peut être qu’il représente l’énergie du système, qui est conservée au cours du
mouvement.

41. Sir William Rowan Hamilton, 1805–1865.


C.4. existence locale d’une solution 193

Plus généralement, si A : R2m → R est une observable, c’est-à-dire une fonction suffisamment régulière
sur l’espace des phases ⁴2, alors on a
m 
d ∂A dqi ∂A dpi
Õ 
A(y(t)) = (y(t)) (t) + (y(t)) (t)
dt i=1
∂qi dt ∂pi dt
m 
∂A ∂H ∂A ∂H
Õ 
= (y(t)) (y(t)) − (y(t)) (y(t))
i=1
∂qi ∂pi ∂pi ∂qi
= A, H (y(t)),


dA
relation écrite parfois un peu rapidement à la physicienne dt = {A, H }, où l’expression
m 
∂A ∂B ∂A ∂B
Õ 
{A, B} = −
i=1
∂qi ∂pi ∂pi ∂qi

s’appelle le crochet de Poisson ⁴3 de A et de B . Le crochet de Poisson est une notion d’une grande importance
en mécanique classique, puis en mécanique quantique entre autres. Notons en particulier que {H, H } = 0,
{qi , q j } = {pi , p j } = 0 et {qi , p j } = δi j .
Comme exemple, prenons le cas des oscillations du pendule (voir plus loin exemple ??). En posant q = y1
et p = y2 on a pÛ = −k sin(q) = −V 0(q) avec V (q) = −k cos(q) et qÛ = p = T 0(p) avec T (p) = p 2 /2. Du point de
vue physique et à une constante multiplicative près, T est l’énergie cinétique, V l’énergie potentielle et le
hamiltonien H = T + V représente l’énergie totale qui est bien conservée en l’absence de frottements. On a
bien
∂H
qÛ = ∂p ,





∂H
pÛ = − ∂q ,




ce qui peut aussi s’écrire
∂H
!
d q
   
0 1 ∂q
= ∂H = J ∇H (q, p).
dt p −1 0 ∂p

Le système du pendule est donc hamiltonien, tout comme celui des petites oscillations du pendule, d’ailleurs. ♦

42. Voir définition C.1.4 un peu plus loin.


43. Siméon-Denis Poisson, 1781–1840.
194 C. Rappels sur les équations différentielles ordinaires
Bibliographie

[1] V. Arnold. Equations Différentielles Ordinaires, volume 5ème Édition. Librairie Du Globe. Épuisé, mais il y
a une version anglaise.
[2] G. Christol, A. Cot et C.-M. Marle, 1996. Calcul Différentiel. Ellipses.
[3] M. Crouzeix et A.-L. Mignot, 1983. Analyse Numérique des Equations Différentielles. Masson.
[4] S. Delabrière et M. Postel, 2004. Méthodes d’approximation. Equations différentielles. Applications Scilab.
Ellipses.
[5] Leonhard Euler, 1787. Institutiones calculi differentialis. in typographeo Petri Galeatii. Service de la
documentation Université de Strasbourg - Digital old books, http://num-scd-ulp.u-strasbg.fr:8080/.
[6] A. Fienga, H. Manche, J. Laskar et M. Gastineau, January 2008. INPOP06 : a new numerical planetary ephe-
meris. Astronomy and Astrophysics, 477 : 315–327. http://adsabs.harvard.edu/abs/2008A%26A...477..315F.
[7] E. Hairer, S. P. Norsett et G. Wanner, 1993. Solving ordinary differential equations 1. Springer.
[8] J. Laskar, P. Robutel, F. Joutel, M. Gastineau, A. C. M. Correia et B. Levrard, December 2004. A long-term
numerical solution for the insolation quantities of the Earth. Astronomy and Astrophysics, 428 : 261–285.
http://adsabs.harvard.edu/abs/2004A%26A...428..261L.
[9] I. Newton, 1740. La méthode des fluxions, et les suites infinies, par M. le chevalier Newton. Source
Gallica.BnF.fr, Bibliothèque Nationale de France. Traduction en français par M. De Buffon.
Index

Cauchy-Lipschitz (théorème de –), 179, 185 pas adaptatif, 121


conservation des aires, 23 pas variable, 27
consistance, 50 Picard (méthode de –), 171, 181
constante de Lipschitz, 177 point d’équilibre, 161
contractante, 60 point fixe, 60, 161
contrôle du pas de temps, 121 point stationnaire, 161
convergence, 46, 52 polygone d’Euler, 15

différentiation automatique, 90 résolvante, 175


régularité de la fonction, 27
équation autonome, 160
équation différentielle schéma d’Adams-Bashforth, 105
de Hamilton, 192 schéma d’Adams-Moulton, 106
de type gradient, 191 schéma d’Euler explicite, 18
homogène, 163 schéma d’Euler implicite, 19
linéaire, 163 schéma d’Euler modifié, 22
sans second membre, 163 schéma d’Euler symplectique, 24, 141
équation différentielle linéaire, 162 schéma de Crank-Nicolson, 23
espace des phases, 160 schéma de Runge-Kutta, 91
Euler (schéma d’–), 13 schéma de Stormer-Verlet, 142
exponentielle de matrice, 164, 173 schéma explicite, 25
schéma implicite, 25
flot, 138 schéma Leap-frog, 19
fonction schéma numérique
de Liapounov, 189 d’Euler, 13
lipschitzienne, 177 schéma saute-mouton, 19
localement lipschitzienne, 185, 190 schéma symplectique, 23, 137
fonction de Liapounov, 190 stabilité, 47
fonction symplectique, 140 stabilité asymtotique, 161
stabilité asymptotique globale, 161
gradient, 191 stabilité locale simple, 161
Grönwall (lemme de –), 179
théorème
hamiltonien, 192 de Cauchy-Lipschitz, 179
de Cauchy-Lipschitz local, 185
instabilité intrinsèque, 127
variables séparées, 12
lemme de Grönwall, 179 variation de la constante, 162, 166, 176
version discrète, 48
Liapounov (fonction de –), 190 Wronskien, 175
Lipschitz (constante de –), 177

matrice symplectique, 138


méthode de Newton, 67
méthode de Picard, 171, 181

ordre, 53

Vous aimerez peut-être aussi