Poly Copie
Poly Copie
Poly Copie
année 2021-2022
UE LU3MA232
Analyse Numérique
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
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
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.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.
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
Í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
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)
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,
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
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 :
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
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
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
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
La Figure 2.3 représente ce polygone pour n = 5, pour la fonction y(t) = t(1 − t) solution
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
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
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.
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),
(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
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
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
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
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
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
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
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
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.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
φ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
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
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
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
soit n
qn 1 h q0
= ,
pn −h 1 p0
avec une matrice qui n’est pas de déterminant 1.
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
3.1 Motivation
On considère une EDO linéaire d’ordre 2 avec condition initiale et finale : I =]0, 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
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é. ♦
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
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.
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
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
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 .
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
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é
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
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.
AY = B ⇐⇒ J (Y ) = inf {J (X ), X ∈ RN }.
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).
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
N
Õ
DX = x i λi X i
i=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
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
où les βn seront choisis pour assurer des conditions d’orthogonalité. Etant donnée la direction
de descente, on met à jour Yn en posant
où αn+1 sera aussi choisi pour assurer des conditions d’orthogonalité. Avec ces définitions
on a l’égalité
wn · Aw j = 0, (3.3.6)
rn · w j = 0, (3.3.7)
42 3. Analyse numérique matricielle
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.
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
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)
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. ♦
L’inégalité J (Yn+1 ) < J (Yn ) est maintenant une conséquence de (3.3.8) puisqu’on a supposé
rn , 0. ♦
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.
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
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
n
= (1 + λ)n+1u 0 + (1 + λ)k µn−k ,
Õ
k=0
λ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,
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
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
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
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
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
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
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
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). ♦
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 .
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
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
ε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. ♦
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 ,
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 ).
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 .
k=1
k! p! 0
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.
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
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 ,
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.
Or
q−1 ∞
kp
kn ≤ kn =
Õ Õ
,
n=p n=p
1−k
−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.
pour tous z 1, z 2 ∈ Rm ,
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
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
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
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
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.
P ar conséquent,
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
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
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 .
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).
(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
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.
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.
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.
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.
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. ♦
Lemme 5.2.2 L’ensemble des matrices inversibles GLn (R) est un ouvert de Mn (R).
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
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
1
kz(1) − z(0) − z 0(0)k ≤ sup kz 00(t)k.
2 t ∈[0,1]
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
on voit que
h(y) − x = −(∇д(y))−1 (∇д(y)(x − y) + д(y)),
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,
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
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
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
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
-0,25
|||∇д(tn+1, x)||| ≤ L,
pour tout x et le caractère Lipschitzien de ∇д par
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.
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.
x
...x 2 x 1 x0 3
−1 0 1 2 4 5
−1
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 ),
On a ∇hk (y) = ∇f (y) − Ak . Par conséquent, par l’inégalité des accroissements finis,
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
β
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
d’où à nouveau
kx − x̄ k ≤ β kx − x̄ k,
ce qui implique que x̄ = x puisque β < 1. ♦
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.
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!
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 .
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
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
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
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 ¬
où
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.
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 ,
= 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,
k int (y) − int (ỹ)k∞ ≤ |y − ỹ| + hLkAk∞ k int (y) − int (ỹ)k∞,
1
k int (y) − int (ỹ)k∞ ≤ |y − ỹ|
1 − hLkAk∞
Lkb k1
|F (t, y, h) − F (t, ỹ, h)| ≤ |y − ỹ|,
1 − h 0LkAk∞
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
q
Õ
fn,i = f tn,i , yn + h aij fn,j pour i = 1, . . . , q.
j=1
q
Õ
yn+1 = yn + h b j fn,j ,
j=1
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é
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.
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. ♦
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
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
d’où
F (t, y, h) = b f (t, y) + (1 − b)f t + ch, y + ch f (t, y) .
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 ),
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
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,
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)
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
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
∂ 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
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®
®
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.
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
é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
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... ♦
= O(h 4 ).
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
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.
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
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
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
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
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
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
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
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.
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.
racines de hk . ♦
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
de l’intégrale −1 f (t)dt soit exacte pour les polynômes de plus haut degré possible. Le choix
∫1
д (ξ ) д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
b
b −a 1
∫ ∫
f (t)dt = д(t)dt,
a 2 −1
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
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
Précision numérique
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 .
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
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
−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.
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
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(0) = 1,
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 ) .
∂(Φ∗ − Φ)
= ε˜n + hn (hn , tn , ζn )(y(tn ) − yn ),
∂y
124 8. Précision numérique
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
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
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 .
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
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
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
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
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 ),
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
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).
1,5
0,5
-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.
2,5
1,5
0,5
-0,5
-1
-1,5
-2
-3
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)
2,5
1,5
0,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.
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
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
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
hλ
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
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
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.
-6
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
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
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
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é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
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
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
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.
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
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ù
pour tout t . ♦
avec
q q + h∇p T (p)
Φh = . (9.2.4)
p p − h∇qV (q + h∇p T (p))
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.
hT 00(p)
1
∇Φh = .
−hV 00(q + hT 0(p)) 1 − h 2V 00(q + hT 0(p))T 00(p)
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
O(h)
=h = O(h 2 ),
−V 0(q(tn )) + V 0 q(tn ) + hT 0(p(tn ) + O(h)
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
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. ♦
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.
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
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
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
É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.
kAx k ≤ |||A||| kx k.
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
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 .
I − R N +1 = (I − R)(I + R + R 2 + · · · + R N ).
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
NÕ
+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
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
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
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.
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.
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
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
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
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.
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.
— instable sinon.
— asymptotiquement stable, s’il est stable et si r peut être choisi tel que
— 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 .
«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
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(0) = y0,
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 ),
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
(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. ♦
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
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).
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.
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). ♦
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
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.
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
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
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).
y(0) = y0,
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
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. ♦
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.
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.
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
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
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
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.
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 .
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
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,
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)!
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
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 . ♦
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
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
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
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),
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
On en déduit que
ky − ỹ kC 0 ([0,T ];Rm ) = max ky(t) − ỹ(t)k ≤ e αT ky0 − ỹ0 k,
t ∈[0,T ]
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,
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 à
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
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
y(t 0 ) = y0,
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
.
(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 .
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
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
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 .
α α
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 .
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
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
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.
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
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 .
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.
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
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
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.
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.
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, τ ],
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
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 .
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
B̄
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. ♦
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
1.5
0.5
−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 .
∂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,
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.
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
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.
2,5
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
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
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
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
β α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
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 ,
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 ,
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
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),
q Im q p
= m
0
J = ,
p −Im 0m p −q
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
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.
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. ♦
[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
ordre, 53