Vous êtes sur la page 1sur 176

Anne 2013-2014

Analyse Numrique

Cours de Tako Takahashi


Polycopi rdig par Michel Pierre et Antoine Henrot

Cours lectif CE33


Semestre S7 : 2013-2014

Ecole des Mines de Nancy - Campus Artem - 54 042 Nancy Cedex


Tel : 03 83 68 45 95 - email: takeo.takahashi@univ-lorraine.fr
Tako Takahashi

IECL -

Dp. Gnie Industriel et Maths Appliques

Table des matires


1 Les erreurs en Analyse Numrique
1.1
1.2

1.3

1.4
1.5

Introduction . . . . . . . . . . . . . . . . . .
Arithmtique machine . . . . . . . . . . . .
1.2.1 Reprsentation machine des nombres
1.2.2 Perte de chires signicatifs . . . . .
Notions de conditionnement et stabilit . .
1.3.1 Conditionnement . . . . . . . . . .
1.3.2 Stabilit . . . . . . . . . . . . . . . .
Conclusion . . . . . . . . . . . . . . . . . .
Exercices du chapitre 1 . . . . . . . . . . . .

2 Rsolution d'quations non linaires


2.1
2.2

2.3

Introduction . . . . . . . . . . . . . . . . . .
Cas des fonctions d'une variable . . . . . . .
2.2.1 Prliminaires : sparation des zros .
2.2.2 Quelques algorithmes classiques . . .
2.2.2.1 Mthode de dichotomie (ou
2.2.2.2 Mthode de la scante . . .
2.2.2.3 Critre d'arrt . . . . . . .
2.2.2.4 Mthode de Newton . . . .
2.2.2.5 Mthode de point xe . . .
2.2.3 Convergence des algorithmes . . . .
2.2.3.1 Mthodes de point xe . .
2.2.3.2 Mthode de Newton . . . .
2.2.3.3 Mthode de la scante . . .
2.2.4 Comparaison des algorithmes . . . .
2.2.4.1 Mthode de dichotomie . .
2.2.4.2 Mthode de Newton . . . .
2.2.4.3 Mthode de la scante . . .
2.2.4.4 Mthode du point xe . . .
2.2.5 Acclration de la convergence . . .
2.2.5.1 Mthode de relaxation . . .
2.2.5.2 Mthode du 2 d'Aitken .
Fonctions valeurs complexes . . . . . . . .
2.3.1 Cas des quations polynmiales . . .
2.3.1.1 Localisation des zros . . .

. . .
. . .
rels
. . .
. . .
. . .
. . .
. . .
. . .

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

. . . . . .
. . . . . .
. . . . . .
. . . . . .
bisection)
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

9
10
10
10
12
12
13
14
15

17

17
17
17
18
18
19
19
20
20
22
22
24
26
28
28
29
29
29
30
30
31
34
34
34

TABLE DES MATIRES

2.4

2.5

2.3.1.2 Evaluation d'un polynme : algorithme de Hrner


2.3.1.3 Dtermination de tous les zros . . . . . . . . . . .
2.3.1.4 Mthode de Bairstow . . . . . . . . . . . . . . . .
2.3.1.5 Mthode de Mller . . . . . . . . . . . . . . . . .
Systme d'quations non linaires . . . . . . . . . . . . . . . . . . .
2.4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4.2 La mthode de Newton-Raphson . . . . . . . . . . . . . . .
2.4.3 La mthode de Broyden . . . . . . . . . . . . . . . . . . . .
Exercices du chapitre 2 . . . . . . . . . . . . . . . . . . . . . . . . .

3 Interpolation et approximation polynmiale


3.1

3.2
3.3

3.4

3.5

Interpolation de Lagrange . . . . . . . . . . . . . . . . . . . .
3.1.1 Le polynme d'interpolation . . . . . . . . . . . . . . .
3.1.2 Proprits des dirences divises . . . . . . . . . . . .
3.1.3 Erreur dans l'interpolation de Lagrange . . . . . . . .
3.1.3.1 Analyse du thorme 3.3 . . . . . . . . . . .
Approximation polynmiale uniforme . . . . . . . . . . . . . .
Approximation au sens des moindres carrs . . . . . . . . . .
3.3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . .
3.3.2 Mthode classique des moindres carrs . . . . . . . . .
3.3.3 Polynmes orthogonaux . . . . . . . . . . . . . . . . .
3.3.4 Exemples classiques de polynmes orthogonaux . . . .
3.3.5 Polynmes trigonomtriques . . . . . . . . . . . . . . .
3.3.6 La transforme de Fourier rapide . . . . . . . . . . . .
Approximation par des fonctions polynmiales par morceaux
3.4.1 Approximation linaire par morceaux . . . . . . . . .
3.4.2 Approximation cubique . . . . . . . . . . . . . . . . .
3.4.3 Fonctions splines . . . . . . . . . . . . . . . . . . . . .
Exercices du chapitre 3 . . . . . . . . . . . . . . . . . . . . . .

4 Drivation et intgration numrique


4.1
4.2

4.3

4.4

Introduction . . . . . . . . . . . . . . . . . . . . . .
Drivation numrique . . . . . . . . . . . . . . . .
4.2.1 Drive premire . . . . . . . . . . . . . . .
4.2.1.1 Formules deux points . . . . . .
4.2.1.2 Formules trois points . . . . . .
4.2.1.3 Erreur . . . . . . . . . . . . . . . .
4.2.2 Drives d'ordre suprieur . . . . . . . . . .
Intgration numrique : mthodes composites . . .
4.3.1 Principe . . . . . . . . . . . . . . . . . . . .
4.3.2 Mthode des rectangles . . . . . . . . . . .
4.3.3 Mthode des trapzes . . . . . . . . . . . .
4.3.4 Mthode de Simpson . . . . . . . . . . . . .
4.3.5 Mthode du trapze corrige . . . . . . . .
Analyse de l'erreur dans les mthodes d'intgration
4.4.1 Thorie . . . . . . . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

35
37
38
39
40
40
41
42
42

45

45
45
47
50
51
52
56
56
57
60
62
64
67
67
68
68
69
71

73

73
74
74
74
75
75
76
76
76
76
77
78
78
79
79

TABLE DES MATIRES

4.4.2

4.5

4.6

4.7

Application aux mthodes usuelles . . . . . . . . . . . .


4.4.2.1 Mthode des rectangles ( gauche ou droite)
4.4.2.2 Formule du point milieu . . . . . . . . . . . . .
4.4.2.3 Mthode des trapzes . . . . . . . . . . . . . .
4.4.2.4 Mthode de Simpson . . . . . . . . . . . . . .
4.4.2.5 Mthode des trapzes corrigs . . . . . . . . .
4.4.3 Exemple d'application . . . . . . . . . . . . . . . . . . .
Mthodes d'intgration numrique de Gauss . . . . . . . . . . .
4.5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . .
4.5.2 Ide de base des mthodes de Gauss . . . . . . . . . . .
4.5.3 Mise en oeuvre de la mthode . . . . . . . . . . . . . . .
4.5.3.1 Mthode de Legendre-Gauss . . . . . . . . . .
4.5.3.2 Mthode de Gauss-Chebyshev . . . . . . . . .
4.5.3.3 Mthodes de Laguerre et Hermite . . . . . . .
Mthodes d'extrapolation la limite . . . . . . . . . . . . . . .
4.6.1 Extrapolation la limite de Richardson . . . . . . . . .
4.6.2 Mthode de Romberg . . . . . . . . . . . . . . . . . . .
Exercices du chapitre 4 . . . . . . . . . . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
(ou infrieure)

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

5 Rsolution numrique d'quations direntielles


5.1

5.2

5.3
5.4
5.5

5.6
5.7
5.8
5.9

Quelques remarques sur (5.1) . . . . . . . . . . . . . . .


5.1.1 Quelques soucis d'ordre thorique . . . . . . . . .
5.1.2 Rgularit de la solution . . . . . . . . . . . . . .
Mthodes de rsolution un pas . . . . . . . . . . . . .
5.2.1 La mthode d'Euler . . . . . . . . . . . . . . . .
5.2.1.1 Estimation de l'erreur de discrtisation
5.2.1.2 Inuence des erreurs d'arrondis . . . . .
5.2.2 Mthode d'Euler implicite . . . . . . . . . . . . .
Les mthodes de Runge-Kutta . . . . . . . . . . . . . .
Contrle du pas . . . . . . . . . . . . . . . . . . . . . . .
Mthodes pas multiples . . . . . . . . . . . . . . . . .
5.5.1 Mthodes d'Adams-Bashforth r + 1 pas . . . .
5.5.2 Mthodes d'Adams-Moulton r + 1 pas . . . . .
5.5.3 Mthode de prdicteur-correcteur . . . . . . . . .
Comparaison des mthodes . . . . . . . . . . . . . . . .
Applications des problmes aux limites . . . . . . . . .
Schma de Newmark pour les problmes d'ordre 2 . . .
Exercices du chapitre 5 . . . . . . . . . . . . . . . . . . .

6 Rsolution de systmes linaires


6.1

Quelques remarques gnrales . . . . . . . . . .


6.1.1 Origines des problmes . . . . . . . . . .
6.1.2 Mthodes utilises . . . . . . . . . . . .
6.1.3 Structure de la matrice . . . . . . . . .
6.1.3.1 Cas d'une matrice diagonale .
6.1.3.2 Matrice triangulaire suprieure

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

80
80
80
81
81
82
82
82
82
83
84
85
86
86
86
87
89
91

93

93
94
96
97
97
99
101
103
103
107
109
109
111
112
112
113
114
116

117

117
117
117
118
118
118

TABLE DES MATIRES

6.2

6.3

6.4

6.5
6.6

6.1.3.3 Autres cas . . . . . . . . . . . . . . . . . . . . . . . . . 119


6.1.3.4 Matrices symtriques . . . . . . . . . . . . . . . . . . . 120
6.1.4 Stockage des matrices . . . . . . . . . . . . . . . . . . . . . . . . 120
Mthodes directes de rsolution de AX = b . . . . . . . . . . . . . . . . 123
6.2.1 Mthode d'limination de Gauss . . . . . . . . . . . . . . . . . . 123
6.2.1.1 Calcul du nombre d'oprations lmentaires . . . . . . . 126
6.2.2 Drivs de la mthode de Gauss . . . . . . . . . . . . . . . . . . 126
6.2.2.1 Factorisation LU . . . . . . . . . . . . . . . . . . . . . . 127
6.2.2.2 Algorithme de Crout . . . . . . . . . . . . . . . . . . . 128
6.2.2.3 Cas particulier des matrices tridiagonales . . . . . . . . 129
6.2.2.4 Mthode de Gauss-Jordan . . . . . . . . . . . . . . . . 130
6.2.3 Factorisation de Cholesky . . . . . . . . . . . . . . . . . . . . . . 131
6.2.4 Autres mthodes directes . . . . . . . . . . . . . . . . . . . . . . 134
Analyse du conditionnement d'un systme linaire . . . . . . . . . . . . 134
6.3.1 Quelques prliminaires sur les normes matricielles . . . . . . . . 134
6.3.1.1 Norme sur l'espace vectoriel des matrices . . . . . . . . 135
6.3.2 Analyse du conditionnement . . . . . . . . . . . . . . . . . . . . 137
6.3.2.1 Proprits de cond (A) . . . . . . . . . . . . . . . . . . . 138
6.3.3 Exemple de systme linaire mal conditionn . . . . . . . . . . . 139
6.3.4 Prconditionnement . . . . . . . . . . . . . . . . . . . . . . . . . 140
Mthodes itratives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
6.4.1 Description des mthodes de Jacobi, Gauss-Seidel, relaxation . . 140
6.4.2 Itrations par blocs . . . . . . . . . . . . . . . . . . . . . . . . . . 141
6.4.3 Etude de la convergence des mthodes itratives . . . . . . . . . 142
6.4.3.1 Vitesse de convergence . . . . . . . . . . . . . . . . . . 143
6.4.3.2 Application aux mthodes de Jacobi-Gauss-Seidel-Relaxation144
6.4.4 Application la mthode des dirences nies . . . . . . . . . . 147
La mthode du gradient conjugu . . . . . . . . . . . . . . . . . . . . . . 151
6.5.1 Gradient conjugu avec prconditionnement . . . . . . . . . . . . 154
Exercices du chapitre 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154

7 Calcul de valeurs propres et vecteurs propres


7.1
7.2

7.3

7.4
7.5

Rappels . . . . . . . . . . . . . . . . . . . . . . . . . . .
Origine des problmes de valeurs propres . . . . . . . . .
7.2.1 Vibration d'une corde . . . . . . . . . . . . . . .
7.2.2 Vibration d'une membrane . . . . . . . . . . . .
7.2.3 Problmes de valeurs propres gnraliss . . . . .
7.2.4 Systme mcanique . . . . . . . . . . . . . . . . .
7.2.5 Autres exemples . . . . . . . . . . . . . . . . . .
Mthode de la puissance itre et de la puissance inverse
7.3.1 Mthode de la puissance itre . . . . . . . . . .
7.3.2 Mthode de la puissance inverse . . . . . . . . .
Mthode de Jacobi . . . . . . . . . . . . . . . . . . . . .
Mthode de Givens-Householder . . . . . . . . . . . . .
7.5.1 Principe . . . . . . . . . . . . . . . . . . . . . . .
7.5.2 Description de la mthode de Givens . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

155

155
157
157
159
160
160
161
161
161
163
164
168
168
168

TABLE DES MATIRES

7.6
7.7

7.5.3 Mise sous forme Hessenberg d'une matrice . . .


La mthode QR . . . . . . . . . . . . . . . . . . . . .
7.6.1 Algorithme QR de recherche de valeurs propres
Exercices du chapitre 7 . . . . . . . . . . . . . . . . . .

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

171
172
174
176

TABLE DES MATIRES

Chapitre 1

Les erreurs en Analyse


Numrique
1.1

Introduction

Dans le titre de ce chapitre, le mot erreur n'est pas pris au sens de faute (raisonnement
faux dans la mthode, instruction fausse dans le programme). Il ne concerne que des
erreurs invitables. On peut les classer en trois catgories :

Les erreurs sur les donnes. Elles peuvent tre dues l'imprcision des mesures
physiques ou au fait que les donnes proviennent elle mme d'un calcul approch.
Elles sont imposes, en quelque sorte, de l'extrieur et nous ne pouvons agir sur elles.
Nanmoins, la manire dont elles se propagent au cours des calculs est davantage
du ressort du calculateur. L'analyse de cette propagation sera voque au cours de
ce chapitre. Elle est lie aux notions de conditionnement et de stabilit (voir section
1.3).
 Les erreurs d'arrondi. Ce sont les erreurs dues au fait que la machine (dans ce
cours, ce terme dsignera indiremment la calculette de poche ou l'ordinateur) ne
peut reprsenter les nombres rels qu'avec un nombre ni de chires. A chaque opration mathmatique lmentaire, il pourra y avoir une perte de chires signicatifs. Le
calculateur doit donc tre vigilant quand le nombre d'oprations est trs important.
Cela va faire l'objet du prochain paragraphe.
 Les erreurs d'approximation ou de discrtisation. Ce sont les erreurs qu'on
commet, par exemple, lorsqu'on calcule une intgrale l'aide d'une somme nie, une
drive l'aide de dirences nies ou bien la somme d'une srie innie l'aide d'un
nombre ni de ses termes (on parle alors quelquefois d'erreur de troncature). Une
situation qu'on rencontrera souvent galement consiste approcher une fonction,
solution d'une certaine quation fonctionnelle ou aux drives partielles, par une
combinaison linaire nie de fonctions lmentaires. Ce type d'erreurs est bien sr
fortement li la mthode employe. Un des buts de l'analyse numrique consiste
justement valuer ces erreurs de discrtisation pour chaque algorithme mis en place.
C'est donc un souci qui nous accompagnera tout au long de ce cours.


10

1.2

CHAPITRE 1.

LES ERREURS EN ANALYSE NUMRIQUE

Arithmtique machine

1.2.1 Reprsentation machine des nombres rels


Le systme de reprsentation machine des nombres rels le plus utilis en calcul scientique est celui de la reprsentation en virgule ottante normalise. Un nombre x = 0
s'crit
x m bp
o b est la base de numration (entier suprieur ou gal 2), m la mantisse (ensemble
de chires de la base b) et p l'exposant (entier relatif). Dire que la reprsentation est
normalise, c'est supposer
b1 m < 1.
Par exemple, le nombre 395.2134 en base 10 s'crit +.3952134 10+3 ou, plus souvent,
+.3952134 E+3. Les bases b = 2 ou les puissances de 2 sont frquemment utilises par
les constructeurs d'ordinateurs. Cela signie, par exemple que tous les calculs internes
sont faits en base 2 et seul le rsultat ach est traduit en base 10.
La mantisse m est donc un nombre qui commence toujours par 0. . . . et qui s'crit
avec un nombre maximum N de chires signicatifs (impos par le choix de la taille
des emplacements mmoires allous au type rel). Signalons la possibilit oertes sur la
plupart des ordinateurs (mais pas sur les calculatrices !) de travailler en double prcision,
c'est--dire essentiellement avec une mantisse comportant 2N chires signicatifs. Cette
possibilit est videmment coteuse en temps de calcul et ne doit surtout pas tre
utilise systmatiquement. Elle est intressante, en particulier, quand on n'est pas trs
sr de la stabilit d'un algorithme, pour pouvoir comparer des rsultats obtenus en
simple prcision et en double prcision.
L'exposant p est lui aussi limit par la machine avec laquelle on travaille. Si p est
hors des limites permises (i.e. trop grand en valeur absolue), le nombre x ne sera pas
reprsentable en machine : elle achera alors un message du type exponent overow
quand le nombre est trop grand, ou elle achera 0 s'il est trop petit, voir Exercice 1.1.
On appelle quelquefois capacit le plus grand nombre que peut crire la machine et
pas le plus petit nombre. En gnral, le pas est l'inverse de la capacit.
La dirence entre la valeur exacte d'un nombre x et la valeur x de sa reprsentation
est appele erreur d'arrondi. Elle est majore par 12 bN bp , soit en valeur relative :



x x bN bp
bN bp
b1N


x 2x 2bp1 = 2 .
Cette erreur est systmatiquement prsente dans tout calcul arithmtique sur nombre
rel eectu par un ordinateur. Elle fait que l'arithmtique numrique n'a pas la prcision de l'arithmtique mathmatique et peut, si on n'y prend garde, conduire des
rsultats inexacts, voire aberrants, comme le montrent les exemples suivants et les
exercices.

1.2.2 Perte de chires signicatifs


Pour faciliter la comprhension, nous nous placerons dans l'environnement rassurant
de la base 10, les phnomnes tant du mme type dans toute base.

Exemple 1.1

Supposons que dans un calcul apparaisse la quantit x = 3.1415


(o = 3.141592653589793 . . .). Si on travaille avec 8 chires signicatifs (comme

1.2.

ARITHMTIQUE MACHINE

beaucoup de calculettes), le nombre sera reprsent par : = 0.31415927 101 en


virgule ottante normalise. On aura donc

x = 0.31415927 101 0.31415 101 = 0.0000927 101 = 0.927 104


On constate que x ne contient en fait que 3 chires signicatifs et non 8, soit une perte
sche de 5 chires signicatifs. Ce genre de phnomnes peut surgir tout moment
d'un calcul. Nous verrons de nombreux exemples d'algorithmes conduisant faire la
dirence de 2 nombres proches.

Exemple 1.2 : Soit calculer le quotient


A=

3, 1415
XN
= 4
XD
10 ( 3, 1515) 0, 927

En travaillant avec 8 chires signicatifs, on a :

XD = 104 (0, 927.104 ) 0, 927 = 0, 0


= 3, 1415927
= 3, 14159265
= 3, 141592653
= 3, 141592654
= 3, 1415926535
= 3, 1415926536
= 3, 14159265358
= 3, 14159265359
= 3, 141592653589
= 3, 1415926535897
= 3, 1415926535898
= 3, 14159265358979
= 3, 1415927653589793

A = ERREU R
A = 0, 18530...
A = 0, 197134...
A = 0, 201427...
A = 0, 1992548...
A = 0, 1996844...
A = 0, 1995984...
A = 0, 19964143...
A = 0, 19963713...
A = 0, 199640143...
A = 0, 1996405743...
A = 0, 1996405312
A = 0, 1996405439...

On constate que pour obtenir p chires signicatifs pour A, il faut reprsenter l'aide
de p + 8 chires signicatifs.
Dans le tableau ci dessus, le symbole ] signale des reprsentations avec le mme nombre
de chires, tous tant identiques sauf le dernier.

Exemple 1.3

: L'addition numrique n'est pas associative : en virgule ottante n


chires signicatifs, (a + b) + c peut tre dirent de a + (b + c). C'est le cas avec le
choix suivant o les calculs sont faits avec 8 chires signicatifs.

a
b
c

: = 0, 23371258.104
: = 0, 33678429.102
: = 0, 33677811.102

a + b = 0, 00000023(371258).102 + 0, 33678429.102 = 0, 33678452.102 .


On remarque que, dans cette addition, les 6 derniers chires de a sont perdus. Ainsi :

(a + b) + c =
=

0, 33678452.102 0, 33677811.102
0, 00000641.102 = 0, 641.103 .

Par ailleurs :

b+c

= 0, 33678429.102 0, 33677811.102
= 0, 00000618.102 = 0, 618.103

11

12

CHAPITRE 1.

LES ERREURS EN ANALYSE NUMRIQUE

a + (b + c) = 0, 02337125 (8) .103 + 0, 61800000.103 = 0, 64137126.103 .


Essayons d'analyser le phnomne ci-dessus. Si vf (a + b) dsigne le rsultat de l'addition a + b, on a :
vf (a + b) = (a + b) (1 + 1 )
o 1 dsigne l'erreur relative commise dans le calcul : celle-ci dpend de la prcision de
la machine. On sait qu'elle est majore par 12 1n soit ici 5.108 . Posons = vf (a + b).
On a alors

vf ((a + b) + c) =

vf ( + c) = ( + c) (1 + 2 )

|2 | 5.108

= [(a + b) (1 + 1 ) + c] (1 + 2 )
= a + b + c + (a + b) 1 (1 + 2 ) + (a + b + c) 2 .
Ainsi :

vf ((a + b) + c) (a + b + c)
a+b
=
1 (1 + 2 ) + 2 .
a+b+c
a+b+c
De la mme faon :
vf (a + (b + c)) (a + b + c)
b+c
=
3 (1 + 4 ) + 4 .
a+b+c
a+b+c
On voit que les erreurs 1 (1 + 2 ), 3 (1 + 4 ), environ gales 5.108 sont soumises
des coecients amplicateurs

a+b
5.104 ,
a+b+c

b+c
0, 9.
a+b+c

Ceci explique pourquoi le second calcul est plus prcis que le premier.

Remarque 1.1

Dans les calculs o interviennent des nombres d'ordres de grandeur diffrents, il est en gnral prfrable d'eectuer les oprations en groupant ceux d'ordres
de grandeur similaires pour viter les pertes de chires signicatifs.
1.3

Notions de conditionnement et stabilit

Ces deux notions, toujours prsentes en analyse numrique, sont relatives la propagation plus ou moins importante des erreurs d'arrondi dans un calcul donn. Nous les
tudions ici pour le calcul d'une fonction.

x R 7 f (x) R.

1.3.1 Conditionnement
Le conditionnement dcrit la sensibilit de la valeur d'une fonction une petite variation
de son argument, c'est--dire :

x x
f (x) f (x)
en fonction de
f (x)
x
lorsque x x est petit. Pour une fonction susamment rgulire, on a videmment :



f (x) f (x) x x xf (x)



.



f (x)
x f (x)
D'o on tire :

1.3.

NOTIONS DE CONDITIONNEMENT ET STABILIT

Dnition 1.1

On appelle conditionnement d'une fonction numrique f de classe C 1


en un point x, le nombre


xf (x)

.
cond(f )x :=
f (x)

Exemple 1.4 : f (x) =



xf (x) 1


f (x) = 2 .

Ceci correspond un bon conditionnement, puisque l'erreur relative sur f sera au plus
moiti d'une erreur relative sur x.

Exemple 1.5 : f (x) = a x




xf (x) x

=

f (x) a x .

Ici, le conditionnement est trs mauvais si x est voisin de a. Ceci correspond aux
exemples 1.1, 1.2, 1.3.

1.3.2 Stabilit
La stabilit dcrit la sensibilit d'un algorithme numrique pour le calcul d'une fonction
f (x).

Exemple 1.6 :
f (x) =

x + 1 x.

Le conditionnement de cette fonction est gal :



)


(
1 x
xf (x) x x x + 1
1


=

=
f (x) 2 x (x + 1)
x + 1 x 2 x + 1
Cette dernire expression tant proche de 12 pour x grand. Donc, si x est grand, le
conditionnement de f est bon. Cependant, dans un calcul 6 chires signicatifs, on
a:

f (12345) = 12346 12345 = 111, 113 111, 108 = 0, 500000.102 .


Or un calcul prcis donne : f (12345) = 0, 4500032....102 . On a donc une erreur de
10% ce qui est important et peu en accord avec le bon conditionnement de f . Ceci est
d l'algorithme utilis dans ce calcul que l'on peut expliciter comme suit :

x0
x1
x2
x3
x4

: = 12345
: = x0 + 1

: = x1

: = x0
: = x2 x3

Il y a quatre fonctions intervenir et, priori, mme si le conditionnement de f est bon,


il se peut que le conditionnement d'une ou plusieurs fonctions utilises dans l'algorithme
soit suprieur celui de f . C'est ce qui se produit ici pour la fonction x3 7 x4 = x2 x3
(x2 tant suppos xe) dont le conditionnement est grand lorsque x3 est voisin de x2
comme on l'a vu prcdemment.

13

14

CHAPITRE 1.

LES ERREURS EN ANALYSE NUMRIQUE

En conclusion, le choix d'un bon algorithme numrique est essentiel. Par exemple, cidessus, un meilleur algorithme est obtenu en utilisant :

f (x) =

1
x+1 x=
.
x+1+ x

Dans ce cas, toujours avec 6 chires signicatifs :

1
1

f (12345) =
= 0, 450002.102
=
222,
221
12346 + 12345
ce qui donne une erreur relative de 0, 0003%. Dans la mme optique, l'exemple suivant
peut aussi tre mdit.
Exemple d'instabilit : Calcul de e12 l'aide de sa srie de Taylor

ex =

xn
(= SN ) pour N grand.
n!
n=0

Voici les valeurs successives de cette somme en fonction de N pour x = 12. Le calcul
est fait avec 10 chires signicatifs.

N
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

SN
11, 0...
61, 0...
227, 0...
637, 0...
1436, 6...
2710, 6...
4398, 88...
6265, 34...
7953, 62...
9109, 137...
9504, 78...
9109, 13...
8072, 94...
6654, 55...
5127, 44...
3709, 05...
2528, 47...

N
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35

SN
1629, 87...
996, 45...
579, 34...
321, 11...
170, 04...
86, 20...
41, 91...
19, 58...
8, 80...
3, 8130...
1, 5937...
0, 6435...
0, 2513...
0, 0950...
0, 0348...
0, 01238...
0, 004283...

N
SN
36
0, 001432...
37
0, 000472...
38
0, 0001454...
39 0, 000049726...
40 0, 000010319...
41 0, 000007694...
42 0, 000002422...
43 0, 000003928...
44 0, 000003508...
45 0, 000003623...
46 0, 000003592...
47 0, 000003600...
48 0, 000003598...
49 0, 000003599...
50 0, 000003598...

La valeur de e12 est en fait de 0, 0000061442... . La formule ex =


calcul plus stable, mme si ex est calcul comme ci-dessus.
1.4

1
ex

donne lieu un

Conclusion

An de limiter la propagation des erreurs d'arrondi, il faut essayer d'anticiper en utilisant des algorithmes dont la stabilit est optimise par un choix d'oprations intermdiaires bon conditionnement.
Les phnomnes souligns dans ce chapitre ne pouvant tre, en tout tat de cause,
compltement limins, on peut essayer d'valuer l'erreur totale laquelle un algorithme
est susceptible de donner lieu :
a/ en faisant un calcul en double prcision et en confrontant le rsultat au mme calcul
fait en simple prcision. C'est ce que nous avons fait dans l'exemple 1.2. Cependant,

1.5.

15

EXERCICES DU CHAPITRE 1

cette technique est trs coteuse en temps machine puisqu'elle peut multiplier le temps
de calcul par un facteur 8.
b/ en faisant une analyse mathmatique de l'erreur : ce peut tre une analyse rtrograde
de l'erreur comme celle utilise plus haut pour comparer (a + b) + c et a + (b + c). Des
mthodes statistiques peuvent tre galement utilises. Nous renvoyons la littrature
spcialise pour ces questions le plus souvent dlicates.
1.5

Exercices du chapitre 1

Exercice 1.1 En crivant un petit programme, trouver la capacit et le pas de votre


calculatrice de poche ou de l'ordinateur.
Exercice 1.2

Calculer les racines de l'quation x2 + 111, 11x + 1, 2121 = 0 dans


une

b2 4ac
,
arithmtique 5 chires signicatifs (base 10) en utilisant les formules x = b+ 2a
puis x = b+2c
,
et
analyser
les
rsultats.
b2 4ac

Exercice 1.3

Estimer l'erreur faite dans le calcul de (cos x) e10x autour de x = 2


quand l'erreur sur x est d'ordre 106 .

Exercice 1.4

Trouver une mthode pour calculer :

sin ( + x) sin
lorsque x est voisin de 0, la prcision permise par le nombre de chires signicatifs
utiliss.

Exercice 1.5

Calculer, en arrondissant quatre chires signicatifs chaque calcul intermdiaire, la somme des nombres suivants d'abord dans le sens croissant puis dans le
sens dcroissant. Comparer les rsultats.

0, 1580

0, 2653

0, 2581.101
0, 7889.103

Exercice 1.6

0, 4288.101
0, 7767.103

0, 6266.102

0, 7555.102

0, 8999.104 .

Les valeurs 1, 16 , 612 , ..., 61n sont thoriquement gnres par la suite
37
x0 = 1, x1 = 16 , xn+1 =
xn xn1 pour tout n 1.
6
Calculer les valeurs successives avec 4 dcimales puis avec 8 dcimales et comparer...
On constate une dirence trs importante ds la 5me tape. Expliquer !

16

CHAPITRE 1.

LES ERREURS EN ANALYSE NUMRIQUE

Chapitre 2

Rsolution d'quations non


linaires
2.1

Introduction

Le but de ce chapitre est de dcrire les algorithmes les plus frquemment utiliss pour
rsoudre des quations non linaires du type :

f (x) = 0
o
1. x est une variable relle, f une fonction valeurs relles
2. x est une variable complexe, f une fonction valeurs complexes
3. x est un vecteur de Rn , f une fonction de Rn dans Rn .
Le premier point sera le plus dtaill : la convergence des algorithmes est analyse. On
prsentera galement des techniques d'acclration de convergence. Pour les fonctions
complexes, on insistera sur le cas des polynmes. Pour les fonctions de Rn dans Rn on
prsentera rapidement les algorithmes qui seront en fait inspirs de la dimension 1.
2.2

Cas des fonctions d'une variable

2.2.1 Prliminaires : sparation des zros


Exemple 2.1 : rsoudre x 0, 2 sin x 0, 5 = 0, x rel.
Exemple 2.2 : rsoudre cos x = ex , x rel.
Le premier travail consiste en une analyse mathmatique minimale pour sparer les
zros, c'est--dire dterminer des intervalles [ai , bi ] dans lesquels l'quation considre
a une solution et une seule.
La mthode la plus simple est d'utiliser qu'une fonction continue strictement monotone
sur un intervalle [ai , bi ] et telle que f (ai ) f (bi ) 0 a un zro et un seul dans l'intervalle
[ai , bi ]. Par exemple :
f1 (x) = x 0, 2 sin x 0, 5

f1 (x) = 1 0, 2 cos x 0 pour tout x .


Donc f1 est strictement croissante sur R. Comme f1 (0) = 0, 5 < 0 , f1 () = 0, 5 >
0, f1 a un unique zro dans [0, ].

17

18

CHAPITRE 2.

RSOLUTION D'QUATIONS NON LINAIRES

Un calcul similaire pour l'exemple 2.2 conduit une impasse si on pose f2 (x) :=
cos x ex puisque la drive f2 (x) = sin x + ex est du mme type. Cette situation
est bien sr beaucoup plus frquente. On peut alors :
A/ choisir plus judicieusement la fonction auxiliaire f2 . Ici, on peut par exemple poser
f2 (x) := ex cos x 1. Les zros de f2 sont exactement les solutions de (2.2). D'autre
part :
(

)
f2 (x) = ex (cos x sin x) = 2ex cos x
.
4
Ainsi
f2 est strictement] monotons sur les intervalles du type
[
(
)

+
k
4
2 , 4 + (k + 1) 2 , k entier. L'tude des signes successifs de f 4 + k 2 permet
alors de localiser les zros ventuels.
B/ On peut procder par tatonnements en s'aidant au maximum d'informations complmentaires disponibles. Ainsi, dans l'exemple 2.2, le trac des reprsentations graphiques
des fonctions x 7 cos x et x 7 ex est particulirement suggestif.
Dans la suite, nous nous placerons le plus souvent dans le cas o f : [a, b] R admet
un unique zro dans l'intervalle [a, b] .

2.2.2 Quelques algorithmes classiques


2.2.2.1 Mthode de dichotomie (ou bisection)
Reprenons l'exemple 2.1. Nous avons vu que si f (x) = x 0.2 sin x
( ) 0.5, f (0) <
0, f ()
>
0
;
d'o
un
zro
dans
(0,
)
.
Si
on
calcule
la
valeur
de
f
en
2 , on constate
()
[ ]

que
f
=

0,
7
>
0
.
Donc
ce
zro
est
en
fait
dans
0,
.
On
peut
alors calculer
2
2
( ) 2
[
]
f 4 = 0, 14 > 0, qui montre qu'il est dans 0, 4 .
Il est clair qu'une rptition de ce procd donne un encadrement de plus en plus prcis
du zro cherch et fournit donc un algorithme de calcul de ce zro.

Algorithme 2.1 : Soit f : [a0 , b0 ] R continue et telle que f (a0 ) f (b0 ) 0.

Pour n = 0, 1, 2, ..., N, faire


n)

m := (an +b

2
Si f (an ) f (m) 0, an+1 := an , bn+1 := m
Sinon
an+1 := m, bn+1 := bn .
On a : an+1 bn+1 = 21 (an bn ), soit par rcurrence an bn = 21n (a0 b0 ). Il en
rsulte que cette mthode est toujours convergente puisque an bn tend vers 0 quand
n tend vers l'inni. On peut choisir le temps d'arrt N pour que :

1
(a0 b0 ) < = prcision choisie.
2N
On obtient alors un encadrement de la solution cherche la prcision voulue. Bien que
cette situation soit trs allchante, on verra qu'en fait cette mthode converge plutt
lentement compare celles qui suivent.

Remarque 2.1

Dans l'exemple 2.1, on a f (0) = 0, 5 , f () = 2, 64. Ceci laisse


immdiatement penser que le zro cherch doit tre plus prs de 0 que de . Le plus
ecace n'est donc pas de tester la valeur de f en le milieu de [0, ] mais plutt en un
point plus voisin de 0 tenant compte de cette dirence de poids entre f (0) et f ().
Ceci conduit aux algorithmes dits de fausse position qui convergent gnralement plus
vite. Nous ne les expliciterons pas ici.

Remarque 2.2
tervalle [a0 , b0 ] .

La mthode ci-dessus converge mme si f a plusieurs zros dans l'in-

2.2.

19

CAS DES FONCTIONS D'UNE VARIABLE

2.2.2.2 Mthode de la scante


Soit f admettant un zro dans l'intervalle [x1 , x0 ] . Pour obtenir une premire approximation de ce zro, l'ide est de remplacer f par son interpol linaire sur [x1 , x0 ], soit
par
f (x0 ) f (x1 )
,
Y (x) = f (x0 ) + (x x0 )
x0 x1
l'unique fonction linaire dont les valeurs concident avec celles de f en x1 et x0 .
L'approximation x1 est alors obtenue en rsolvant :

Y (x1 ) = 0
soit

x1 = x0 f (x0 )

x0 x1
.
f (x0 ) f (x1 )

Gomtriquement (cf Figure 2.1), ceci revient remplacer la courbe d'quation y =

xn1

xn+1

xn

Figure 2.1  Mthode de la scante


f (x) par la scante AB et xn+1 est l'intersection de AB avec la droite (Ox) .
Comme le montre le dessin, xn+1 semble plus voisin du zro cherch que xn1 ou xn .
Pour trouver une meilleure approximation, il sut de rpter le procd l'aide des
points (xn , xn+1 ). En continuant, on obtient l' :

Algorithme 2.2 : x0 et x1 tant donns,

xn+1

Pour n = 0, 1, 2, ...
xn xn1
.
= xn f (xn )
f (xn ) f (xn1 )

2.2.2.3 Critre d'arrt


Cet algorithme n'est videmment pas complet tant qu'on n'a pas prcis un critre
d'arrt. Nous verrons plus loin que, gnralement, xn converge vers la solution x
cherche ce qui signie que pour n grand, xn est voisin de x . Sans plus d'informations,

20

CHAPITRE 2.

RSOLUTION D'QUATIONS NON LINAIRES

il est dicile de savoir ce que signie numriquement  n grand, et c'est l une dicult
frquente en analyse numrique.
Un critre d'arrt souvent utilis consiste choisir a priori une tolrance et terminer
l'algorithme lorsque
|xn+1 xn | .
(2.1)
Ce n'est pas compltement satisfaisant ; pour s'en convaincre, on peut penser la suite :

xn = 1 +

1
1
+ ... +
2
n

qui vrie limn |xn+1 xn | = 0 bien que tendant vers l'inni.


Puisqu'on veut rsoudre f (x) = 0, un autre critre d'arrt possible consiste s'arrter
lorsque
|f (xn )| < .
(2.2)
Un numricien particulirement scrupuleux pourra dcider de ne s'arrter que lorsque
les deux critres d'arrts (2.1) et (2.2) sont simultanment vris.
Dans le cas de l'algorithme de la scante ci-dessus, on peut aussi utiliser :

|f (xn ) f (xn1 )| < .


ce critre d'arrt a l'avantage d'viter une possible division par 0.
Enn, pour viter l'ordinateur de tourner sans s'arrter lorsqu'il n'y a pas convergence,
il est videmment indispensable de toujours mettre un critre limitant le nombre
total d'itrations.

2.2.2.4 Mthode de Newton


Ici, au lieu d'assimiler la courbe  y = f (x) une scante, on l'assimile la tangente
en un point (xn , f (x0 )) soit, la droite d'quation :

Y = f (xn ) + f (xn ) (x xn ) .
Son intersection avec l'axe des abscisses fournit une approximation de la solution x .
A nouveau, on renouvelle le procd jusqu' obtenir une approximation susante, d'o
l' :

Algorithme 2.3 : x0 tant donn


[

Pour n = 0, 1, 2, ...
n)
xn+1 = xn ff(x
(xn ) .

Remarque 2.3

Cet algorithme est initi l'aide d'un seul point. Il peut tre vu comme
xn1
une modication de l'algorithme prcdent o le quotient f (xxnn)f
(xn1 ) a t remplac
1
par f (xn ) . Nous verrons plus loin qu'il donne lieu une convergence beaucoup plus
rapide.

2.2.2.5 Mthode de point xe


Elle consiste d'abord remplacer l'quation

() f (x) = 0
par une quation

() g (x) = x

2.2.

21

CAS DES FONCTIONS D'UNE VARIABLE

f(xn)

xn+1

xn

Figure 2.2  Mthode de Newton


ayant mmes solutions. On est ainsi ramen la recherche des points xes de l'application g . Le remplacement de () par () est toujours possible en posant, par exemple,
g (x) = f (x) + x. Ce n'est videmment pas forcment le meilleur choix !

Exemple 2.3 : Pour l'quation


x2 x 2 = 0
on peut prendre

g (x)
g (x)

=
=

g (x)

g (x)

x2 2

2+x
2
1+
x
x2 x 2
x
pour tout paramtre m = 0.
m

l'quation tant sous la forme (), on a alors l'algorithme suivant :

Algorithme 2.4 : On choisit x0

Pour n = 0, 1, 2, ...
xn+1 = g (xn ) .

Cette mthode est justie par la :

Proposition 2.1
x , alors

Soit g : [a, b] [a, b] continue et x0 [a, b] . Si xn converge vers


x = g (x ) .

La dmonstration est immdiate en passant la limite dans l'galit xn+1 = g (xn ) et


en utilisant la continuit de g au point x .
Une dicult majeure dans l'algorithme 2.4 est qu'il peut arriverqu'on ne puisse calculer g (xn ). Il sut de penser ce qui se passe lorsque g (x) = x !

22

CHAPITRE 2.

RSOLUTION D'QUATIONS NON LINAIRES

y=x

x0

x1

x2

Figure 2.3  Mthode de point xe pour g(x) =

x+2

Remarque 2.4 Il peut tre intressant de construire


graphiquement les valeurs successives de xn dans certains cas : prenons g (x) = 2 + x comme dans l'exemple 2.3 :
On utilise la premire bissectrice pour reporter les valeurs successives de xn . On peut
se convaincre l'aide de ce type de construction que certains points xes ne sont jamais
atteints par l'algorithme 2.4 (cf Figure 2.4 ci aprs) :

Exemple 2.4 : g (x) = x2

Si x0 est choisi gauche de 1, la suite xn converge vers le


point xe 0.
Si x0 est choisi droite de 1, la suite xn tend versl'inni.
A moins de choisir exactement x0 = 1, on voit que la suite ne converge jamais vers 1 :
c'est un point xe instable. On y reviendra dans le paragraphe suivant.
Cet exemple met par ailleurs en vidence l'inuence du choix de x0 sur le comportement
de xn .

2.2.3 Convergence des algorithmes


2.2.3.1 Mthodes de point xe
Commenons par traiter le cas du point xe qui est fondamental d'un point de vue
thorique.

Thorme 2.1

Soit g : [a, b] [a, b] drivable et telle que


|g (x)| K x [a, b] avec 0 K < 1

Alors, pour tout x0 [a, b], la suite dnie par


xn+1 = g (xn ) n N

converge vers l'unique point xe de g.

(2.3)

2.2.

CAS DES FONCTIONS D'UNE VARIABLE

Figure 2.4  Mthode de point xe pour g(x) = x2


Dmonstration : Notons d'abord que la suite est dnie pout tout n puisque
x [a, b]

g (x) [a, b] .

La fonction g a un point xe et un seul dans l'intervalle [a, b], car la fonction h (x) =
g (x) x vrie :
(i) h est continue sur [a, b]
(ii) h (x) = g (x) 1 k 1 < 0, donc h est strictement monotone
(iii) h (a) = g (a) a 0 puisque g (a) [a, b]
(iv) h (b) = g (b) b 0 puisque g (b) [a, b] .
Soit x ce point xe, on a :

xn+1 x = g (xn ) g (x ) = g (n ) (xn x )


o n [a, b], d'aprs le thorme des accroissements nis. Ainsi, en utilisant (2.3), on
a:
|xn+1 x | K |xn x | ,
(2.4)
et par rcurrence,

|xn x | K n |x0 x | n.

Puisque 0 K < 1, ceci prouve que limn |xn x | = 0.

Remarque 2.5 Quand une suite xn converge vers x selon la relation (2.4), on dit
que la convergence est au moins linaire. Plus gnralement, on dnit :
Dnition 2.1

Soit xn une suite convergeant vers x . S'il existe un nombre p et une


constante C = 0 tels que
|xn+1 x |
lim
p = C,
n |xn x |
on dit que la convergence est d'ordre p ; C est la constante d'erreur asymptotique.

23

24

CHAPITRE 2.

RSOLUTION D'QUATIONS NON LINAIRES

S'il existe une constante C et un rel positif p tel que


|xn+1 x | C |xn x |

pour tout n assez grand, on dit que la convergence est au moins d'ordre p.

Remarque 2.6
est linaire.

La convergence vers 0 de an bn dans l'algorithme 2.1 (la dichotomie)

Remarque 2.7

Il est clair qu'une convergence est d'autant plus rapide que son ordre
2
est grand. En eet, si |xn x | est petit, |xn x | est encore plus petit !...
La notion de vitesse de convergence est videmment essentielle en analyse numrique :
an de diminuer le temps de calcul (et donc le cot !), toutes choses tant gales par
ailleurs, on choisira toujours l'algorithme convergeant le plus rapidement. Cependant,
il est bien rare que "toutes les choses soient gales par ailleurs". Voir le paragraphe
suivant ce propos.

2.2.3.2 Mthode de Newton


Revenons un instant la mthode du point xe. D'aprs la formule de Taylor l'ordre
2, on a, en supposant g susamment rgulire :

1
xn+1 x = g(xn ) g(x ) = (xn x )g (x ) + (xn x )2 g (n )
2
o n [xn , x ]. Pour n grand, on a donc

xn+1 x (xn x )g (x )
et la vitesse de convergence sera d'autant plus grande que g (x ) est plus petit. Le cas
le plus favorable est celui o g (x ) = 0.
Si M2 est majorant de g (x) sur [a, b], on a alors :

|xn+1 x |

M2
2
|xn x | .
2

La convergence est alors au moins d'ordre 2 !


Si on revient l'algorithme 2.3 de Newton, on voit qu'il s'agit en fait d'un algorithme
de point xe pour la fonction g (x) = x ff(x)
(x) . La drive de g est donne par :

g (x) = 1

f (x) f (x)
f (x) f (x) f (x)
+
=
.

2
f (x)
f (x)
f 2 (x)

Si f (x ) = 0, on a alors, puisque f (x ) = 0 :

g (x ) = 0.
Ceci montre que la mthode de Newton converge de faon quadratique...si elle converge !
Pour s'assurer de sa convergence, on peut essayer d'appliquer g le thorme 2.1. Il
est clair que l'hypothse (2.3) est vrie sur un voisinage susamment petit de x
(puisque g (x ) = 0 et on suppose g continue). L'hypothse plus dicile vrier est
que g envoie un voisinage [a, b] de x dans lui-mme. On a en fait le rsultat suivant :

2.2.

25

CAS DES FONCTIONS D'UNE VARIABLE

Thorme 2.2

Soit f deux fois continument direntiable sur un intervalle ouvert de


centre x vriant :
f (x ) = 0, f (x ) = 0.

Alors, si x0 est choisi assez prs de x , la mthode de Newton :


xn+1 = xn

f (xn )
n 0
f (xn )

produit une suite xn convergeant au moins quadratiquement vers x .


Avant de dmontrer ceci, faisons quelques remarques :

Remarque 2.8

Toute l'ambiguit dans ce rsultat provient de si x0 est choisi assez


prs de x  : en eet, dans la pratique, il n'y a gnralement aucun moyen de savoir
dans quelle mesure x0 est assez voisin de x .
C'est un des inconvnients de la mthode de Newton : une initialisation faite au hasard
conduit souvent une divergence. Ceci est suggr par la Figure 2.5.

x1

x0

x1

Figure 2.5  Divergence dans la mthode de Newton


Remarque 2.9

L'hypothse f (x ) = 0 est naturelle : tant donn le calcul du


quotient
des valeurs petites de f (xn ) conduisent une perte de prcision.

Si f (x ) = 0, il se peut cependant que la mthode converge, mais en gnral la


convergence sera au plus linaire.
f (xn )
f (xn ) ,

Exemple : f (x) = x2

xn+1 = xn

f (xn )
1
= xn ;
f (xn )
2

ici xn converge linairement vers 0.

Remarque 2.10 An de lever l'incertitude de l'initialisation dans la mthode de Newton, on peut utiliser des thormes plus globaux comme celui assurant la convergence
ds que x0 [a, b] si f : [a, b] R est deux fois continuement direntiable et :
i) f (a) f (b) 0
ii) f (x ) = 0 x [a, b]
iii) f (x) 0 ( 0) x [a, b]
iv)

|f (a)|
|f (a)|

< b a,

|f (b)|
|f (b)|

< b a.

26

CHAPITRE 2.

RSOLUTION D'QUATIONS NON LINAIRES

Dmonstration du thorme 2.2 :

Nous allons montrer qu'il existe > 0 tel que la fonction

g (x) = x

f (x)
f (x)

satisfasse les hypothses du thorme 2.1 dans l'intervalle [x , x + ] .


On a :
f (x) f (x)
g (x) =
f 2 (x)
Puisque f (x ) = 0, il existe 1 tel que :

x [x 1 , x + 1 ] , f (x) = 0.
Il en rsulte que g est continue sur cet intervalle. Puisque g (x ) = 0, il existe 2 1
tel que :
1
x [x 2 , x + 2 ] , |g (x)| < 1.
2
Par ailleurs, d'aprs le thorme des accroissements nis :

|g (x) g (x )| |x x | max |g ()|


[x,x ]

1
|x x | , si |x x | 2 .
2

puisque g (x ) = x , ceci prouve que g envoie [x 2 , x + 2 ] dans lui-mme


(|x x | 2 = |g (x) x | 2 ).
D'aprs le thorme 2.1 appliqu g avec a = x 2 , b = x + 2 , la suite dnie
par

x0
xn+1

[x 2 , x + 2 ]
f (xn )
= g (xn ) = xn
f (xn )

converge vers x . Les considrations faites prcdemment montrent que la convergence


est quadratique, le seul point vrier tant le comportement de la drive seconde de
g . Or, on vrie que
f (x )
g (x ) =
.
f (x )
Si f est deux fois continument drivable, g est borne sur un voisinage de x et on
peut directement appliquer les remarques prcdentes.

2.2.3.3 Mthode de la scante


L'algorithme 2.2 correspondant est dni par :

xn+1 := xn f (xn )
soit encore

xn+1 x =

xn1 f (xn ) xn f (xn1 )


xn xn1
=
f (xn ) f (xn1 )
f (xn ) f (xn1 )

(xn1 x ) f (xn ) (xn x ) f (xn1 )


f (xn ) f (xn1 )

et, en utilisant f (x ) = 0

xn+1 x = (xn x ) (xn1 x )

f (xn )f (x )
xn x

f (xn1 )f (x )
xn1 x

f (xn ) f (xn1 )

]
.

2.2.

27

CAS DES FONCTIONS D'UNE VARIABLE

Utilisant les notations standard des dirences divises (cf chapitre suivant), soit :

f [x] :

= f (x)
f (y) f (x)
f [y] f [x]
f [x, y] : =
=
yx
yx
f [x, y] f [a, x]
, etc...,
f [a, x, y] : =
ya
la formule ci-dessus s'crit :

xn+1 x = (xn x ) (xn1 x )

f [xn1 , x , xn ]
.
f [xn1 , xn ]

(2.5)

D'aprs le thorme des accroissements nis

f [xn1 , xn ] = f (n ) o n [xn1 , xn ] .

(2.6)

Nous verrons de mme au chapitre suivant que :

1
f (n ) o n plus petit intervalle contenant xn1 , xn , x .
2
(2.7)
Si on suppose que xn prend ses valeurs dans un intervalle J sur lequel :
f [xn1 , x , xn ] =

x J |f (x)| M, |f (x)| m > 0,

(2.8)

d'aprs (2.5), (2.6), (2.7) et en posant :

en := |xn x | ,
on a :

cn

en+1 = cn en en1 ,

1M
2m

(2.9)

(x )
(et limn cn = 21 ff (x
d'aprs ce qui suit). Si f est deux fois continument drivable
)
sur un intervalle [x , x + ] et si f (x ) = 0, on montre, comme dans le cas de
la mthode de Newton qu'il existe J = [x , x + ] (0 < ) et M, m > 0
tel que (2.8) soit vri. Quitte resteindre encore , en utilisant (2.9), on montre
que si x0 J , alors xn appartient J pour tout n, ceci par rcurrence. Dans ce cas,
l'estimation (2.9) est valable pour tout n. On dduit de cette estimation que en tend
vers 0 et que la convergence est surlinaire.
En eet, remarquons d'abord qu'on peut se "ramener" au cas C = 1 dans (2.9) en
posant n = Cen . Multipliant alors (2.9) par C , on a

n+1 (Cen ) (Cen1 ) = n n1 .

(2.10)

(1+ 5)
2
Soit alors p la racine
= 1, 618... (le nombre
2
) de p p 1 = 0, soit p =
( positive

d'or !) et K = max 0 , p 1 . Montrons par rcurrence que


n

n K p .

(2.11)

Ceci est vrai pour n = 0, 1 d'aprs le choix de K . Si c'est vrai jusqu'au rang n, d'aprs
(2.10), on a :
n

n+1 K p K p

n1

n1

= Kp

(1+p)

= Kp

n+1

, d'aprs le choix de p ;

28

CHAPITRE 2.

RSOLUTION D'QUATIONS NON LINAIRES

donc (2.10) est vrai pour tout n.


Ainsi, si on choisit K < 1 (c'est--dire x0 et x1 susamment voisins de x ), n et donc
en tendent vers 0 quand n tend vers l'inni, d'aprs (2.11).
Cette mme relation (2.11) suggre que la convergence est au moins d'ordre p. On le
montre (cf. Dnition 2.1), en remarquant que (2.10) implique :

n+1
1p
n n1 =
pn
Ainsi

n
p
n1

)1p
car p (1 p) = 1.

pn1

reste infrieur la suite Yn dnie par

Y1
Yn+1

1
,
p0

= Yn1p

qui, comme on le vrie aisment converge vers 1 puisque |1 p| < 1.


Donc, pour n assez grand
n+1 Yn pn (1 + ) pn .
Ceci prouve que la convergence est au moins d'ordre p = 1, 618... .

Thorme 2.3

Soit f deux fois continument direntiable sur un intervalle ouvert de


centre x vriant :
f (x ) = 0, f (x ) = 0.
Alors, si x0 , x1 sont choisis assez prs de x , l'algorithme de la scante dni par :
xn+1 = xn f (xn )

xn xn1
n 1
f (xn ) f (xn1 )

converge vers x et la convergence est au moins d'ordre p = 1, 618... .

2.2.4 Comparaison des algorithmes


Pour comparer les algorithmes, il est important de tenir compte de la prsence ou non
des facteurs suivants :
 assurance de la convergence
 vitesse de la convergence
 stabilit de l'algorithme - prcision des rsultats
 ecacit des calculs (ex : nombre de fonctions calculer chaque itration).

2.2.4.1 Mthode de dichotomie


Avantages :

 la convergence est assure


 on a un encadrement de la solution
 un seul calcul de fonction chaque itration.

Inconvnients :

 vitesse de convergence linaire, donc lente


2
 sensible aux erreurs d'arrondi ; exemple : la fonction f (x) = ex 1 x x2 s'annule
thoriquement en x = 0 seulement. Numriquement, elle change de signe un grand
nombre de fois autour de x = 0.

2.2.

29

CAS DES FONCTIONS D'UNE VARIABLE

2.2.4.2 Mthode de Newton


Avantages :

 converge rapidement quand elle converge (ce qui compense largement le dernier inconvnient)
 relativement stable et peu sensible aux erreurs d'arrondis si f (x ) n'est pas trop
petit.

Inconvnients :

 peut diverger ou converger vers un autre zro que celui cherch si la donne initiale
est mal choisie
 ncessite le calcul de la drive d'une fonction, ce qui est numriquement dicile si
on ne la connait pas explicitement
 chaque tape ncessite deux valuations de fonctions.

2.2.4.3 Mthode de la scante


Avantages :

 ncessite une seule valuation de fonction chaque tape


 convergence relativement rapide, bien que moins que celle de Newton.

Inconvnients :

 comme la mthode de Newton, peut diverger si les donnes initiales sont mal choisies
 le calcul de f (xn ) f (xn1 ) peut produire des erreurs de chute.

2.2.4.4 Mthode du point xe


Inconvnients :

 convergence souvent dicile raliser en pratique


 certains points xes -dits instables- ne peuvent tre atteints
 convergence lente de type linaire, en gnral.
Conclusion : cette dernire mthode a surtout un intert thorique : son analyse mathmatique est relativement aise et nous a permis d'en dduire celle de la mthode de
Newton qui en est en fait un cas particulier. En pratique, elle est souvent utilise dans de
tels cas particuliers. Nous verrons plusieurs reprises dans la suite qu'elle joue un rle
considrable pour adapter des algorithmes linaires des situations non linaires. Elle
est donc fondamentale en tant que concept. D'autre part, couple avec des techniques
d'acclration de la convergence (cf. paragraphe suivant), elle peut tre intressante.
La mthode de Newton a gnralement la faveur des utilisateurs : elle est eectivement
trs rapide et est certainement conseiller lorsque le calcul de f est ais et lorsque des
remarques simples permettent de choisir coup sr la donne initiale dans le domaine
de convergence. Pour cela, elle peut tre, par exemple, prcde d'une application de
quelques itrations de la mthode de dichotomie.
Si on veut une mthode d'application plus universelle, la mthode de la scante est
plutt conseiller puisqu'elle ncessite seulement la connaissance de f . Elle est relativement rapide et ne ncessite qu'une valuation de fonction chaque itration. Ce
dernier point peut mme la faire considrer comme plus rapide que la mthode de
Newton. En eet, si on pose :
un := x2n ,
le passage de un un+1 ncessite le mme travail qu'une itration de la mthode de
Newton. Mais on a :
p

p2

|un+1 x | C |x2n+1 x | C |un x |

30

CHAPITRE 2.

RSOLUTION D'QUATIONS NON LINAIRES

Vue ainsi, la mthode est d'ordre p2 = 2, 618... ! Ce genre de considrations n'est pas
ngliger dans une valuation globale du temps de calcul.
Terminons par un exemple :
Rsolution de x 0, 2 sin x 0, 5 = 0 l'aide des quatre algorithmes dirents

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

Dichotomie
x1 = 0, 5
x0 = 1, 0
0, 75
0, 625
0, 5625
0, 59375
0, 609375
0, 6171875
0, 6132812
0, 6152343
0, 6162109
0, 6157226
0, 6154785
0, 6153564
0, 6154174
0, 6154479
0, 6154532
0, 61547088
0, 61546707
0, 61546897
0, 615468025
0, 615468502

Scante
x1 = 0, 5
x0 = 1, 0
0, 5
0, 61212248
0, 61549349
0, 61546816

Newton
x0 = 1

Point xe
x0 = 1
x = 0, 2 sin x + 0, 5
0, 5
0, 50
0, 61629718 0, 595885
0, 61546820 0, 612248
0, 61546816 0, 614941
0, 61538219
0, 61545412
0, 61546587
0, 61546779
0, 61546810
0, 61546815

Cet exemple conrme les remarques gnrales. La mthode de Newton est la plus rapide.
Ici, la mthode de la scante l'est presque autant. Les deux autres sont de type linaire :
celle du point xe est plus rapide ce qui est cohrent avec le fait que son taux de
convergence
est
d

maxx dx
(0, 2 sin x + 0, 5) = 0, 2 au lieu de 0, 5 pour la premire.

2.2.5 Acclration de la convergence


D'une manire gnrale, tant donne une suite xn convergeant vers x , acclrer sa
convergence consisite la remplacer par une suite x
bn convergeant plus vite vers x ,
c'est--dire vriant :
x
bn x
lim
= 0.
n xn x
Par exemple, si xn converge linairement, on cherchera construire x
bn convergeant
quadratiquement.

2.2.5.1 Mthode de relaxation


Elle est base sur une ide trs simple. Considrons une mthode de point xe xn+1 =
g(xn ) qui ne converge pas ou trs lentement vers un point xe x . L'quation qu'on
cherche rsoudre x = g(x) peut galement s'crire

x + x = g(x) + x

(2.12)

2.2.

31

CAS DES FONCTIONS D'UNE VARIABLE

et ce pour tout rel. L'criture de l'quation sous la forme (2.12) suggre d'utiliser
une nouvelle mthode de point xe :

xn+1 =

g(xn ) + xn
:= G(xn ).
+1

(2.13)

Maintenant, d'aprs le Thorme 2.1, cette mthode (2.13) va converger (en choisissant
d'initialiser assez prs de la solution) ds que


g (x ) +

<1

|G (x )| =
+1


g (x ) +

est petit. Comme on est parfaitement
et ce d'autant plus rapidement que
+1
libre de choisir le paramtre (qui s'appelle ici paramtre de relaxation), l'ide
est de le prendre le plus proche possible de g (x ). Bien sr, la valeur exacte de
g (x ) n'est en gnral pas connue, mais par encadrement on peut en avoir des valeurs
aproches convenables, qu'on peut d'ailleurs ractualiser ventuellement au cours des
itrations. En conclusion cette mthode est trs simple d'utilisation et peut rendre de
prcieux services.

2.2.5.2 Mthode du 2 d'Aitken


An d'illustrer la mthode, commenons par considrer une suite xn convergeant vers
x et telle que :
xn+1 x = k (xn x ) o 0 < k < 1.
Les nombres k et x peuvent tre exprims en fonction des valeurs de la suite xn
l'aide des deux quations :

xn+1 x

= k (xn x ) ,

xn+2 x

= k (xn+1 x ) .

On obtient par dirence :

xn+2 xn+1 = k (xn+1 xn ) ,


et en substituant dans la premire quation mise sous la forme

x = xn +
on a :

xn+1 xn
1k
2

x = xn

(xn+1 xn )
.
xn+2 + xn 2xn+1

En utilisant les notations des dirences nies, soit

xn
2

xn

= xn+1 xn
= xn+1 xn = (xn+2 xn+1 ) (xn+1 xn ) ,

ceci s'crit encore :

x = xn

(xn )
.
2 xn

La mthode tire son nom de cette formule. Elle montre ici que la limite x cherche
peut tre exactement connue l'aide de xn+2 , xn+1 , et xn ; n quelconque.

32

CHAPITRE 2.

RSOLUTION D'QUATIONS NON LINAIRES

L'ide d'Aitken est de gnraliser cette remarque aux suites convergeant linairement
c'est--dire telles que :
xn+1 x = kn (xn x )
avec

lim kn = k [0, 1[ .

Pour une telle suite, le coecient kn est "presque" constant si n est grand et on peut
alors faire le calcul prcdent pour se convaincre que :
2

x
bn = xn

(xn )
2 xn

doit tre trs voisin de x . On a en eet :

Thorme 2.4 Soit une suite xn vriant pour tout entier n, xn = x et xn+1 x =
(k + n ) (xn x ) avec 0 |k| < 1 et limn n = 0. Alors la suite dnie par :
2

x
bn := xn

vrie :
lim

(xn )
2 xn

x
bn x
= 0.
xn x

Dmonstration : Posons en = xn x . On a :
2 xn

= en+2 2en+1 + en = en [(k + n+1 ) (k + n ) 2 (k + n ) + 1]


[
]
2
= en (k 1) + n o n = k (n+1 + n ) + n+1 n 2n .

Puisque n tend vers 0 et en = 0, 2 xn est dirent de 0 pour n grand et x


bn est donc
bien dni au moins pour n assez grand. D'autre part
[
]
2
(k 1 + n )
x
bn x = en 1
.
2
(k 1) + n
Mais l'expression entre crochets tend vers 0 quand n tend vers l'inni ce qui prouve le
rsultat.

Application : Algorithme de Steensen Soit xn dnie par :


xn+1 = g (xn ) n 0
o g et x0 vrient les hypothses du thorme 2.1. On sait qu'alors xn converge au
moins linairement vers x . On peut acclrer cette convergence en utilisant la mthode
de 2 d'Aitken. Il est alors plus ecace de repartir avec la nouvelle valeur x
bn chaque
nouvelle itration. Ceci donne l'algorithme suivant dit de Steensen.

Algorithme 2.5 : x0 donn

Pour n = 0, 1, 2, ...
yn := g (xn ) , zn := g (yn )
2
(yn xn )
xn+1 := xn
zn 2yn + xn

2.2.

33

CAS DES FONCTIONS D'UNE VARIABLE

Remarque 2.11

Cet algorithme est nouveau un algorithme de point xe

xn+1

= (xn ) avec

(x)

(g (x) x)
.
g (g (x)) 2g (x) + x

On peut montrer que si g (x ) = 0, alors (x ) = 0. On sait qu'alors l'algorithme


associ converge de faon quadratique. Ainsi, par rapport l'algorithme associ
g:
 on acclre la convergence quand elle a lieu
 on a un procd convergeant, mme si |g (x )| 1.

Exemple 2.5 : Nous avons vu que si g (x) = x2 , la suite dnie par


xn+1 = x2n

converge si |x0 | < 1 vers le point xe 0. Le point xe 1 n'est jamais atteint (sauf
dans le cas irraliste o x0 est exactement gal 1). Ceci est cohrent avec le fait que
g (1) = 2 > 1.
Calculons la fonction dans ce cas :
( 2
)2
2
x x
x2 (x 1)
(x) = x 4
=
x

x 2x2 + x
x (x 1) (x2 + x 1)
( 2
)
x x + x 1 x (x 1)
x3
x3
(x) =
=
=
x2 + x + 1
x2 + x 1
(x r1 ) (x r2 )

1 5
.
o r1,2 =
2
Puisque (x) x3 pour x voisin de 0, si x0 est choisi assez petit, la suite xn se
comportera sensiblement comme :

Yn+1 = Yn3 ,
d'o convergence d'ordre 3 vers 0.
Si x0 est choisi voisin de 1, puisque (1) = 0 et (1) = 0, la suite associe
converge de faon quadratique vers 1. Ici, il y a donc un gain considrable par rapport
g.

Remarque 2.12

Il faut noter que, si l'algorithme 2.5 converge plus vite que celui
associ g , chaque itration comporte deux valuations de la fonction : on y met le
prix. Ainsi, une comparaison plus juste consiste mettre sur le mme plan la suite xn
dnie par l'algorithme 2.5 et la suite Yn dnie par :

Yn+1 = g (g (Yn )) , Y0 = 1
o chaque itration comporte aussi deux valuations de g . Dans l'exemple prcdent,
on a Yn+1 = Yn4 , qui, au voisinage de 0, est d'ordre 4 et donc meilleure que celle donne
par qui est d'ordre 3. Bien sr, on a dans ce cas g (x ) = 0 !

Remarque 2.13 D'une manire gnrale, il est illusoire d'esprer obtenir des mthodes convergeant plus rapidement sans alourdir le travail chaque itration, soit
en augmentant le nombre d'valuation de fonctions, soit en valuant plus de drives.
Signalons par exemple l'algorithme de Richmond d'ordre 3 pour rsoudre f (x) = x
donn par :
2f (xn ) f (xn )
xn+1 = xn
.
2
f (xn ) f (xn ) f (xn )
Cet algorithme parfois utilis converge bien sr rapidement, mais ncessite l'valuation
de f, f , f chaque tape.

34

CHAPITRE 2.

RSOLUTION D'QUATIONS NON LINAIRES

Thoriquement, il est presque toujours possible d'imaginer des mthodes d'ordre aussi
lev qu'on veut. Du point de vue pratique, elles sont le plus souvent irralistes. D'autre
part, il faut se convaincre qu'une mthode d'ordre 2 est dj trs rapide et qu'en gnral,
il est pratiquement dicile de faire mieux. On peut se reporter l'exemple trait
prcdemment : en 4 itrations, la mthode de Newton donne le rsultat avec 8 chires
signicatifs ! Un numricien raisonnable s'en contentera.
2.3

Fonctions valeurs complexes

2.3.1 Cas des quations polynmiales


Bien que les quations polynmiales (ou algbriques) puissent tre rsolues l'aide des
mthodes dcrites plus haut, elles mritent une attention particulire dans la mesure
o elles interviennent trs frquemment dans les applications. Nous verrons, d'une part,
comment proter de la structure polynmiale dans certaines des mthodes gnrales,
d'autre part, nous dcrirons de nouveaux algorithmes permettant de trouver les racines
relles ou complexes d'un polynme.
Rappelons d'abord le thorme fondamental de l'algbre :

Thorme 2.5 (D'Alembert)

Tout polynme de degr n admet exactement n zros


rels ou complexes (avec la convention habituelle que des zros de multiplicit r sont
compts r fois).

2.3.1.1 Localisation des zros


La localisation des zros d'un polynme est un problme dicile. On peut utiliser des
techniques d'analyse complexe (indice ou Thorme de Rouch). Des renseignements
peuvent galement tre obtenus sur les zros rels l'aide de la rgle des signes de
Descartes :

Proposition 2.2 Soit le nombre de zros strictement positifs d'un polynme.


Soit le nombre de changements de signe des coecients.
Alors :

(2.14)
est pair

Exemple 2.6 : Soit P (x) = x

(2.15)

+ 4x x 1.
 = 1 donc 1
 comme est pair, on a ncessairement = 1.
Par consquent P a une racine positive et une seule.
4

Les racines ngatives peuvent tre examines aussi puisqu'elles sont les racines positives
de P (x) :
P (x) = x4 + 4x2 + x 1
Par le mme raisonnement, P a une racine ngative et une seule.
Conclusion : P a
 une racine positive
 une racine ngative
 deux racines complexes conjugues.
Plusieurs thormes permettent aussi de localiser les zros d'un polynme. Citons en
par exemple un :

ak
max .
Thorme 2.6 Soit P (x) = a0 + a1 x + ...an xn , an = 0. Soit r := 1 + 0kn1
an
Alors tout zro x0 de P vrie |x0 | r.

2.3.

35

FONCTIONS VALEURS COMPLEXES

2.3.1.2 Evaluation d'un polynme : algorithme de Hrner


L'valuation d'un polynme en un point peut se faire en calculant chacun des produits
ak k et en faisant leur somme. Cette technique est gnralement peu utilise cause
des erreure de chute qu'elle engendre et cause du nombre trop important d'oprations
lmentaires qu'elle met en jeu, surtout quand le degr est lev.
Voici par exemple ce que donne une valuation du polynme :
6

P (x) = (1 x) = 1 6x + 15x2 20x3 + 15x4 6x5 + x6


l'aide de sa forme dveloppe. Le calcul a t fait sur un ordinateur CDC 6500
travaillant avec 14 chires signicatifs. Les points ont t relevs par des segments de
droite l'aide d'un traceur.

Figure 2.6  Photo tire du livre Elementary Numerical Analysis


Conte et Carl de Boor.

par S.D.

Remarque 2.14

Imaginer ce que la mthode de dichotomie couple avec un tel calcul


de la fonction P peut donner comme rsultat !
On prfre gnralement utiliser l'algorithme de Hrner qui repose sur la factorisation
suivante du polynme :

P (x) = an xn + an1 xn1 + ... + a2 x2 + a1 x + a0 ,


soit :

P (x) = a0 + x (a1 + x (a2 + x (a3 + ... + x (an2 + xan1 + xan )) . . .))

36

CHAPITRE 2.

RSOLUTION D'QUATIONS NON LINAIRES

d'o :

Algorithme 2.6 : valuation de P ()

bn := an
de i = n 1 0

bi := ai + bi+1
P () := b0 .
Comme sous-produit intressant, on obtient le polynme P1 (x) tel que :

P (x) = (x ) P1 (x) + b0 ,

(2.16)

c'est--dire le quotient de la division de P (x) par (x ). Il est donn par :

P1 (x) = bn xn1 + bn1 xn2 + ... + b2 x + b1 .


En eet, le quotient de xk dans (x ) P1 (x) + b0 est gal :

bk bk+1 = ak
bn = an

pour k = 1, . . . , n 1 ,
pour k = n

b0 = a0

pour k = 0

Si on drive la formule (2.16), on obtient

P (x) = P1 (x) + (x ) P1 (x) .


En particulier :

P () = P1 () .

(2.17)

On peut donc utiliser les bi prcdents pour valuer la drive de P au mme point ,
toujours l'aide de l'algorithme de Hrner.

Algorithme 2.7 : valuation de P ()

cn := bn
de i = n 1 1

ci := bi + ci+1
P () := c1 .
Ainsi, l'algorithme de Newton prend la forme suivante pour un polynme P (x) =
a0 + a1 x + ... + an xn .

Algorithme 2.8 : Rsolution de P (x) = 0 par la mthode de Newton partir d'une


valeur approche x0 d'un zro rel.

Pour m = 0, 1, ...

:= xm

bn := an ; cn := an ;

Pour i = n 1 1

bi := ai + bi+1 ; ci := bi + ci+1 ;

b0 := a0 + b1 ;
xm+1 := xm cb01 .
Remarque 2.15 Comme dans le cas gnral, il faut s'attendre des dicults lorsque
P (x ) = 0, c'est--dire lorsque le zro cherch est multiple.

2.3.

37

FONCTIONS VALEURS COMPLEXES

Remarque 2.16

La formule (2.16) montre, puisque P (x ) = 0, que :

P (x) = (x x ) P1 (x)
o une approximation de P1 (x) est obtenue l'aide des derniers coecients bi calculs.
Pour calculer une autre racine de P , on peut utiliser ce polynme P1 de degr moindre
et lui appliquer la mme mthode (P1 est appel polynme rduit).
Evidemment, les coecients de ce polynme ne sont connus que de faon approche ce
qui entachera d'erreur tous les calculs subsquents. On constate, d'une manire gnrale,
que ces erreurs sont moins importantes lorsqu'on calcule les zros dans l'ordre croissant
de leur valeur absolue.

2.3.1.3 Dtermination de tous les zros


Pour pallier les inconvnients prcits, Maehly a propos une mthode qui s'avre efcace au niveau de la prcision des rsultats : supposons avoir dj calcul les r zros
1 , 2 , ..., r . Le polynme rduit est alors :

Pr (x) =

P (x)
.
(x 1 ) (x 2 ) ... (x r )

La mthode de Newton applique Pr , soit

xi+1 := xi

Pr (xi )
Pr (xi )

peut tre mise en oeuvre l'aide de la formule :

xi+1 := xi

P (xi )
r
(xi ) k=1

P (xi )
(xi k )

qui se dmontre aisment. L'avantage de cette mthode est qu'elle converge quadratiquement vers j+1 mme si les k , k = 1, ..., r, ne sont pas des zros de P . Elle n'est
donc pas sensible aux erreurs prcdentes sur les k , k = 1, ..., r.

Remarque 2.17 Les coecients d'un polynme sont souvent connus seulement de
manire approche (cf. remarque prcdente). Il est donc important de connatre la
sensibilit d'une racine une variation des coecients (cf. notion de conditionnement
dnie au chapitre prcdent).
En bref, on peut dire que :
 une racine multiple est toujours mal conditionne
 une racine simple peut l'tre aussi, et ce pour des polynmes apparemment anodins.
Exemple 2.7 (d Wilkinson - voir l'analyse du conditionnement dans "Introduction
to Numerical Analysis" par J. Stoer, R. Burlisch) :

P (x) = (x 1) (x 2) ... (x 20) =

20

ai x20i .

i=0

P est un polynme dont toutes les racines sont relles et bien spares. Cependant, on
peut montrer que, pour une variation de du coecient a5 , la 16me racine subit une
perturbation de
3, 7 1014 !
ce qui veut dire qu'un calcul 14 chires dcimaux signicatifs ne donnera aucun chire
signicatif sur 16 .

38

CHAPITRE 2.

RSOLUTION D'QUATIONS NON LINAIRES

Intressons-nous maintenant aux zros complexes d'un polynme P . Il est clair que si
P a ses coecients rels et si la donne initiale x0 est relle, l'algorithme de Newton ne
pourra converger vers un zro non rel, mme si x0 est proche de ce zro dans le champ
complexe, ceci puisque tous les xn sont ncessairement rels. Si on veut obtenir un zro
complexe, il faut alors a priori utiliser l'arithmtique complexe. Si on veut l'viter, on
peut prfrer l'algorithme suivant qui permet de trouver les zros complexes tout en
travaillant en nombres rels.

2.3.1.4 Mthode de Bairstow


Elle part de l'observation que trouver deux zros , complexes conjugus de P (x)
revient trouver un polynme de degr 2, x2 rx s admettant , comme zros et
tel que
(
)
P (x) = x2 rx s Q (x) .
Pour r et s xs, on peut toujours crire la division euclidienne de P par x2 rx s
sous la forme
(
)
P (x) = x2 rx s Q (x) + A (x r) + B
(2.18)
o deg Q = deg P 2 et A et B sont des constantes dtermines de faon unique.
Ceci tant vrai pour tout r et s, on dnit ainsi des fonctions A (r, s) et B (r, s), et le
problme pos revient dterminer r et s solutions de
{
A (r, s) = 0
(2.19)
B (r, s) = 0.
Il s'agit d'un systme non linaire de deux quations deux inconnues. Nous verrons
dans le paragraphe suivant que la mthode de Newton que nous avons vue pour une
quation une variable se gnralise au cas de plusieurs variables. Ainsi, appliquant
cette mthode au systme (2.19), on est conduit l'itration :

ri+1
si+1

r0 , s0 choisis ("assez prs" de la solution)


(
) [ A A ]1
(
)
ri
A (ri , si )
r
s
: =

,
B
B
si
B (ri , si )
r

r=ri , s=si

o  []  signie qu'on prend l'inverse de la matrice et donc qu'on rsout un systme


linaire 2 2. On a donc
(
)
(
) ( ABs BAs )
Ar Bs Br As
ri+1
ri
:=

.
(2.20)
Ar BABr
si+1
si
Ar Bs Br As

(Ici on a pos Ar =
faon suivante.
Posons :

A
r ,

As =

A
s , ...).

r=ri , s=si

Le calcul de A, B, Ar , As , Br , Bs est men de la

P (x)

an xn + an1 xn1 + ... + a1 x + a0 .

Q (x)

bn xn2 + bn1 xn3 + ... + b3 x + b2 .

Identiant les coecients des puissances de x dans (2.18), on obtient

bn := an

bn1 := an1 + rbn

bn2 := an2 + rbn1 + sbn


.. .. ..

. . .b2 := a2 + rb3 + sb4

A
:= a1 + rb2 + sb3

B := a0 + rA + sb2 .

(2.21)

2.3.

39

FONCTIONS VALEURS COMPLEXES

Pour obtenir les drives de A et B , on direncie le systme (2.21) par rapport r et


s. On remarque que les ai sont indpendants de r et s et donc drives nulles. Posant
alors :

k
k
on obtient

=
=

2, ..., n Ck = (bk )r , C1 = Ar , C0 = Br
2, ..., n dk = (bk )s , d1 = As , d0 = Bs

Cn := 0
Cn1 := bn
Cn2 := bn1 + rCn1
Cn3 := bn2 + rCn2 + sCn1

.............................................

C2 := b3 + rC3 + sC4

1 := b2 + rC2 + sC3

C0 := A + rC1 + sC2

dn := 0
dn1 := 0
dn2 := bn
dn3 := bn1 + rdn1
dn4 := bn2 + rdn2 + sdn1
.............................................
d2 := b4 + rd4 + sd3
d1 := b3 + rd3 + sd2
d0 := b2 + rd2 + sd1

On constate qu'en fait les deux algorithmes ci-dessus sont identiques et qu'en particulier
d0 = C1 (= Bs = Ar ) et As = d1 = C2 . D'o :

Algorithme 2.9 (Bairstow) : les coecients a0 , ..., an sont donns. On choisit une
valeur initiale (r0 , s0 )

De i = 0 ... (test d'arrt)


bn := an , bn1 := an1 + ri bn , Cn1 := bn , Cn2 := bn1 + rCn1
de k = n 2 1
bk := ak + ri bk+1 + si bk+2
Ck1 := bk + ri Ck + si Ck+1
b0 := a0 + ri b1 + si b2
b1 C1 b0 C2
ri+1 := ri 2
C1 C0 C2
C1 b0 b1 C0
si+1 := si 2
.
C1 C0 C2

2.3.1.5 Mthode de Mller


Nous terminons ce paragraphe par un dernier algorithme qui permet de calculer tous
les zros rels ou complexes d'une quation algbrique ou mme d'une quation non
linaire plus gnrale inconnue relle et complexe. C'est en fait une gnralisation
de la mthode de la scante : au lieu d'interpoler la fonction f donne l'aide d'une
fonction linaire sur [xi1 , xi ], on l'interpole l'aide du polynme de degr 2 prenant
les valeurs f (xi2 ) , f (xi1 ) , f (xi ) respectivement aux points xi2 , xi1 , xi .
On verra au chapitre suivant que ce polynme est donn par :

q (x) = f (xi ) + (x xi ) f [xi , xi1 ] + (x xi ) (x xi1 ) f [xi , xi1 , xi2 ]


o f [.] reprsente les dirences divises introduites prcdemment, qui sont dnies
par rcurrence et que nous tudierons plus amplement au chapitre 3.
Dans l'algorithme, le point xi+1 est alors obtenu comme l'un des zros de q (x). Ce
calcul peut tre conduit explicitement puisqu'il s'agit d'une quation du second degr.
Auparavant, rcrivons q (x) en utilisant :
2

(x xi ) (x xi1 ) = (x xi ) + (x xi ) (xi xi1 ) ,

40

soit

CHAPITRE 2.

RSOLUTION D'QUATIONS NON LINAIRES

q (x) = f (xi ) + Ci (x xi ) + f [xi , xi1 , xi2 ] (x xi )

avec

Ci = f [xi , xi1 ] + (xi xi1 ) f [xi , xi1 , xi2 ] .

Ainsi

xi+1 := xi +

2f (xi )
1

Ci {Ci2 4f (xi ) f [xi , xi1 , xi2 ]} 2

o on choisit entre + et de faon rendre le dnominateur le plus grand possible


en module (noter qu'on obtiendra des nombres complexes non rels ds que Ci2
4f (xi ) f [xi , xi1 , xi2 ], d'o la ncessit de travailler en arithmtique complexe pour
obtenir les zros complexes).
On obtient l'algorithme suivant :

Algorithme 2.10 (Mller) : on choisit x0 ,

x1 , x2

h1 := x1 x0 , h2 := x2 x1
(x1 )
(x0 )
; f [x2 , x1 ] := f (x2 )f
f [x , x ] := f (x1 )f
h1
h2
1 0
Pour i = 2, 3, ...
f [xi , xi1 , xi2 ] := (f [xi , xi1 ] f [xi1 , xi2 ]) / (hi+1 + hi )

Ci := f [xi , xi1 ] + hi f [xi , xi1 , xi2 ]

(
{
}1 )

hi+1 := 2f (xi ) / Ci Ci2 4f (xi ) f [xi , xi1 , xi2 ] 2

et on choisit le signe pour que le dnominateur de |hi+1 | soit le plus grand possible

xi+1 := xi + hi+1

on calcule f (xi+1 )
f [xi+1 , xi ] := (f (xi+1 ) f (xi )) /hi+1 .
Arrt lorsque |xi+1 xi | < |xi+1 |
ou
|f (xi+1 )| <
ou
lorsque le nombre maximum d'itrations prx est atteint.

Remarque 2.18

Il faut noter que chaque itration de cet algorithme ne ncessite


qu'une seule valuation de f (qu'on peut faire l'aide de l'algorithme de Hrner si f
est un polynme). On obtient pourtant une mthode d'ordre 1, 84... = q o q est la
plus grande racine de q 3 q 2 q 1 = 0. Ceci s'obtient comme dans la mthode de la
scante en montrant que si ei = |xi x |, alors ei+1 Cei ei1 ei2 . Cette mthode se
rvle trs ecace dans la pratique et relativement prcise.
2.4

Systme d'quations non linaires

2.4.1 Introduction
Reprenons les mthodes tudies au paragraphe 2.2. Il est clair que la mthode de
dichotomie n'a aucun sens en dimension N 2. En revanche, les trois autres mthodes
peuvent s'adapter au cas d'une fonction F : RN RN . Passons rapidement sur les
mthodes de point xe qui ncessitent que le systme d'quations rsoudre soit crit
sous la forme

x1 = g1 (x1 , x2 , . . . , xN )

x2 = g2 (x1 , x2 , . . . , xN )
(2.22)
..
..

.
.

xN = gN (x1 , x2 , . . . , xN ) .

2.4.

41

SYSTME D'QUATIONS NON LINAIRES

Il est assez rare que la mthode de point xe crite partir du systme (2.22) converge,
les conditions de convergence tant plus diciles raliser qu'en dimension un. Il faut
en eet que pour une certaine norme matricielle (voir chapitre 6), la norme de la matrice
Jacobienne de F soit strictement infrieure 1 au point recherch. On peut bien sr
envisager des mthodes d'acclration de convergence comme au paragraphe 2.2.5. Nous
faisons le choix de prsenter plutot ici les mthodes gnralisant la mthode de Newton
et celle de la scante.

2.4.2 La mthode de Newton-Raphson


Considrons un systme d'quations s'crivant F (X) = 0 ou encore, de faon dveloppe

f1 (x1 , x2 , . . . , xN ) = 0

f2 (x1 , x2 , . . . , xN ) = 0
(2.23)
..
..

.
.

fN (x1 , x2 , . . . , xN ) = 0 .
La gnralisation naturelle de la formule de Newton unidimensionnelle

xn+1 = xn (f (xn ))1 f (xn )


fait intervenir la matrice Jacobienne de F :
f1

F (Xn ) =

x1

f1
x2

fN
x1

fN
x2

..
.

..
.

...
..
.
...

f1
xN

..
.

(2.24)

fN
xN

toutes les drives partielles tant values au point Xn . La mthode de NewtonRaphson s'crit donc formellement

Xn+1 = Xn [F (Xn )]1 F (Xn ) .

(2.25)

Le second membre de (2.25) est parfaitement dni car on eectue le produit d'une
matrice N N par un vecteur de RN . Dans la pratique, on ne calcule pas explicitement
l'inverse de la matrice Jacobienne, ce qui s'avrerait trop coteux, et on prfre crire
l'algorithme sous la forme suivante :

Algorithme 2.11 (Newton-Raphson)

X0 donn , pour n = 0, 1, . . . , test d'arrt , faire

Rsolution du systme linaire F (Xn )n = F (Xn )

Xn+1 = Xn + n

Remarque 2.19 Encore plus qu'en dimension 1, le choix de l'initialisation est crucial
et le risque de divergence, si on ne dmarre pas proximit de la solution cherche, est
grand.
Remarque 2.20
convergence !)

Remarque 2.21

La convergence est l aussi d'ordre 2, donc trs rapide (quand il y a

Dans le cas des systmes de grande dimension, la mthode de NewtonRaphson s'avre assez coteuse puisqu'il faut valuer chaque itration N 2 + N fonctions (les N 2 drives partielles de la matrice Jacobienne, plus les N fonctions coordonnes). De plus, il y a un systme linaire N N (dont la matrice est en gnral pleine)

42

CHAPITRE 2.

RSOLUTION D'QUATIONS NON LINAIRES

rsoudre. Pour pallier le premier inconvnient, il est frquent qu'on ne recalcule pas
la matrice Jacobienne chaque itration, mais seulement de temps en temps. Bien sr,
ce moment-l, la convergence n'est plus quadratique, mais en temps de calcul il arrive
qu'on y gagne beaucoup, en particulier quand les drives de F sont trs coteuses
calculer.

2.4.3 La mthode de Broyden


La mthode de Broyden s'inspire directement de la remarque 2.21 ci-dessus en poussant
mme la logique un peu plus loin. Puisqu'il est coteux (voire mme dans certains cas
impossible) de calculer la matrice Jacobienne de F , on va se contenter d'en dterminer
une valeur approche chaque itration Bn . De plus la suite de matrices Bn se calculera
simplement par rcurrence.
On peut considrer que la mthode de la scante, en dimension un, est base un peu
sur le mme principe. En eet elle revient approcher

f (xn ) par

f (xn ) f (xn1 )
.
xn xn1

En dimension N , on va simplement imposer la suite de matrices Bn de vrier la


mme relation :
Bn (Xn Xn1 ) = F (Xn ) F (Xn1 ) .
(2.26)
Bien sr, la relation (2.26) ne dnit pas la matrice Bn . Elle n'impose que sa valeur dans
une direction. Broyden a fait le choix simple de considrer qu'on pouvait passer de Bn
Bn+1 en rajoutant simplement une matrice de rang 1. Ainsi, sa formule d'actualisation
s'crit,
(Fn Bn Xn )(Xn )T
Bn+1 = Bn +
(2.27)
Xn 2
o on a not Xn = Xn+1 Xn et Fn = F (Xn+1 ) F (Xn ). On vrie immdiatement
que la suite de matrice Bn dnie par (2.27) satisfait bien (2.26). La mthode de
Broyden s'crit donc :

Algorithme 2.12 (Broyden)

X0 et B0 donns, pour n = 0, 1, . . . , test d'arrt, faire

Rsolution du systme linaire Bn n = F (Xn )

Xn+1 = Xn + n , Fn = F (Xn+1 ) F (Xn )

(Fn Bn n )(n )T
Bn+1 = Bn +
n 2

Remarque 2.22

On peut prendre comme matrice initiale B0 = Id, il faut videmment


attendre un certain temps avant d'avoir une approximation raisonnable de la matrice
Jacobienne.

Remarque 2.23 On peut dmontrer qu'en gnral, comme pour la mthode de la


scante, la convergence est superlinaire. La suite de matrices Bn ne converge pas
forcment vers la matrice Jacobienne de F .
2.5

Exercices du chapitre 2

Exercice 2.1 Etudier la convergence des mthodes de point xe suivantes (on cherche
approcher

2). Appliquer des mthodes d'acclration de la convergence pour rendre

2.5.

43

EXERCICES DU CHAPITRE 2

ces algorithmes convergents quand ils ne convergent pas ou plus rapides quand ils
convergent.
xn+1 = x2n

xn+1 =

1
2

(xn +

xn+1 = 2xn
xn+1 =

1
3

2
xn

2
xn

(2xn +

2
xn

Exercice 2.2 Pour les fonctions suivantes, trouver un algorithme de point xe (autre
que la mthode de Newton !) qui converge vers le plus petit zro positif de
1. x3 x 1 = 0
2. x tan x = 0
3. ex cos x = 0.

Exercice 2.3

Trouver les racines des polynmes suivants

x4 56, 101x3 + 785, 6561x2 72, 7856x + 0, 078


x7 28x6 + 322x5 1960x4 + 6769x3 Ax2 + 13068x 5040
avec A = 13132, puis A = 13133.

Exercice 2.4 En utilisant la formule de Taylor, imaginer un algorithme modiant la


mthode de Newton et assurant une convergence quadratique dans le cas d'une racine
multiple de f .
Exercice 2.5 En appliquant le Thorme de Rouch (voirs cours d'analyse complexe)
et la rgle de Descartes, localiser au mieux les zros des polynmes
x6 6x4 + 2x3 + x 1

x5 2x4 + 8x3 3x2 + 1 .

44

CHAPITRE 2.

RSOLUTION D'QUATIONS NON LINAIRES

Chapitre 3

Interpolation et approximation
polynmiale
Dans ce chapitre, on dispose d'une fonction f , connue par exemple uniquement par
ses valeurs en certains points, et on cherche remplacer ou approcher f par une
fonction plus simple, le plus souvent par un polynme. Nous verrons dans ce contexte,
l'interpolation qui consiste rechercher un polynme qui passe exactement par les points
donns, l'interpolation par morceaux, en particulier les fonctions splines o l'expression
du polynme est dirente sur chaque sous-intervalle, l'approximation uniforme ou
l'approximation au sens des moindres carrs ou on cherche approcher au mieux la
fonction, soit pour la norme uniforme (ou norme innie), soit pour la norme euclidienne.
Cette dernire approche conduira naturellement aux fonctions trigonomtriques et aux
sries de Fourier, et on prsentera la Transforme de Fourier Rapide ou F.F.T.

3.1

Interpolation de Lagrange

3.1.1 Le polynme d'interpolation


Soit f : [a, b] R connue en n+1 points distincts x0 , x1 , ...xn de l'intervalle [a, b]. Il
s'agit de construire un polynme P de degr infrieur ou gal n tel que

i = 0, 1, ...n

P (xi ) = f (xi )

(3.1)

Thorme 3.1 Il existe un et un seul polynme de degr infrieur ou gal n solution


de (3.1). Le polynme s'crit
Pn (x) =

f (xi ) Li (x)

(3.2)

i=0

o
Li (x) =

k=0 k=i

(x xk )
.
(xi xk )

Remarque 3.1

(3.3)

Le polynme Pn est appel polynme d'interpolation de Lagrange de


la fonction f aux points x0 , x1 , ...xn .
Les polynmes Li (x) sont appels polynmes de base de Lagrange associs ces points.

45

46

CHAPITRE 3.

INTERPOLATION ET APPROXIMATION POLYNMIALE

Dmonstration du Thorme 3.1 :

Existence : On vrie directement que le polynme donn par (3.2) est solution de (3.1)
(on utilise le fait que Li (xj ) = ij ).
Unicit : Soit Q un autre polynme solution. Alors i = 0, 1, ...n Q(xi ) P (xi ) = 0.
Ainsi Q P est un polynme de degr infrieur ou gal n s'annulant en n + 1 points.
Il est donc identiquement nul.

Exemple 3.1 : Interpolation linaire. On applique (3.2) avec n = 1 pour trouver


P1 (x) = f (x0 )

(x x0 )
(x x1 )
+ f (x1 )
.
(x0 x1 )
(x1 x0 )

Ceci s'crit encore

P1 (x) = f (x0 ) +

f (x1 ) f (x0 )
(x x0 ) .
x1 x0

(3.4)

Remarque 3.2 L'criture (3.2) du polynme d'interpolation est intressante au point


de vue thorique, mais peu du point de vue numrique : elle a un caractre peu algorithmique. De plus, son valuation requiert trop d'oprations lmentaires.
On lui prfre la formule de Newton qui consiste crire le polynme d'interpolation
Pn aux points x0 , x1 , ...xn sous une forme gnralisant (3.4) soit :

Pn (x) = an0 + an1 (x x0 ) + ... + ann (x x0 ) (x x1 ) ... (x xn1 ) .


Notons d'abord que tout polynme de degr infrieur ou gal n peut se mettre sous
cette forme ds que les xi sont tous distincts. L'avantage de cette criture est que la
partie tronque

(x x0 ) (x x1 ) ... (x xn2 )
an0 + an1 (x x0 ) + an2 (x x0 ) (x x1 ) + ... + an1
n
n'est pas autre chose que Pn1 (x) : en eet, il s'agit d'un polynme de degr infrieur
ou gal n 1 tel que :

i = 0, 1, ...n 1

Valeur en xi = Pn (xi ) = f (xi ).

Donc, connaissant Pn1 , il sut de calculer ann pour connatre Pn (ann est aussi le
coecient de xn dans Pn crit sous forme usuelle). Les ain sont donns par la formule
de Newton :

Thorme 3.2 (Formule d'interpolation de Newton) Le polynme d'interpolation


de Lagrange de la fonction f aux points distincts x0 , x1 , ...xn est donn par :
Pn (x) =

f [x0 , x1 , ...xi ]

i=0

i1

(x xk )

(3.5)

k=0

o f [.] dsigne les dirences divises de f dnies par :


i = 0, ..., n
f [x0 , x1 , ..., xk ] :=

f [xi ] = f (xi )

f [x1 , ..., xk ] f [x0 , ..., xk1 ]


.
xk x0

Remarque 3.3 Par convention i1


k=0 (x xk ) := 1 si i < 1.
Dmonstration : On la fait par rcurrence sur le nombre de points xi .
 La formule (3.5) est vraie pour n = 1 (cf. (3.4)).

(3.6)
(3.7)

3.1.

47

INTERPOLATION DE LAGRANGE

 Supposons la vraie pour n points. On a alors :

Pn (x) = Pn1 (x) + ann

n1

(x xk ) =

k=0

n1

f [x0 , x1 , ..., xi ]

i=0

n2

n1

k=0

k=0

(x xk ) + ann

(x xk ).

Reste calculer ann . Considrons

x x0
xn x
Qn1 (x) +
Pn1 (x)
xn x0
xn x0
n
n1
o Qn1 (x) = i=1 f [x1 , ..., xi ] k=1 (x xk ) est le polynme d'interpolation de f aux
n points x1 , x2 , ..., xn . On vrie immdiatement que :
Q(x) =

i = 0, 1, ..., n

Q(xi ) = f (xi ).

Puisque deg Q n, Q Pn . Cette nouvelle expression de Pn nous permet d'armer


que le coecient de xn de Pn est donn par

ann =

1
1
f [x1 , ..., xn ]
f [x0 , x1 , ..., xn ] .
xn x0
xn x0

3.1.2 Proprits des dirences divises


i) f [x0 , x1 , ..., xn ] est invariant par des permutations sur les xi : en eet, permuter les
xi ne change pas le polynme d'interpolation et donc ne change pas le coecient du
terme de plus haut degr.
ii) si f = Q est un polynme de degr q
{
0 si q < n
Q [x0 , x1 , ..., xn ] =
coecient du terme de plus haut degr de Q si q = n.
En eet, si q n, l'interpol de Q n'est autre que Q lui-mme.
iii) table des dirences divises : permet de calculer de faon inductive les dirences
divises d'une fonction selon le shma suivant :

x0

f [x0 ]

x1

f [x1 ]

f [x0 , x1 ]
f [x0 , x1 , x2 ]
f [x1 , x2 ]
x2

f [x2 ]

f [x0 , x1 , x2 , x3 ]
f [x1 , x2 , x3 ]

..

f [x2 , x3 ]
x3
..
.
..
.
xn

f [x3 ]
..
.
..
.
f [xn1 , xn ]
f [xn ]

..
.

Les coecients de la formule de Newton sont donns par les premiers lments de
chaque colonne (diagonale (1)).
iv) valuation de Pn (x) : Nous avons vu au paragraphe prcdent que l'algorithme de
Hrner permet l'valuation d'un polynme en un point de faon plus rapide et plus
stable que la forme dveloppe usuelle. La mme remarque vaut ici pour la formule de
Newton.

48

CHAPITRE 3.

INTERPOLATION ET APPROXIMATION POLYNMIALE

Pour mettre en oeuvre l'algorithme de Hrner, il est plus agrable d'utiliser la formule
de Newton aux points xn , xn1 , ..., x1 , x0 soit

Pn (x) =

f [xi , ..., xn ]

i=0

(x xk ).

k=i+1

Algorithme 3.1 : Evaluation de Pn (x) : on suppose les valeurs f (xi ) mises en mmoire

dans di .

de k = 1 n
[

de
i=0 nk
on obtient ici di = f [xi , ..., xn ]

d
:=
(d
i
i+1 di )/(xi+k xi )

p
:= d0

[

de
i
=1n
algorithme de Hrner

p := di + (x xi ) p
Pn (x) := p.

Remarque 3.4

On vrie que seule la diagonale (2) est conserve en mmoire. La


seule connaissance de cette diagonale est susante pour calculer :

Pn (x) = [... (x xn2 ) [d2 + (x xn1 ) [d1 + d0 (x xn )]] ...] .

Remarque 3.5

Si on veut calculer Pn (x) pour des valeurs successives de n, on remarque que la connaissance de la diagonale de type (2) engendre par f (xk ) et la
connaissance de f (xk+1 ) susent engendrer la diagonale correspondant f (xk+1 ).
On peut alors utiliser l'algorithme suivant :

Algorithme 3.2 : Evaluation de P1 (x), P2 (x), ... : on suppose les valeurs f (xi ) mises
en mmoire dans di (i = 0, 1, ...N ).

De n = 1 n
de i = n 1 0
di = (di+1 di )/(xn xi )

p := d0

de i = 1 n
p := di + (x xi ) p
Pn (x) := p.

Cette dernire partie de l'algorithme peut tre simplie en se rappelant que

Pn (x) = Pn1 (x) + f [x0 , x1 , ..., xn ] (x x0 )...(x xn1 ).


On obtient alors

Algorithme 3.3 :

(x) := 1 P0 (x) = d0

De n = 1 N
[

de
i=n1 0

d
:=
(d
di )/(xn xi )
i
i+1
[

(x) := (x) (x xn1 )


Pn (x) := Pn1 (x) + d0 (x).

3.1.

49

INTERPOLATION DE LAGRANGE

v) Interpolation entre des points quidistants : Les dirences divises peuvent alors
tre remplaces par des dirences nies. On note :

xi = a + ih,
s := s(x) =

i = 0, ..., N,
xx0
h

N=

ab
h

x = x0 + sh

f (x) = f (x0 + sh) = fs .


Les dirences nies sont obtenues par la formule de rcurrence
{
fs si i = 0
i fs =
i1 fs+1 i1 fs si i > 0
On note aussi 1 = . Le lien avec les dirences nies est :

f [xk , ..., xk+i ] =

1 i
fk .
i!hi

(3.8)

Ceci se dmontre facilement par rcurrence sur le nombre de points. La formule d'interpolation de Lagrange devient alors, (au lieu de (3.5)) ce qu'on appelle la formule de
Newton progressive :

Pn (x) = Pn (x0 + sh) =

n ( )

s
i i f0

(3.9)

i=0

o on pose

(s) s(s 1)...(s i + 1) si i > 0


1.2...i
i =

1 si i = 0

(3.10)

Remarque 3.6

La notation (3.10) est bien sr une gnralisation de la notation utilise pour les coecients binomiaux correspondants s entier positif (=nombre de faons
de choisir i lments parmi s).
La formule (3.9) se dmontre partir de (3.5) et de (3.8) : on a en eet, en utilisant
aussi x xk = (s k)h

Pn (x) =

n
i1

1 i
i

f
.h
(s k).
0
i
i!h
i=0
k=0

Remarque 3.7 avant l're des calculateurs rapides, ces formules taient utilises pour
calculer des valeurs approches d'une fonction f en tout point partir des valeurs
donnes dans une table (gnralement en des points quidistants).
Remarque 3.8 le calcul des dirences nies successives permettait galement de dtecter les erreurs dans les tables. En eet, mme de faibles erreurs sur les valeurs de f
peuvent entraner des oscillations importantes des dirences nies d'ordre suprieur.
Il existe aussi une formule de Newton rgressive utilise pour faire des calculs en n de
table. Elle s'obtient l'aide de (3.7), soit
)
n (

s+i1
i
fn
Pn (xn sh) =
i
i=0

o
i

fs =

fs si i = 0
i1 fs i1 fs1 si i > 0.

50

CHAPITRE 3.

INTERPOLATION ET APPROXIMATION POLYNMIALE

3.1.3 Erreur dans l'interpolation de Lagrange


Le but de l'interpolation tant de remplacer l'valuation de f (x) par celle de Pn (x), il
est important de connatre l'erreur

En (x) = f (x) Pn (x),

Exemple 3.2 : soit f (x) =


des points quidistants,

x [a, b]

1
: pour une interpolation sur l'intervalle [5, 5] avec
1 + x2

10
5, i = 0, 1, ..., n
n
on obtient les rsultats suivants : n est le nombre de points et
xi = i

En = max5x5 [f (x) Pn (x)] maxi |f (yi ) Pn (yi )|


o on prend yi =

i
10

5, i = 0, ..., 100.

n
En

2
4
6
0.6 0.4 0.6

8
1.05

10
12
1.91 3.6

14
16
7.2 14.0

Dans cet exemple, l'erreur augmente trs vite avec n !...Ceci est bien sr paradoxal dans
la mesure o on utilise de plus en plus d'informations sur f ! On comprendra mieux ce
qui se passe aprs avoir vu le Thorme d'erreur suivant.

Thorme 3.3

Soit f : [a, b] R, n + 1 fois continument direntiable et Pn le


polynme d'interpolation de Lagrange aux points x0 , x1 , ..., xn de [a, b]. Alors
|f (x) Pn (x)|

Mn+1
|n (x)|
(n + 1)!





Mn+1 = maxaxb f (n+1) (x)

et
n (x) =

(x xi ).

(3.11)
(3.12)
(3.13)

i=0

La dmonstration va reposer sur le Lemme suivant.

Lemme 3.1

Sous les hypothses du thorme, il existe [a, b] tel que


f [x0 , ..., xn ] =

f (n) ()
.
n!

Dmonstration : La fonction En (x) = f (x) Pn (x) s'annule en n + 1 points distincts.

D'aprs le thorme de Rolle, En (x) s'annule en au moins n points distincts de [a, b]. A
nouveau, d'aprs le mme thorme, En (x) s'annule n 1 fois, etc... On obtient ainsi
(n)
(n)
que En s'annule en un point [a, b], soit f (n) () = Pn (). Comme Pn est de degr
(n)
n, Pn () = an n! o an est le coecient de xn , soit ici an = f [x0 , x1 , ..., xn ]. Ce qui
dmontre le lemme.

Dmonstration du thorme : Soit x [a, b] ; notons Q le polynme d'interpolation


aux points x0 , x1 , ..., xn , x. D'aprs la formule de Newton, il est donn au point x par

Q(x) = Pn (x) + f [x0 , x1 , ..., xn , x] n (x).


Mais puique Q(x) = f (x) ceci donne

f (x) Pn (x) = f [x0 , x1 , ..., xn , x] n (x).


Il sut alors d'appliquer le lemme pour conclure (3.11).

(3.14)

3.1.

51

INTERPOLATION DE LAGRANGE

3.1.3.1 Analyse du thorme 3.3


Exemple 3.2 : Soit f (x) = ex ; pour x [a, b], on a Mn+1
la majoration facile |n (x)| (b a)
d'aprs l'estimation (3.11) :

n+1

x [a, b] ,
En particulier,

= eb . D'autre part, on a
(pour tout choix des n + 1 points xi ). Donc,

|f (x) Pn (x)|

(b a)n+1 b
e .
(n + 1)!

lim |f (x) Pn (x)| = 0.

Donc, dans le cas de la fonction exponentielle, plus on prend de points, meilleure est
l'interpolation.

Remarque 3.9 On peut en fait dmontrer la mme chose pour toute fonction dve3
loppable en srie entire au point a+b
2 avec un rayon de convergence r > 2 (b a).
Lorsqu'on prend des points xi quidistants dans [a, b] - ce qui est frquemment utilis
vu la simplicit des calculs - on peut montrer que

en
maxaxb |n (x)| C
(b a)n+1
n log n

(3.15)

o C est une constante positive. Analysons l'exemple 3.1, l'aide de ce rsultat.


1
Soit f (x) = 1+x
2 , a = b > 0. Pour driver facilement f , on remarque que f (x) =
(
)
[
]
(1)k
1
m xi , d'o f (k) (x) = m (xi)
k! ; on en dduit, puisque
k+1

1
=
(x i)k1
o est tel que cos =

x+i
x2 + 1

)k+1

x
, sin
x2 +1

f (k) (x) =

=
=

1
(x2 + 1)

k+1
2

(cos + i sin )k+1

1
x2 +1

(1)k k!
(x2 + 1)

k+1
2

sin((k + 1)).

On constate que, au moins pour k grand, Mk k!. Les formules (3.11) et (3.12) donnent
donc :
en
maxaxa |En (x)| < C
(2a)n+1 .
n log n
Conclusion : Si 2a < e, En (x) converge vers 0 avec n.
Dans l'exemple 3.1, a = 5. Dans ce cas, le majorant ci-dessus tend vers l'inni. Ceci ne
permet plus de rien armer sur En (x). Le calcul numrique de l'exemple 3.1 suggre
que En augmente au lieu de diminuer. On peut en fait montrer que max|x|5 |En (x)|
ne tend pas vers 0. Il faut donc tre trs prudent avec l'interpolation polynmiale.
L'estimation (3.11) du Thorme 3.3 montre que l'erreur dpend d'une part des drives
de f , d'autre part du maximum de la fonction n , qui lui ne dpend que du choix des
xi . On peut chercher minimiser maxaxb |n (x)| en choisissant au mieux les points
xi .
Il se trouve qu'un choix de points quidistants n'est pas du tout optimal, loin de l.
On verra au paragraphe suivant que le choix optimal est obtenu l'aide des points de
(2i+1)
ba
Chebyshev, soit xi = a+b
2 + 2 cos 2n+2 , i = 0, 1, ..., n.
Les graphes de |n (x)| pour un choix de points quidistants et pour les points de
Chebyshev sont prsents la gure 3.1

52

CHAPITRE 3.

INTERPOLATION ET APPROXIMATION POLYNMIALE

0.07
0.06

Points quidistants

0.05
0.04
Points de Chebyshev
0.03
0.02
0.01
0
1

0.8

0.6

0.4

0.2

0.2

0.4

0.6

0.8

Figure 3.1  Points de Chebyshev et points quidistants


On voit que, pour des points quidistants, |n (x)| est relativement grand au voisinage
des extrmits. Si on se limite des points quidistants, il vaudra donc mieux se placer
l'intrieur de l'intervalle et surtout viter les extrmits. On remarque que, pour les
points de Chebyshev, le maximum de |n (x)| est nettement plus petit. D'autre part,
tous les maximums relatifs sont gaux : il semble bien que ce choix rgularise les
dirents pics en les uniformisant. C'est ce que nous allons tudier maintenant. Nous
reviendrons l'interpolation un peu plus tard en envisageant le cas de l'interpolation
par morceaux.

3.2

Approximation polynmiale uniforme

Le problme est le suivant : tant donn une fonction f continue sur [a, b], il s'agit de
l'approcher au mieux par un polynme de degr infrieur ou gal n, et par au mieux,
nous entendons ici :
Minimiser
max |f (x) P (x)| = f P
(3.16)
axb

parmi les polynmes P de degr n.

Remarque 3.10

nous verrons plus loin un autre point de vue conduisant la mthode


des moindres carrs.
Donnons le rsultat fondamental d Chebishev.

Thorme 3.4

Il existe un et un seul polynme Pn tel que


f Pn = min {f P ; deg P n} .

Ce polynme est caractris par la proprit suivante : il existe n + 2 points distincts


x0 , x1 , ..., xn+1 dans [a, b] tels que
(1)i (f (xi ) Pn (xi )) = sign(f (x0 ) Pn (x0 )) f Pn .

(3.17)

3.2.

53

APPROXIMATION POLYNMIALE UNIFORME

La dmonstration de ce thorme, sans faire appel des rsultats compliqus est relativement longue et nous l'admettons ici. Faisons simplement quelques remarques :
i) comme il existe un polynme de meilleure approximation on peut se demander s'il
existe un algorithme permettant de le construire. La rponse est positive. Le plus connu
est celui de Rmes. Cependant, dans la pratique, il existe des mthodes plus simples permettant d'obtenir, sinon le meilleur approximant, du moins des approximants presque
optimaux. Cette mthode repose sur l'interpolation aux points de Chebyshev, ou aux
points de Chebyshev gnraliss (voir plus loin).
ii) la proprit (3.17) caractrise le polynme de meilleure approximation. C'est un
moyen pratique de vrier qu'un polynme est bien le meilleur en ce sens.

Exemple 3.4 :

Considrons f (x) = ex sur [1, 1]. Alors son meilleur approximant


linaire est donn par :

P (x) = a + bx,

b=

e e1
,
2

a=

e bx1
,
2

x1 = log b.

1
En eet, on vrie que f (1) P (1) = (f (x1 ) P (x1 )) = f (1) P (1) = e+bx
b.
2
x
D'autre part, la drive de f (x) P (x), soit e b, ne s'annule qu'au point x1 . Donc
f P atteint son minimum en x1 et son maximum en 1 et 1. Remarquons que les
points xi de la condition (3.17) contiennent ici les extremits de l'intervalle. Ceci se
produit chaque fois que f (n+1) (x) ne change pas de signe sur l'intervalle [a, b].

Exemple 3.5 : Quelle est la meilleure approximation du polynme xn+1 dans l'espace

des polynmes de degr infrieur ou gal n sur [1, 1] ?


Pour rpondre cette question, on dnit les polynmes de Chebyshev Tk (x) par la
relation
Tk (cos ) = cos k
(3.18)
qui signie que Tk est le polynme permettant d'exprimer cos k en fonction de cos .
Ce polynme existe bien et est dni de faon rcurrente par

T0 (x) 1
T1 (x) x
(3.19)

Tk+1 (x) = 2xTk (x) Tk1 (x), k 1.


Cette relation provient de l'identit trigonomtrique

cos(k + 1) = 2 cos cos k cos(k 1).


On a ainsi T2 (x) = 2x2 1, T3 (x) = 4x3 3x, etc...
A l'aide de (3.19), on obtient facilement par rcurrence que :
 Tk est un polynme de degr k pour tout k
 le coecient de xk est 2k1 .
D'autre part, l'aide de (3.18), on a
 |T
{ k (x)| 1, x [1,{1]
{
Tk (x) = 1
x = cos
xj = cos kj


1 x 1
k = j, j entier
j = 0, 1, ..., k.
Donc Tk (x) prend alternativement les valeurs 1 en les k + 1 points xj . Mais ceci
montre que, si on pose
Pn (x) = xn+1 2n Tn+1 (x)
on obtient un polynme Pn de degr n tel que

xn+1 Pn (x) = 2n Tn+1 (x)

54

CHAPITRE 3.

INTERPOLATION ET APPROXIMATION POLYNMIALE

{
}
j
satisfasse (3.17) aux points cos n+1
, j = 0, 1, ..., n + 1 . Le polynme Pn est donc le
polynme de meilleure approximation du polynme xn+1 parmi les polynmes de degr
infrieur ou gal n.
On en dduit encore le

Thorme 3.5

Pour que n (x) = (x x0 )(x x1 )...(x xn ) soit tel que n soit


minimal parmi les choix des xi , i = 0, 1, ..., n dans l'intervalle [1, 1], il faut et il sut
que
n (x) = 2n Tn+1 (x).

En particulier, les xi doivent tre exactement les zros de Tn+1 .

Dmonstration : n

s'crit
: n (x) = xn+1 Q(x) o deg Q n. Minimiser n
n+1

revient donc minimiser x
Q(x) parmi les polynmes Q de degr infrieur
n+1
ou gal n (et tels que x
Q(x) aient des racines relles et simples). On sait dj
que Q = Pn donn ci-dessus est l'unique solution et qu'alors

n (x) = xn+1 Pn (x) = 2n Tn+1 (x).

Remarque 3.11

Si la mme question est pose pour un intervalle [a, b], on s'y ramne
en considrant le polynme

fn (x) = n (

a+b
ba
+x
).
2
2

Minimiser maxaxb n (x) revient minimiser max1x1


fn (x). La solution est

fn (x) = 2n Tn+1 (x), d'o


n (x) = 2n Tn+1 (

2
a+b
(y
)).
ba
2

En particulier, les xi solutions sont donns par :

xi =

a+b ba
(2i + 1)
+
cos
, i = 0, 1, ..., n.
2
2
2(n + 1)

(3.20)

Nous avons vu au paragraphe prcdent que, lorsque le nombre de points augmente,


le polynme d'interpolation de Lagrange ne converge pas toujours vers la fonction
initiale f . La question reste donc pose de savoir si toute fonction est approchable par
des polynmes uniformment sur un intervalle. La rponse est donne par le classique
thorme de Weierstrass.

Thorme 3.6 (Weierstrass)

Soit f une fonction continue sur [a, b] et soit Pn son


polynme de meilleure approximation de degr infrieur ou gal n. Alors
(
)
lim
max |f (x) Pn (x)| = 0.
n

axb

En d'autres termes, toute fonction continue sur un intervalle est approchable uniformment par une suite de polynmes. Nous renvoyons la littrature pour une dmonstration de ce thorme.
Mentionnons prsent une autre estimation de l'erreur d'interpolation compltant
(3.11) :

3.2.

55

APPROXIMATION POLYNMIALE UNIFORME

Thorme 3.7

Soit f continue sur [a, b] et Pn son polynme d'interpolation aux points


x0 , x1 , ..., xn . Alors
(
f Pn (1 + n )

o n (x) =

)
inf

deg P n

f P

|Li (x)| .

i=0

Remarque 3.12

inf

deg P n

f P reprsente la distance de f l'espace des poly-

nmes de degr infrieur ou gal n et ne dpend donc que de f . D'autre part, n ne


dpend que du choix des xi . Il est donc intressant de les analyser sparment. Signalons
sans dmonstration :


inf

deg P n

f P tend vers 0 quand n tend vers l'inni (c'est le thorme de Weiers-

trass) et ce d'autant plus vite que f est plus rgulire.


 Si on note n la borne infrieure des n quand on fait varier les points xi ,

lim n = +.

 On peut caractriser les points xi qui donnent le meilleur n (soit n = n ).


Seulement, ces points sont diciles utiliser dans la pratique. On leur prfre par
exemple les points de Chebyshev ; une raison susante est que pour des points de
Chebyshev, le n (x) vrie :
quand n ,

n (x) n

2
log n.

En d'autres termes, pour ce choix, le n , mme s'il est plus grand, est du mme
ordre.
 On peut encore lgrement faire mieux l'aide des points de Chebyshev tendus
donns par
(2i+1)

xi =

a + b b a cos 2(n+1)
+
.

2
2 cos 2(n+1)

Dans ce cas, n est voisin de n 0, 02 prs pour tout n.


 En contrepartie, pour des points quidistants, on a

2n+1
quand n .
en log n

Ceci, compar au 2 log n prcdent, conrme que les points quidistants sont un
mauvais choix pour ce type de questions.
 Un rsultat ngatif arme que, quelque soit le choix des points xn0 , xn1 , ..., xnn o on
fait l'interpolation, on peut trouver une fonction continue f pour laquelle le polynme
d'interpolation ne converge pas vers f , et ce mme pour les points de Chebyshev.
Cependant, dans ce dernier choix, ds que f est de classe C 1 sur [a, b] (et on peut
faire mieux), la convergence a lieu.
Nous renvoyons la bibliographie pour tous ces rsultats.

56

CHAPITRE 3.

3.3

INTERPOLATION ET APPROXIMATION POLYNMIALE

Approximation au sens des moindres carrs

3.3.1 Introduction
La mthode que nous allons voir maintenant s'appelle en statistiques ajustement des
donnes. Jusque ici, nous avons considr l'approximation d'une fonction par un procd
d'interpolation l'aide des valeurs f (x) de f en des points xk . Ceci prsuppose que
ces valeurs soient connues, et ce de faon assez prcise. Il y a beaucoup de situations
o ce n'est pas le cas en particulier lorsque les valeurs f (x) proviennent de mesures
physiques.

Exemple 3.6 :
4.5
4
3.5
3
2.5
2
1.5
1

Figure 3.2  Droite des moindres carrs


Le rsultat de mesures physiques tel que ci-dessus conduit penser que f (x) doit
tre une fonction linaire. Il ne serait pas trs raisonnable de remplacer f (x) par son
polynme d'interpolation en les points xk dont le calcul dpendrait uniquement des
valeurs manifestement errones f (xk ).
Une analyse succinte du phnomne ci-dessus, frquent dans la ralit physique, conduit
penser que ces valeurs mesures f (xk ) contiennent une information juste mais aussi un
certain bruit. Intuitivement, on est conduit penser que les donnes f (xk ) contiennent
 une premire composante variant lentement : c'est elle qui fournit l'information
 une deuxime composante variant trs rapidement : c'est celle qui est due au bruit
invitable.
Tout l'art de l'ajustement des donnes consiste liminer la deuxime composante
pour ne retenir que la substantique molle. Le principe de l'tude qui suit consiste
chercher la fonction f sous la forme

f (x) = c1 1 (x) + c2 2 (x) + ... + cn n (x)


o les i sont des fonctions connues (par exemple des polynmes) et les ci des coecients dterminer. Implicitement, n sera assez grand pour contenir l'information, mais
susamment petit pour se dbarrasser des bruits.
Ainsi dans l'exemple 3.6, on pourra dterminer c1 et c2 pour que les dviations

{f (xk ) (c1 + c2 xk ) ; k = 0, ..., p}

3.3.

57

APPROXIMATION AU SENS DES MOINDRES CARRS

soient les plus petites possibles (contrairement l'interpolation, il n'est pas possible
d'annuler ces dviations). Maintenant, il existe plusieurs notions de le plus petit possible. Celle qu'on a utilise dans le paragraphe prcdent consiste minimiser :

max0kp |f (xk ) (c1 + c2 xk )| .


On peut tout aussi bien penser minimiser

|f (xk ) (c1 + c2 xk )| .
0kp

Ceci conduira en gnral des (c1 , c2 ) dirents.

3.3.2 Mthode classique des moindres carrs


C'est une troisime voie qui est le plus souvent choisie dans la pratique, car elle conduit
un problme de minimisation quadratique en les inconnues ci , savoir minimiser

2
|f (xk ) (c1 + c2 xk )|
(3.21)
0kp

ou plus gnralement minimiser

2
(f (xk ) (c1 1 (xk ) + ... + cn n (xk ))) .

(3.22)

0kp

2
Posons E(c1 , c2 , ..., cn ) = 0kp (f (xk ) (c1 1 (xk ) + ... + cn n (xk ))) . Si E admet
un minimum en c = (c1 , c2 , ..., cn ), on a
E
(c) = 0, i = 1, ..., n
ci
soit

2 0kp i (xk ) (f (xk ) (c1 1 (xk ) + ... + cn n (xk ))) = 0


i = 1, ..., n

(3.23)

ce qui constitue un systme linaire de n quations aux n inconnues c1 , c2 , ..., cn , appeles parfois quations normales. Donnons une autre interprtation, plus gomtrique,
de ce systme (cf Figure 3.3). Notons

e = (e0 , e1 , ..., ep ),

ek = f (xk ) (c1 1 (xk ) + ... + cn n (xk ))

le vecteur erreur et i = (i (x0 ), i (x1 ), ..., i (xp )). Alors, si on note u, v =


le produit scalaire dans Rp+1 , les quations (3.23) expriment

i = 1, ..., n,

e, i = 0

p
i=0

ui vi

(3.24)

en d'autre termes, le vecteur erreur e doit tre orthogonal tous les vecteurs i , ce qui,
gomtriquement, revient dire que le vecteur c1 1 + c2 2 + ... + cn n solution est la
projection orthogonale du vecteur P = (f (x0 ), ..., f (xp )) sur le sous espace engendr
par les i .

Exemple 3.7 : Ajustement linaire : on prend n = 2 et 1 (x) 1, 2 (x) x. On


cherche donc la fonction ane c1 + c2 x la plus voisine au sens des moindres carrs des
valeurs (xk , f (xk )).

58

CHAPITRE 3.

INTERPOLATION ET APPROXIMATION POLYNMIALE

P
2

c11+c22

Figure 3.3  Ajustement et projection orthogonale


Le systme (3.23) devient
{
(f (xk ) (c1 + c2 xk )) = 0
0kp
0kp xk (f (xk ) (c1 + c2 xk )) = 0
ou

Notons :

m=

p
p
(p + 1)c1 + ( k=0 xk ) c2 = k=0 f (xk )
(p
)
p
p
2
( k=0 xk ) c1 +
k=0 xk f (xk )
k=0 xk c2 =

xk
(moyenne des xk ),
p+1
p
f (xk )
f := k=0
,
p+1
k=0

Le systme devient

x2k
(moment d'ordre 2)
p+1
k=0

m2 :=
p
f=

xk f (xk )
.
p+1

k=0

c1 + mc2 = f
mc1 + m2 c2 = f .

Son unique solution est donne par :

c1 =

m2 f mf
,
m2 m2

c2 =

f mf
.
m2 m2

Remarque 3.13

On vrie que m2 = m2 si les xk sont distincts. Dans le cas gnral,


on montre aussi que le systme (3.23) a toujours une solution. Il s'crit

Ac = b

(3.25)

o c = (c1 , ..., cn ), A est la matrice dont les coecients sont {j , i }1in ,1jn
(notons que c'est toujours une matrice symtrique) et b = (b1 , ..., bn ) avec bi = f, i .

3.3.

APPROXIMATION AU SENS DES MOINDRES CARRS

Nous verrons dans le chapitre 6 les techniques de rsolution de systmes linaires. Nous
pouvons cependant dj souligner que les mthodes sont d'autant plus performantes que
la matrice est creuse (c'est--dire avec beaucoup de zros) et diagonale dominante
(i.e. lments hors diagonale petits devant ceux de la diagonale).
Un cas particulier trs intressant que nous allons dvelopper ici est celui o on choisit
les facteurs i (x) de telle faon que les produits scalaires j , i soient nuls pour i = j ,
c'est--dire
p

j (xk )i (xk ) = 0, i = j.
(3.26)
k=0

Dans la pratique, on s'arrange pour tre si possible dans cette situation (ou proche de
cette situation). Sans prcaution, on peut avoir des problmes de conditionnement trs
srieux dans la rsolution de (3.25). C'est le cas dans l'exemple suivant :

Exemple 3.8 :

p = 3, 1 (x) 1, 2 (x) x, 3 (x) x2 . On approche une fonction


f sur l'intervalle [10, 15] connaissant ses valeurs en 6 points dont les extrmits. On
montre que le conditionnement associ (cf. chapitre 6) peut tre suprieur 105 .

Remarque 3.14
valle [a, b], on a :

0=

k=0

dans la formule (3.26), si les points xk sont quidistants dans l'inter-

(
) (
)
b
ba
ba
p
j a + k
i a + k

j (x)i (x)dx,
p
p
ba a

si p est assez grand. Ainsi, une version continue de notre problme consiste considrer
les polynmes (ou des fonctions plus gnrales) i telles que

j (x)i (x)dx = 0.
a

Cette intgrale reprsente galement un produit scalaire sur l'espace des fonctions et
par analogie on dit que les deux fonctions sont orthogonales (le bon espace fonctionnel
associ est alors L2 ([a, b])).

Exemples 3.9 : (a) les fonctions 1 et x sont orthogonales pour le produit scalaire

f, g =

car

f (x)g(x)dx
1

x2
1.xdx =
2
1

]1
= 0.
1

(b) les fonctions cos kx et cos px sont orthogonales pour |k| = |p| en eet :

1
cos kx cos pxdx =
2

[cos(k + p)x + cos(k p)x] dx = 0.


0

(c) les fonctions cos kx et sin px sont orthogonales en eet :

cos kx sin pxdx =


0

1
2

[sin(k + p)x + sin(p k)x] dx = 0.


0

59

60

CHAPITRE 3.

INTERPOLATION ET APPROXIMATION POLYNMIALE

3.3.3 Polynmes orthogonaux


Comme nous serons amens les utiliser dans le chapitre sur l'intgration numrique,
nous allons maintenant tudier les suites de polynmes orthogonaux pour des produits
scalaires du type :
b
P, Q =
P (x)Q(x)w(x)dx
(3.27)
a

ou

P, Q =

(3.28)

P (xn )Q(xn )wn

n=1

o w est une fonction continue strictement positive sur ]a, b[ dans (3.27), (wn ) une suite
de nombres strictement positifs dans (3.28) et (xn ) des points distincts de [a, b].
On note que (3.28) est un produit scalaire sur l'espace des polynmes de degr infrieur
ou gal N 1. D'autre part, si on suppose que xn w(x) est intgrable pour tout n,
alors (3.27) dnit aussi un produit scalaire sur l'espace des polynmes.

Dnition 3.1 Par suite de polynmes orthogonaux, on entend une suite (nie ou
innie)
P0 (x), P1 (x), . . . telle que
Pi est de degr i
(3.29)
Pi , Pj = 0,

si i = j.

(3.30)

Proposition 3.1

Soit (Pn ) une suite de polynmes orthogonaux ; alors


 Tout polynme Q de degr infrieur ou gal k s'crit de faon unique
Q(x) = d0 P0 (x) + d1 P1 (x) + ... + dk Pk (x)

(avec di =

Pi , Q
).
Pi , Pi

(3.31)

 Si Q est de degr < k , alors


Q, Pk = 0.

(3.32)

 Si Ai dsigne le coecient du terme de plus haut degr de Pi , on a la relation de


rcurrence trois termes
Pbi+1 (x) = (x Bi )Pbi (x) Ci Pbi1 (x)

(3.33)

Pi (x)
o Pbi (x) :=
(polynme normalis),
Ai

xPbi (x), Pbi (x)


Pbi (x), Pbi (x)
, Ci =
.
Bi =
Pbi (x), Pbi (x)
Pbi (x), Pbi1 (x)

 Pi a exactement i zros rels distincts (dans le cas du produit scalaire (3.28), on


suppose i N ).

Dmonstration :

Le point (3.31) est classique en algbre linaire : les polynmes


P0 , ..., Pk forment une base de l'espace des polynmes de degr infrieur ou gal k ,
car ils sont tous de degrs dirents.
Pour (3.32), on remarque que, si deg Q < k , d'aprs (3.31),

Q(x) = d0 P0 (x) + d1 P1 (x) + ... + dk1 Pk1 (x)

3.3.

APPROXIMATION AU SENS DES MOINDRES CARRS

et d'aprs la bilinarit du produit scalaire

Q, Pk =

k1

di Pi , Pk = 0.

i=0

Vrions (3.33) : on peut toujours crire


(3.34)
Pbi+1 (x) = xPbi (x) + i Pbi (x) + i1 Pbi1 (x) + ... + 0 Pb0 (x)
{
}
puisque xPbi (x), Pbi (x), Pbi1 (x), ..., Pb0 (x) , tant une famille de polynmes de degrs
distincts, est une base de l'espace des polynmes de degr infrieur ou gal i +
1. D'autre part, puisque les polynmes sont normaliss, le coecient de xPbi (x) dans
l'criture Pbi+1 ci-dessus est gal 1.
Multiplions scalairement (3.34) par Pbi ; on obtient grce (3.30) :

0 = xPbi (x), Pbi (x) + i Pbi (x), Pbi (x) + 0


d'o

xPbi (x), Pbi (x)

.
i =
Pbi , Pbi

Multiplions scalairement (3.34) par Pbj o j i 1. Toujours grce (3.30), on a :

0 = xPbi , Pbj + dj Pbj , Pbj .

Mais xPbi , Pbj = Pbi , xPbj = 0 si j + 1 i. Puisque Pbj , Pbj = 0, ceci implique
j = 0 pour tout j = 0, 1, ..., i 2. Pour j = i 1, on remarque que

xPbi , Pbi1 = Pbi , xPbi1 = Pbi , Pbi + Pbi , xPbi1 Pbi .


Mais ce dernier produit scalaire est nul puique xPbi1 Pbi est un polynme de degr
infrieur ou gal i 1. On en dduit

Pbi , Pbi
,
i1 =
Pbi1 , Pbi1
ce qui termine la dmonstration de (3.33).
Pour le dernier point, notons 1 , ..., k les racines relles distinctes de multiplicit impaire et posons
{
1 si k = 0 (pas de racine relle de multiplicit impaire)
Ri (x) =
(x 1 )(x 2 )...(x k ) si k > 0.
Si k = i, Pi a alors i racines relles distinctes ce qu'on voulait prouver.
Sinon k < i, et d'aprs (3.30)
Pi , Ri = 0.
Pour le produit scalaire (3.27), ceci signie
b
Pi (x)Ri (x)w(x)dx = 0.
a

61

62

CHAPITRE 3.

INTERPOLATION ET APPROXIMATION POLYNMIALE

Mais Pi = Ri Qi o Qi est de signe constant d'aprs le choix de Ri ; ainsi


{
}
b
Ri (x)2 Qi (x)w(x)dx = 0
a
= Ri2 Qi w 0;
Ri (x)2 Qi (x)w(x) de signe constant
ceci implique en particulier Qi = 0, ce qui est contradictoire avec deg Qi = i k > 0.
Dans le cas du produit scalaire (3.28), on a
N

Ri (xn )2 Qi (xn )wn = 0 = Qi (xn ) = 0 n = 1, ..., N

n=1

= Qi 0 si N > deg Qi , ce qui se produit ds que N i. On a alors une contradiction.

3.3.4 Exemples classiques de polynmes orthogonaux


(1) [a, b] = [1, 1] et w(x) = (1 x) (1 + x) avec > 1 et > 1 : on obtient
les polynmes de Jacobi. On leur attribue des noms dirents dans les cas particuliers
suivants :
 = = 0 : polynmes de Legendre. Une fois les polynmes normaliss, on a la
relation de rcurrence :

Pn+1 (x) =

(2n + 1)xPn (x) nPn1 (x)


.
n+1

 = = 21 : on retrouve les polynmes de Chebyshev dnis par la relation de


rcurrence
Tn+1 (x) = 2xTn (x) Tn1 (x).
 = = 12 : polynmes de Chebyshev de seconde espce (les prcdents tant alors
de premire espce).
(2) [a, b[ = [0, +[ et w(x) = ex : on a les polynmes de Laguerre. Plus gnralement,
si w(x) = x ex avec > 1, on a les polynmes de Laguerre gnraliss. La relation
de rcurrence s'crit :

Pn+1 (x) =

1
(x 2n 1)Pn (x) + (n + )Pn1 (x).
n+1

(3) ]a, b[ = ], +[, w(x) = ex : polynmes d'Hermite.


2

Hn+1 (x) = 2xHn (x) 2nHn1 (x).

Remarque 3.15 on vrie directement que les polynmes de Chebyshev sont orthogonaux pour le produit scalaire
1
f (x)g(x)dx
1

(1 x2 ) 2

car, en posant x = cos , on a :


1


Tn (x)Tp (x)dx

=
Tn (cos )Tp (cos )d =
cos n cos pd = 0 si n = p.
1 x2
1
0
0
En ce qui concerne l'approximation au sens des moindres carrs d'une fonction f par
des polynmes, on utilise gnralement des polynmes orthogonaux plutt que la base
canonique usuelle 1, x, x2 ... On a alors le rsultat suivant :

3.3.

APPROXIMATION AU SENS DES MOINDRES CARRS

Thorme 3.8

Soit f : [a, b] R telle que f, f < ou . est dni par (3.27)


(resp. (3.28)). Alors, pour tout k 1 (resp. k N 1), si P0 , P1 , ..., Pk est une suite
de polynmes orthogonaux pour le produit scalaire ., il existe un et un seul polynme
Q de la forme
Q(x) = c0 P0 (x) + c1 P1 (x) + ... + ck Pk (x)
minimisant f Q, f Q. Les coecients sont donns par
Pi , f
,
Pi , Pi

ci =

Remarque 3.16

i = 0, ..., k.
2

f Q, f Q = f Q reprsente le carr de la distance de f


Q pour la norme hilbertienne associe au produit scalaire ..

Exemple 3.10 : Trouver le polynme P

de degr infrieur ou gal 3 qui minimise

(ex P (x)) dx.

On utilise comme base de polynmes les polynmes de Legendre, soit


(
)
(
)
3
1
5
3
2
3
L0 (x) = 1, L1 (x) = x, L2 (x) =
x
, L3 (x) =
x x .
2
3
2
5
On calcule alors

f, L0

f, L1
f, L2
f, L3

=
1
1

ex dx = e
xex dx =

=
1

3
2

5
2

2
e

1
x
3
2

1
1

1
e

)
dx = e

7
e

(
)
3
37
ex x3
dx = 5e + .
5
e
1

D'autre part, on montre que Li , Li =

2
2i+1 .

On en dduit le polynme solution :

P (x) = 1, 175201194L0 (x)+1, 10363824L1 (x)+0, 3578143506L2 (x)+0, 07045563367L3 (x).


Sous forme canonique usuelle, on obtient :

P (x) = 0, 9962940183 + 0, 9979548730x + 0, 5367215260x2 + 0, 1761390842x3 .

Remarque 3.17 un avantage de l'criture de P sur la base L0 , L1 , L2 , L3 est que


par exemple la partie tronque 1, 175...L0 + 1, 131...L1 est la meilleure approximation
linaire au sens des moindres carrs de ex sur [1, 1] (un peu comme dans le cas de la
formule d'interpolation de Newton).
L'valuation en un point d'un polynme donn sous formes de combinaisons linaires
de polynmes orthogonaux se fait sans revenir l'criture sur la base canonique, mais
en utilisant directement une factorisation de Hrner obtenue partir de la relation de
rcurrence (3.33).
Dans le cas de produits scalaires de type

P, Q =

n=1

P (xn )Q(xn )wn

63

64

CHAPITRE 3.

INTERPOLATION ET APPROXIMATION POLYNMIALE

trs importants dans la pratique, on doit gnrer les polynmes l'aide de la relation
de rcurrence (3.33) : P0 , ..., Pi tant connus aux points xn , on calcule
N

Si

= Pi , Pi =

Bi

N
2

xn (Pi (xn )) wn
=
Si
n=1

Ci

(Pi (xn )) wn

n=1

Si
.
Si1

On en dduit Pi+1 (xn ) en tous les xn .

3.3.5 Polynmes trigonomtriques


Thorme 3.9

Soit f : [, ] R continue. Alors il existe une unique meilleure approximation au sens des moindres carrs dans l'espace des polynmes trigonomtriques
de la forme
n
n

S(x) = a0 +
ak cos kx +
bk sin kx.
(3.35)
k=1

k=1

Ses coecients sont donns par :

1
a0 = 2 f (x)dx

ak = 1 f (x) cos kxdx

bk = 1 f (x) sin kxdx

(3.36)

Remarque 3.18 On reconnait bien sr l les classiques coecients de Fourier !

2
Dmonstration : Il s'agit de minimiser
(f (x) S(x)) dx. Comme les fonctions

{1, cos x, cos 2x, . . . , cos nx, sin x, sin2x, . . . , sin nx} forment une suite orthogonale par
rapport au produit scalaire

f, g =
f (x)g(x)dx,

d'aprs l'analyse faite en dbut de chapitre, on a immdiatement une solution unique


donne par :

f, 1
1
a0 =
=
f (x)dx
1, 1
2

f, cos kx
1
ak =
=
f (x) cos kxdx
cos kx, cos kx

1
f, sin kx
=
f (x) sin kxdx.
bk =
sin kx, sin kx

Remarque 3.19 Ce type d'approximation est surtout utilis pour les fonctions priodiques comme celles reprsentant les divers phnomnes ondulatoires. En gnral, une
fonction est compose d'un trs grand nombre de frquences : en se limitant un
nombre ni n, on ltre l'information en ne gardant que les plus basses frquences
(information) et en se dbarrassant du bruit constitu surtout par les hautes frquences.

3.3.

APPROXIMATION AU SENS DES MOINDRES CARRS

2
1.5
1
0.5
0
0.5
1
1.5
2
0

Figure 3.4  Signal bruit

2
1.5
1
0.5
0
0.5
1
1.5
2
0

Figure 3.5  Signal dbruit


ainsi
devient

Remarque 3.20

Si une fonction f est de priode T , on se ramne l'intervalle [, ]


(T )
x est priodique de priode 2 . Elle est donc connue
en remarquant que fe(x) = f 2
pour tout x si elle est connue pour x [, ] .

65

66

CHAPITRE 3.

INTERPOLATION ET APPROXIMATION POLYNMIALE

On utilise souvent la reprsentation complexe des coecients de Fourier :

fn (x) =

fb(j)eijx

(3.37)

j=n


1
fb(j) =
f (x)eijx dx
j = n, ..., n
2
est une autre expression du polynme trigonomtrique qui approche le mieux f dans
L2 ([0, ]). On a d'ailleurs
f (x) = lim fn (x) =
n

fb(j)eijx

(3.38)

j=

la limite ci-dessus tant comprise au sens de la norme

2
f fn 2 =
(f (x) fn (x)) dx

pour toute fonction f dans L ([0, ]).


2

De nombreux calculs ncessitent la connaissance des coecients de Fourier de f . Notons


d'abord, que si f est 2 -priodique, ils s'crivent encore
2
1
b
f (j) =
f (x)eijx dx.
2 0
Alors une formule de quadrature trs lmentaire conduit prendre comme approximation
)
N 1 (
1 2
2n ij(2n/N )
fbN (j) =
f
e
.
2 N n=0
N
On montre que cette approximation est convenable si

N
|j| .
2
Cette condition se comprend par exemple si f (x) 1 ; il s'agit alors d'intgrer la
fonction x eijx qui est 2
j -priodique. Il est clair que les points d'valuation de la
fonction doivent avoir une frquence plus rapide que celle de la fonction elle-mme pour
tre signicatifs.
Nous allons maintenant nous concentrer sur le calcul numrique d'expressions du type
cj =

N 1
1
f (xk )eijxk ,
N
k=0

xk =

2k
,
N

|j|

N
.
2

(3.39)

Fait sous la forme ci-dessus, le calcul requiert l'valuation des produits f (xk )eijxk
puis N sommes et une division pour obtenir cj . Ceci doit tre eectu pour chaque cj
donc environ N fois. Nous ngligerons les divisions et nous compterons les oprations
lmentaires consistant calculer un produit f (xk )eijxk et l'ajouter une somme
partielle prcdente. Ce nombre d'oprations lmentaires est donc ici de l'ordre de N 2 .
Ainsi un choix de 1000 points ncessite un million d'oprations. Ceci a t un obstacle
majeur l'utilisation de l'analyse de Fourier jusqu' ce que Cooley et Tukey proposent
une mthode qui, aprs quelques amliorations, a fait passer le nombre d'oprations
lmentaires un ordre O(N log N ) (soit autour de quelques milliers si N = 1000) : il
s'agit de la Transforme de Fourier rapide (F.F.T.=Fast Fourier Transform) que nous
dveloppons maintenant

3.4.

APPROXIMATION PAR DES FONCTIONS POLYNMIALES PAR MORCEAUX

3.3.6 La transforme de Fourier rapide


Nous en dcrirons seulement le principe qui repose sur une dcomposition de l'entier
N : nous supposerons ici que N = P Q, P et Q entiers suprieurs ou gaux 2. Notons

wN = ei2/N ,

wq = ei2/Q ,

Z = [Z1 , ..., ZN ]

Avec des changements de notation vidents partir de (3.39), il s'agit de calculer le


vecteur Transforme de Fourier discrte
[
]
Zb = Zb1 , ..., ZbN
avec

Zbj :=

(j1)(k1)

Zk wN

j = 1, ..., N

k=1

On interprte le tableau unidimensionnel Z comme un tableau bidimensionnel Z =


Z(P, Q) avec :

1 pP
1 qQ
Z(p, q) = Zp+P (q1) .
Alors

Zbj =

(j1)(p1+P (q1))
Z(p, q)wN

p,q

[ Q
P

p=1

]
(j1)(q1)
Z(p, q)wQ

(j1)(p1)

wN

q=1

P
puisque wN
= ei2P/N = ei2/Q = wQ . Il se trouve et c'est le point important, que
la somme entre crochets est une fonction de j priodique de priode Q car
(j+Q1)(q1)

wQ

j(q1)

= wQ

Q(q1)

wQ

j(q1)

= wQ

Q
puique wQ
= 1. Ainsi seul intervient le reste b
j de la division de j par Q :
j = Q + b
j 0b
j Q, et il sut de calculer la somme entre crochets pour j = b
j variant
de 1 Q.
Ce calcul ncessite Q oprations pour chaque j et p et doit donc tre eectu Q P
bj
fois d'o Q2 P = N Q oprations pour le calcul des crochets. Ensuite le calcul des Z
ncessite P oprations et doit tre eectu N fois soit N P oprations. L'ensemble des
Zbj , j = 1, ..., N est donc obtenu avec N (P + Q) oprations ce qui est dj bien moins
que N 2 oprations.

N = 1 000
N 2 = 1 000 000
Exemple : N = 10 100 = P Q N (P + Q) = 1 000 110 = 110 000
N = 25 40 = P Q N (P + Q) = 1 000 65 = 65 000
On peut encore diminuer le nombre d'oprations en dcomposant N sous la forme
N = P1 P2 ... Pk est en rptant l'ide ci-dessus. Un cas frquemment utilis est
celui o N = 2k . Nous renvoyons la littrature pour les dtails de la mthode.
3.4

Approximation par des fonctions polynmiales par

morceaux

Etant donne f : [a, b] R connue en (n + 1) points a = x0 < x1 < ... < xn = b, on


l'approche par des fonctions continues dont la restriction chaque intervalle [xi1 , xi ]
est polynmiale.

67

68

CHAPITRE 3.

INTERPOLATION ET APPROXIMATION POLYNMIALE

3.4.1 Approximation linaire par morceaux

Figure 3.6  Approximation linaire par morceaux


La restriction de l'approximation P l'intervalle [xi1 , xi ] est donne par :

Pi (x) = f [xi1 ] + f [xi1 , xi ] (x xi1 ) .


La fonction P ainsi construite est videmment continue sur l'intervalle [a, b]. Du temps
des tables de fonctions lmentaires (tables de logarithmes ou de fonctions trigonomtriques), on obtenait les valeurs hors table par interpolation ane, ce qui revenait
exactement remplacer la fonction par son approximation linaire par morceaux.

3.4.2 Approximation cubique


Les polynmes
de base sont de
[
] degr 3. On peut supposer que f est connue en les
points xi1 , xi2/3 , xi1/3 , xi o xi1/3 , xi2/3 sont des points distincts de ]xi1 , xi [.
On prend alors pour Pi l'interpol de f sur [xi1 , xi ] en ces 4 points.
Une situation plus intressante consiste considrer que, outre les valeurs f (xi ), i =
0, 1, ...N , on connait aussi les valeurs f (xi ), i = 0, 1, ...N . Dans ce cas, on pourra
prendre pour Pi le polynme de degr 3 tel que :
{
Pi (xi1 ) = f (xi1 )
Pi (xi ) = f (xi )
(3.40)
Pi (xi ) = f (xi )
Pi (xi1 ) = f (xi1 )
on sort alors du domaine de l'interpolation de Lagrange pour entrer dans ce qu'on
appelle l'interpolation d'Hermite.

Thorme 3.10

Il existe un et un seul polynme de degr 3 satisfaisant (3.40). Il est


donn par la formule de Newton
{
Pi (x) = f [xi1 ] + f [xi1 , xi1 ] (x xi1 ) + f [xi1 , xi1 , xi ] (x xi1 )2
(3.41)
+ f [xi1 , xi1 , xi , xi ] (x xi1 )2 (x xi )

o on dnit
f [xi1 + h] f [xi1 ]
= f (xi1 )
h0
h

f [xi1 , xi1 ] := lim f [xi1 , xi1 + h] = lim


h0

les autres dirences divises tant dnies de la faon habituelle.

Remarque 3.21 Ce rsultat se gnralise bien sr un nombre de points quelconque


avec des drives d'ordre quelconque. La formule de Newton est la mme si on tend la
dnition des dirences divises par continuit comme ci-dessus, soit par rcurrence

3.4.

APPROXIMATION PAR DES FONCTIONS POLYNMIALES PAR MORCEAUX

f [xi ] := f (xi )

f [x0 , x1 , ..., xk ] :=

formule usuelle si xk = x0
limh0 f [x0 , ..., xk1 , xk + h] si x0 = xk .

(3.42)

Nous renvoyons la littrature pour la dmonstration du thorme 3.10 et sa version


plus gnrale voque dans la remarque ci-dessus. Comme souvent dans la pratique,
on ne dispose pas des valeurs de la drive, on peut dans la formule (3.40) remplacer
f (xi ) par une valeur approche si de f (xi ) par exemple

si =

hi f [xi , xi+1 ] + hi+1 f [xi1 , xi ]


hi + hi+1

(3.43)

avec hi = xi xi1 . On parle alors d'interpolation cubique par morceaux de Bessel.


Notons que dans ce cas, la fonction d'approximation obtenue est non seulement continue, mais drive continue puisque :

Pi (xi ) = Pi+1
(xi ) = si .

3.4.3 Fonctions splines


Il se trouve que, au lieu de s'imposer les si sous la forme (3.43), on peut les choisir pour
que la fonction d'approximation soit non seulement drive continue, mais drive
seconde continue : il s'agit alors de fonctions splines d'interpolation. Le mot spline
est utilis en anglais pour dsigner la rglette exible que les dessinateurs utilisent
pour tracer une courbe d'allure lisse passant par des points donns. La mthode que
nous allons dcrire correspond d'ailleurs un lissage de la courbe passant par les
points donns de coordonnes (xi , f (xi )). An d'analyser cette mthode rcrivons le

Figure 3.7  Spline cubique

69

70

CHAPITRE 3.

polynme Pi (x) tel que


{

INTERPOLATION ET APPROXIMATION POLYNMIALE

Pi (xi1 ) = f (xi1 )
Pi (xi ) = f (xi )
Pi (xi1 ) = si1
Pi (xi ) = si .

Il est donn par la formule (3.41) o on remplace f (xi ) (resp ; f (xi1 )) par si (resp.
si1 ), soit

Pi (x)

f (xi1 ) + si1 (x xi1 ) + h1


i (f [xi1 , xi ] si1 ) (x xi1 )

+Ci (x xi1 ) (x xi )
avec

f [xi1 , xi , xi ] f [xi1 , xi1 , xi ]


hi
(
)
si f [xi1 , xi ] f [xi1 , xi ] si1
=

/hi
hi
hi
si + si1 2f [xi1 , xi ]
=
.
h2i

Ci

On cherche raliser

Puisque (x xi1 ) (x xi )

Pi (xi ) = Pi+1
(xi ).

(3.44)

= 2(x xi ) + 4(x xi1 ), la condition (3.44) s'crit :

f [xi1 , xi ] si1
si + si1 2f [xi1 , xi ]
f [xi , xi+1 ] si
si+1 + si 2f [xi , xi+1 ]
+4
=2
2
.
hi
hi
hi+1
hi+1

Ceci conduit au systme linaire en les si :


{
hi+1 si1 + 2 (hi + hi+1 ) si + hi si+1 = 3 (hi+1 f [xi+1 , xi ] + hi f [xi , xi+1 ])
i = 1, ..., N 1
Ce qui fait N 1 quations aux inconnues s0 , s1 , ..., sN . On peut se xer arbitrairement
les valeurs extrmes s0 et sN (par exemple en crivant que P (a) = P (b) = 0). On
obtient alors un systme linaire diagonale strictement dominante (|coe de si | >
|coe de si1 | + |coe de si1 |, voir chapitre 6) ; donc il admet une solution unique.
Ceci prouve l'existence d'une fonction spline cubique drive seconde continue comme
prvu.

Calcul d'erreur : On peut montrer que



5 (max h )4


i i
max |f (x) P (x)| max f (4) ()
axb
ab
384
ce qui est une trs bonne approximation si la drive f (4) est raisonnable et si les
intervalles sont petits. D'autre part, au facteur 5 prs, cette erreur est du mme ordre
que celle obtenue dans l'interpolation d'Hermite (selon (3.41)) alors que dans ce cas on
utilise deux fois plus d'information sur la fonction, car on a besoin de f (xi ) et f (xi )
pour tout i.
Ceci suggre que les fonctions splines doivent avoir aux points xi des drives voisines
de celles de f . On montre en eet que

(max h )3


i i
.
max |f (x) P (x)| max f (4) ()
axb
ab
24
Ceci fournit donc une mthode de calcul numrique de la drive d'une fonction en des
points xi tout fait intressante.

3.5.

3.5

71

EXERCICES DU CHAPITRE 3

Exercices du chapitre 3

Exercice 3.1 On veut diter une table de cosinus pour laquelle l'utilisateur cherchera
la valeur d'un cosinus donn par interpolation linaire entre les valeurs tabules. Sachant
qu'on veut obtenir des valeurs avec une erreur infrieure 106 , combien d'entres dans
la table sont-elles ncessaires ?
Exercice 3.2

Dterminer la meilleure approximation linaire sur [0, 1] de f (x) = x5 +


x , d'abord au sens de la norme uniforme, puis au sens des moindres carrs.
3

Exercice 3.3

Le tableau suivant donne les valeurs d'une fonction f en trois points.

x1 = 17 4
x2 = 10 3
x3 = 5 2

f (x)
0.3771784
0.4880117
0.6754903

3
a) Dterminer une valeur approche de f en x0 = x2 +x
, par interpolation en x2 et x3 ,
2
puis par interpolation en x1 , x2 et x3 .
b) Donner dans les deux cas un majorant de l'erreur en fonction des drives de f .
c) On constate que les deux fonctions f1 (x) = sin x et f2 (x) = sin x vrient toutes
deux le tableau de valeurs ci-dessus. Calculer f1 (x0 ) et f2 (x0 ). Expliquer et vrier la
cohrence avec les rsultats numriques de a) et b).

Exercice 3.4

On donne les points (0, 2); (1, 1); (2, 23 ); (3, 21 ); (4, 31 ); (10, 0.1).
Chercher des fonctions approchant au mieux ces points au sens des moindres carrs.
Comparer les erreurs.

Exercice 3.5 Le tableau suivant donne la viscosit (mesure) de l'thylne en fonction de la temprature (en degrs Farenheit) :
T

0
242

50
100
82.1 30.5

Proposer une loi dcrivant en fonction de T .

150 200
12.6 5.57

72

CHAPITRE 3.

INTERPOLATION ET APPROXIMATION POLYNMIALE

Chapitre 4

Drivation et intgration
numrique
4.1

Introduction

Le but de ce chapitre est double : indiquer comment calculer de faon approche une
drive et dcrire les mthodes de base pour le calcul numrique d'intgrales. Un point
commun de ces deux thmes qui vont nous occuper est l'utilisation de polynmes d'interpolation. L'ide sous-jacente est simple : la fonction avec laquelle on travaille est trop
complique ou pas assez connue pour qu'on puisse faire des oprations simples comme
la drivation ou l'intgration, on choisit alors de la remplacer par un polynme et on
drive ou on intgre celui-ci. On prsentera assez rapidement les formules de drivation
approche qui en rsultent avec un aperu sur les mthodes de dirences nies. On
passera plus de temps sur le calcul d'intgrales du type
b
f (x) w (x) dx
(4.1)
a

o w est une fonction poids (continue strictement positive sur ]a, b[) et f (x) w (x) est
intgrable sur [a, b] .
Les mthodes d'intgration numrique que nous dcrirons consistent toutes remplacer
l'intgrale (4.1) par une expression le plus souvent de la forme :
N

(4.2)

Ai f (xi ) ,

i=0

o les xi sont des points distincts de [a, b] et Ai des coecients rels, le tout choisi pour
que la dirence
b
N

E=
f (x) w (x) dx
Ai f (xi )
a

i=0

soit petite.
Dans la pratique, il faut videmment faire la dirence entre le cas o la fonction f est
connue en un nombre ni de points y0 , y1 , ..., yp , auquel cas les points xi devront tre
des points yj et celui o la fonction f est connue analytiquement auquel cas on pourra
1
2
choisir au mieux les points xi (exemple : calcul de 0 ex dx).
Deux types d'approches sont retenir :

73

74

CHAPITRE 4.

DRIVATION ET INTGRATION NUMRIQUE

 Mthodes composites (ou composes) : on divise l'intervalle [a, b] en sous intervalles


[xi1 , xi ] avec a = x0 < x1 < ... < xN = b. Sur chaque intervalle [xi1 , xi ] on
remplace
d'interpolation Pi,k de degr k et on rem xi f (x) par un xpolynme
i
place xi1
f (x) dx par xi1
Pi,k (x) dx (ici w (x) 1) : ainsi, sur chaque intervalle
[xi1 , xi ], on applique une mthode d'intgration lmentaire.
 Mthode de Gauss : elles s'appliquent pour des intervalles [a, b] et des poids w particuliers : on approche f sur [a, b] par un polynme d'interpolation aux points de [a, b]
obtenus partir des zros de polynmes orthogonaux associs au poids w sur [a, b].
Cette mthode peut tre applique directement sur l'intervalle [a, b], ou, si b a est
grand, sur des sous-intervalles d'une dcomposition.

4.2

Drivation numrique

Dans ce paragraphe, la fonction f n'est bien sr pas connue par une formule explicite
mais
 ou bien par ses valeurs sur un ensemble discret (en supposant les points assez proches
pour que la notion de drive ait un sens)
 ou bien, le plus souvent, par un algorithme de calcul ou une formule complique qui
permet, au moins en thorie, de la calculer en tout point. On suppose bien sr que
la drive n'est pas accessible par un procd analogue. A ce sujet, existent maintenant des techniques de direntiation automatique (par exemple le logiciel Odysse
dvelopp par l'INRIA) qui permettent de direntier chaque pas d'un programme
et ainsi de calculer une notion de drive, mme pour une fonction dnie par un
programme. Nous ne traiterons pas cette notion ici, nous contentant d'une vision
plus ancienne et classique.
Dans toute la suite, on supposera f connue ou calculable aux points . . . , xi2 , xi1 , xi ,
xi+1 , xi+2 , . . . qu'on supposera proches. On notera hi = xi+1 xi .

4.2.1 Drive premire


Supposons qu'on veuille calculer une valeur approche de f (xi ). Une premire ide,
dj voque dans le chapitre prcdent, consiste remplacer f par une fonction spline
passant par les mmes points et prendre la drive de la fonction spline. D'un point
de vue numrique, cette ide est trs bonne, assez stable et donne de bons rsultats
en terme d'erreur. Malheureusement, elle est assez lourde mettre en place, ncessite
beaucoup de calculs. Elle a de plus un petit ct moralement dsagable : la drive
est une notion purement locale, en ce sens que la drive de f au point xi ne dpend
que des valeurs prises par f au voisinage de xi , alors que la fonction spline dpend
globalement de f par l'intermdiaire d'un systme linaire qui fait intervenir toutes les
valeurs de f .
On prfre donc le plus souvent utiliser une ide plus simple : on crit un polynme
d'interpolation au voisinage du point xi et on drive celui-ci. Les formules vont varier
en fonction du nombre de points qu'on choisit pour crire le polynme d'interpolation
(en gnral 2 ou 3, plus rarement 4 ou 5).

4.2.1.1 Formules deux points


Le polynme d'interpolation sur les deux points xi , xi+1 s'crit :

P (x) = f (xi ) + f [xi , xi+1 ](x xi ).

4.2.

75

DRIVATION NUMRIQUE

On a donc P (xi ) = f [xi , xi+1 ], ce qui fournit la

Formule dcentre droite

f (xi )

f (xi+1 ) f (xi )
.
xi+1 xi

(4.3)

f (xi )

f (xi ) f (xi1 )
.
xi xi1

(4.4)

On a bien sr aussi la

Formule dcentre gauche


4.2.1.2 Formules trois points

On choisit d'interpoler sur les points xi1 , xi , xi+1 (ce qui est moralement plus satisfaisant). Dans ce cas on a

P (x) = f (xi1 ) + f [xi1 , xi ](x xi1 ) + f [xi1 , xi , xi+1 ](x xi1 )(x xi ).
On a donc

P (xi ) = f [xi1 , xi ] + f [xi1 , xi , xi+1 ](xi xi1 ),

ce qui fournit, aprs simplication la

Formule centre

hi1
f (xi ) f (xi+1 )
+ f (xi )
hi (hi1 + hi )

hi1

hi

hi
.
hi1 (hi1 + hi )
(4.5)
La formule (4.5) se simplie notablement dans le cas de points quidistants (hi1 =
hi = h) pour donner

f (xi1 )

f (xi+1 ) f (xi1 )
. (4.6)
2h
Remarquons que la formule ci-dessus n'est autre que la moyenne des deux formules
dcentrs dans le cas de points quidistants.

Formule centre - points quidistants

f (xi )

4.2.1.3 Erreur
Pour le calcul thorique de l'erreur commise quand on remplace f (xi ) par l'une des
formules approches ci-dessus, on revient la dmonstration eectue dans le cadre de
l'interpolation. Par exemple, dans le cas de la formule dcentre gauche, on a, d'aprs
(3.14)
f (x) = P (x) + f [xi1 , xi , x](x xi1 )(x xi )
d'o, par drivation et en faisant x = xi

|f (xi ) P (xi )| = f [xi1 , xi , xi ](xi xi1 )


o f [xi1 , xi , xi ] est dnie comme en (3.42). On obtient nalement, grce au Lemme
3.1 :




f (xi ) f (xi ) f (xi1 ) M2 hi1 .
(4.7)


xi xi1
2
On dmontrerait de mme les formules :




f (xi ) f (xi+1 ) f (xi ) M2 hi .


xi+1 xi
2
et dans le cas centr, avec des points quidistants




f (xi ) f (xi+1 ) f (xi1 ) M3 h2 .


2h
6

(4.8)

(4.9)

76

CHAPITRE 4.

DRIVATION ET INTGRATION NUMRIQUE

4.2.2 Drives d'ordre suprieur


Le principe est exactement le mme, il faut simplement prendre garde que le degr du
polynme d'interpolation soit susant pour que sa drive n-ime soit non nulle !
Par exemple, pour la drive seconde, on choisit en gnral d'interpoler sur 3 points,
ce qui donne (dans le cas de points quidistants)

Drive seconde - points quidistants

f (xi )

f (xi+1 ) + f (xi1 ) 2f (xi )


.
h2
(4.10)

avec une erreur majore par






f (xi ) f (xi+1 ) + f (xi1 ) 2f (xi ) M4 h2 .


2
h
12

(4.11)

Remarque 4.1

Application : les mthodes de dirences nies. Les formules ci-dessus


sont la base des mthodes de dirences nies pour rsoudre de faon approche des
quations direntielles ou aux drives partielles. Ce thme sera dvelopp plus loin
dans le cours, en particulier dans le chapitre 6.
4.3

Intgration numrique : mthodes composites

4.3.1 Principe

b
On veut calculer a f (x) dx. On dcompose l'intervalle [a, b] en a = x0 < x1 < ... <
xn = b. On a alors
b
n xi

f (x) dx =
f (x) dx.
a

i=1

xi1

Sur chaque [xi1 , xi ], on applique une mthode d'intgration lmentaire consistant


remplacer f (x) par

Pi (x)

f [xi,0 ] + f [xi,0 , xi,1 ] (x xi,0 ) + . . .

(4.12)

+f [xi,0 , xi,1 , ..., xi,l ] (x xi,0 ) ... (x xi,l ) ,

(4.13)

soit le polynme d'interpolation de f en des points xi,0 , ..., xi,l de l'intervalle [a, b] (qui
peuvent tre ou non dans [xi1 , xi ]).

4.3.2 Mthode des rectangles


On prend l = 0 : on approche f par une constante f (xi,0 ) o xi,0 [xi1 , xi ] . D'o la
formule de quadrature (i.e. intgration numrique) lmentaire :
xi
f (x) dx hi f (i ) , i [xi1 , xi ] , hi = xi xi1
(4.14)
xi1

et la formule de quadrature compose :

f (x) dx
a

hi f (i ) .

(4.15)

i=1

b
On reconnait l une somme de Riemann dont on sait qu'elle converge vers a f (x) dx
quand max hi 0 si f est Riemann-intgrable. Les choix courants pour i sont :
1in

4.3.

77

INTGRATION NUMRIQUE : MTHODES COMPOSITES

b
n
 rectangles gauche : i = xi1 a f (x) dx i=1 hi f (xi1 )
b
n
 rectangles droite : i = xi a f (x) dx i=1 hi f (xi )
b
n
(
)

xi1 + xi
(:= xi 12 )
f (x) dx
hi f xi 12
 formule du point milieu : i =
2
a
i=1

xi1

xi

xi1

xi

xi1

xi

Figure 4.1  Formule des rectangles gauche, des rectangles droite, du point
milieu

La gure 4.1 suggre que la formule du point milieu doit fournir la meilleure approximation des trois en gnral (voir le paragraphe sur le calcul d'erreur).

4.3.3 Mthode des trapzes


On prend l = 1 et on remplace f par son interpol linaire aux points [xi1 , xi ] .

xi1

xi

Figure 4.2  Mthode des trapzes

xi

f (x) dx

xi1

f (x) dx
a

n1

i=1

1
(xi xi1 ) (f (xi ) + f (xi1 )) .
2

1
hi + hi+1
f (xi ) + (h1 f (x0 ) + hn f (xn ))
2
2

et dans le cas d'une subdivision rgulire (hi = h, i = 1, ..., n) :


[n1
]
b

1
f (x) dx h
f (xi ) + (f (x0 ) + f (xn )) .
2
a
i=1

78

CHAPITRE 4.

DRIVATION ET INTGRATION NUMRIQUE

4.3.4 Mthode de Simpson


Cette fois on interpole f aux points xi1 , xi et xi 12 = xi12+xi soit, en utilisant la
formule d'interpolation de Newton (3.5) :
xi [
xi
[
]
]
f (x) dx
f (xi1 ) + f [xi1 , xi ] (x xi1 ) + f xi1 , xi , xi 12 (x xi1 ) (x xi ) dx
xi1

or
xi

xi1

[
]
1
= hi f (xi1 ) + h2i f [xi1 , xi ] + f xi1 , xi , xi 12
2

(x xi1 ) (x xi ) dx =

xi1

et

xi

(x xi1 ) (x xi ) dx

xi1

h3
1 3 1 3
hi hi = i (en crivant xxi = xxi1 +xi1 xi )
3
2
6

h2i f [xi1 , xi ] = hi (f (xi ) f (xi1 ))


[

h3i f xi1 , xi 12 , xi

= h2i
(

=
On obtient donc

hi
2

2hi f (xi ) 2f xi 12

xi

f (x) dx =
xi1

(
)
f (xi ) f xi 12

(
)

f xi 12 f (xi1 )

hi

)
+ f (xi1 ) .

(
)
)
hi (
f (xi1 ) + 4f xi 12 + f (xi ) .
6

La formule compose dans le cas de pas constants devient


[
]
b
n1
n

h
f (x) dx =
f0 + fn + 2
fi + 4
fi 21
6
a
i=1
i=1

(
)
(
)
o on note fi = f (xi ) , fi 12 := f xi 12 = f xi12+xi .

Remarque 4.2

Pour cette mthode, il est ncessaire de connaitre f aux points xi et en


leurs milieux, soit en un nombre impair de points. De manire gnrale, on appelle Formules de Newton-Cotes (fermes) les formules composes lorsque, sur chaque intervalle
[xi1 , xi ] , f est interpole en l points quidistants. Les cas l = 1 et l = 2 correspondent
donc respectivement aux formules des trapzes et de Simpson, le cas l = 4 est connu
dans la littrature sous le nom de Boole-Villarceau.

4.3.5 Mthode du trapze corrige


On utilise l'interpolation d'Hermite sur [xi1 , xi ] : Pi (x) est le polynme de degr 3
tel que

Pi (xi1 ) =
Pi (xi1 ) =

f (xi1 ) ,
f (xi1 ) ,

Pi (xi ) = f (xi )
Pi (xi ) = f (xi ) .

On obtient (par exemple l'aide des formules de Newton) :


xi
hi
h2
f (x) dx
(f (xi ) + f (xi1 )) + i (f (xi1 ) f (xi )) .
2
12
xi1

4.4.

79

ANALYSE DE L'ERREUR DANS LES MTHODES D'INTGRATION

On voit que ceci n'est qu'une amlioration de la mthode des trapzes d'o son nom.
Son inconvnient immdiat est qu'elle ncessite la connaissance des drives f (xi ).
Cependant dans le cas d'un pas constant, ces drives disparaissent dans la formule
compose pour donner :

f (x) dx h

(n1

1
fi + (f0 + fn )
2
i=1

h2
(f (a) f (b)) ,
12

o seules apparaissent les drives en a et b.

4.4

Analyse de l'erreur dans les mthodes d'intgra-

tion

4.4.1 Thorie

b
b
Nous valuons ici l'erreur faite lorsqu'on remplace a f (x)dx par a P (x)dx o P est
le polynme d'interpolation de f aux points x0 , ..., xN . Ceci incluera le cas de l'interpolation d'Hermite lorsque certains des points xi sont confondus. Nous savons qu'alors
(voir chapitre prcdent) les formules de Newton sont identiques.
On a vu au chapitre prcdent que si PN (x) est le polynme d'interpolation de f en
x0 , x1 , ..., xN alors
f (x) PN (x) =
avec N (x) =

f [x0 , x1 , ..., xN , x] N (x)

(4.16)

(x x0 ) (x x1 ) ... (x xN ) .

(4.17)

Ainsi

f (x) dx

E (f ) =

PN (x) dx =

f [x0 , x1 , ..., xN , x] N (x) .

(4.18)

L'expression de E (f ) se simplie dans deux cas particuliers.

N (x) est de signe constant sur [a, b] : on peut alors utiliser le thorme de la
moyenne pour les intgrales qui arme que, si g et h sont continues sur [a, b] et si
h (x) 0 sur [a, b], il existe [a, b] tel que

g (x) h (x) dx = g ()
a

h (x) dx.
a

Appliqu (4.18), ceci montre l'existence de [a, b] tel que

E (f ) = f [x0 , x1 , ..., xN , ]

N (x) dx.
a

D'aprs le lemme 3.1 du chapitre prcdent, on en dduit encore qu'il existe


[c, d] ([c, d] est un intervalle contenant les xi , a et b) tel que

E (f ) =

1
f (N +1) ()
(N + 1)!

N (x) dx.
a

(On supposera ici et dans toute la suite que f est assez rgulire).

(4.19)

80

CHAPITRE 4.

b
a

DRIVATION ET INTGRATION NUMRIQUE

N (x) dx = 0 ; dans ce cas, on utilise

f [x0 , x1 , ..., xN , x] = f [x0 , x1 , ..., xN , xN +1 ]+(xN +1 x) f [x0 , x1 , ..., xN , xN +1 , x]


(4.20)
valable pour xN +1 arbitraire. Alors, (4.18) devient

f [x0 , x1 , ..., xN , xN +1 ] N (x) dx+

E (f ) =
a

f [x0 , x1 , ..., xN , xN +1 , x] N +1 (x) dx


a

E (f ) =

f [x0 , x1 , ..., xN , xN +1 , x] N +1 (x) dx.

(4.21)

Si on peut choisir xN +1 de telle faon que N +1 (x) reste de signe constant sur
[a, b], on aura d'aprs (4.19)

E (f )

pour un

b
1
f (N +2) ()
N +1 (x) dx
(N + 2)!
a
[c, d] (intervalle contenant les xi , a et b)

(4.22)
(4.23)

Dnition 4.1

On dit qu'une mthode d'intgration numrique est d'ordre k si elle


est exacte pour tous les polynmes de degr infrieur ou gal k .

Remarque 4.3 Lorsque N (x) est de signe constant sur [a, b], d'aprs (4.19), on a une
mthode d'ordre N puisque P (N +1) () = 0 pour tout polynme de degr infrieur ou
gal N . Dans la situation B), si (4.19) est vraie, on aura mme une mthode d'ordre
N + 1 (avec un mme nombre de points).

4.4.2 Application aux mthodes usuelles


4.4.2.1 Mthode des rectangles ( gauche ou droite)
N = 0, x0 = a, 0 (x) = x a. On peut appliquer (4.19) qui donne
E (f ) = f ()

(x a) dx =
a

(b a)
f () .
2

La mthode est d'ordre 0 et exacte seulement pour les constantes.




xi

h2
h2i


f (i ) i M1
f (x) dx hi f (xi1 )

xi1

2
2
o M1

= max |f (x)|
axb

(4.24)
(4.25)

Pour la formule compose, il faut ajouter les erreurs provenant de chaque intgration
lmentaire. Dans le cas d'un pas constant, on obtient :


N
b
M



1
(b a) h.
f (x) dx h
f (xi1 )

a

2
i=1

4.4.2.2 Formule du point milieu


N = 0,

x0 =

a+b
2

0 (x) = x

a+b
.
2

4.4.

81

ANALYSE DE L'ERREUR DANS LES MTHODES D'INTGRATION

b
Ici, a 0 (x) dx = 0. On va donc obtenir une mthode d'ordre 1 (exacte pour toute fonction linaire) bien qu'on interpole par une constante. En eet, d'aprs (4.22) appliqu
avec xN +1 = x0 = x1 = a+b
2


)2
b
M b(
ba
ba
M2


2
3
f (x) dx
(f (a) + f (b))
x
dx =
(b a)

a

2
2 a
2
24
avec M2 := maxaxb |f (x)|. Pour la formule compose associe, on obtient


N
b

(
) M2 2

f (x) dx h
f xi1/2
h (b a) .


a
24
i=1

4.4.2.3 Mthode des trapzes


N = 1,

x0 = a, x1 = b

1 (x) = (x a) (x b) .

Comme 1 est de signe constant sur [a, b] , on applique (4.19) pour trouver


b
|f ()| b
(b a)


(f (a) + f (b))
(x a) (x b) dx
f (x) dx

a

2
2
a
soit



b
M
(b a)


2
3
f (x) dx
(f (a) + f (b))
(b a) .

a

2
12

Pour la formule compose de la mthode des trapzes, on en dduit que l'erreur est
majore par
M2 2
E (f )
h (b a) .
(4.26)
12

4.4.2.4 Mthode de Simpson


N = 2,

a+b
x0 = a, x1 =
, x2 = b
2

a+b
2 (x) = (x a) x
2

)
(x b) .

Par raison de symtrie, on vrie que :


b
2 (x) dx = 0.
a

)
a+b 2

|E (f )|

Comme 3 (x) = (x a) x 2
(x b) est de signe constant sur [a, b] , on peut
appliquer (4.22) pour obtenir

(
(
)
)
b
b
ba
ba
M4

f (a) + 4f
+ f (b)
3 (x) dx
f (x) dx


a
6
2
24 a
soit tous calculs faits

(
)5
M4 b a
90
2
(

)


M4 = max f (4) (x) .
axb

(4.27)
(4.28)

82

CHAPITRE 4.

DRIVATION ET INTGRATION NUMRIQUE

La formule compose correspondante avec pas constant h donnera une erreur majore
par
M4 4
|E (f )|
h (b a) .
2880
Par ailleurs, la mthode de Simpson (bien que reposant sur une interpolation trois
points) est exacte pour tout polynme de degr infrieur ou gal 3.

4.4.2.5 Mthode des trapzes corrigs


N = 3,

x0 = x1 = a, x2 = x3 = b

3 (x) = (x a) (x b) .

L'application de l'estimation (4.19) donne

|E (f )|

M4
5
(b a)
720

et pour la formule compose :

|E (f )|

M4 4
h (b a) .
720

4.4.3 Exemple d'application


Calcul de

1
0

ex dx.
2

Utilisons les mthodes lmentaires prcdentes l'aide des valeurs de f (x) = ex


aux points 0, 21 , 1 soit
( )
1
f (0) = 1, f
= 0, 77880, f (1) = e1 = 0, 36788.
2

Pour la mthode des trapzes corrigs, on a aussi besoin de

f (0) = 0, f (1) = 2e1 = 0, 73576.


D'o les rsultats

1
0

rectangle point milieu trapzes

ex dx 1
2

erreur

0, 25318

Simpson trapzes corrigs

0, 77880

0, 68394

0, 74718

0, 03198

0, 06288 0, 00036

0, 74525
0, 00157

La valeur exacte est 0, 74682. Ces rsultats sont tout fait en accord avec les considrations thoriques prcdentes. Noter comment la mthode de Simpson donne une
approximation 4.104 avec seulement 3 valeurs de f ! Ceci est bien sr d au fait que
les drives d'ordre suprieur ne varient pas trop sur l'intervalle [0, 1] .
4.5

Mthodes d'intgration numrique de Gauss

4.5.1 Introduction
Les mthodes composes dcrites prcdemment (sauf pour la mthode des trapzes
b
corrigs) consistent remplacer a f (x) dx par une expression de la forme

A0 f (x0 ) + A1 f (x1 ) + ... + AN f (xN )

4.5.

83

MTHODES D'INTGRATION NUMRIQUE DE GAUSS

o les coecients Ai sont indpendants de f et o les xi sont N points de [a, b] . Au


moins dans les exemples considrs (et c'est un fait gnral), les mthodes de type
Newton-Cotes sont exactes pour les polynmes de degr infrieur ou gal N (parfois
mme de degr N + 1). Il est en fait possible avec le mme nombre de points d'obtenir
des formules exactes pour des polynmes de degr infrieur ou gal 2N + 1 : c'est le
cas des mthodes de Gauss. Outre cet avantage, elles permettent galement de calculer
des intgrales singulires o la fonction f devient innie en certains points par exemple
1 x2
e
dx.
x
0
Pour recouvrir ce type de situation, on va considrer plus gnralement des intgrales
de la forme
b
g (x) w (x) dx
a

o w est une fonction poids qui, dans la pratique, contiendra la singularit (ainsi w (x) =
1 dans l'exemple ci-dessus).
x

4.5.2 Ide de base des mthodes de Gauss


Soit x0 , ..., xN [a, b] et PN (x) le polynme d'interpolation de g aux points xi . On a

g (x) =

PN (x) + g [x0 , x1 , ..., xN , x] N (x)

N (x) = (x x0 ) (x x1 ) ... (x xN ) .
b
Ceci donne en posant I (g) = a g (x) w (x) dx,

(4.29)
(4.30)

I (g) I (PN ) =

g [x0 , x1 , ..., xN , x] N (x) w (x) dx.


a

Supposons que

N (x) w (x) dx = 0.
a

Alors, raisonnant comme en (4.20), (4.21) et utilisant

g [x0 , x1 , ..., xN , x] = g [x0 , x1 , ..., xN , xN +1 ] + (x xN +1 ) g [x0 , x1 , ..., xN , xN +1 , x]


pour xN +1 quelconque, on obtient avec N +1 (x) = N (x) (x xN +1 ) .
b
I (g) I (PN ) =
g [x0 , x1 , ..., xN , xN +1 , x] N +1 (x) w (x) dx.
a

Si de mme

N +1 (x) w (x) dx = 0
a

on peut rpter le procd avec un nouveau point xN +2 . De faon gnrale si


b
N (x) (x xN +1 ) ... (x xN +m ) w (x) dx = 0, m = 0, 1, . . .

(4.31)

on obtient l'aide d'un nouveau point xN +m+1


b
I (g) I (PN ) =
g [x0 , x1 , ..., xN , xN +1 , ..., xN +m+1 , x] N +m+1 (x) w (x) dx. (4.32)
a

84

CHAPITRE 4.

DRIVATION ET INTGRATION NUMRIQUE

L'ide est de choisir les points x0 , ...xN initiaux de telle faon que le polynme de degr
N + 1, N (x) satisfasse (4.31), c'est--dire soit orthogonal au polynme
(x xN +1 ) ... (x xN +m ) pour le produit scalaire associ au poids w.
Ainsi, si P0 , P1 , ..., PN , PN +1 est la suite de polynmes orthogonaux (normaliss) associs ce produit scalaire, on sait dj d'aprs la proposition 3.1 du chapitre prcdent
que :
(i) PN +1 = (x 0 ) (x 1 ) ... (x N )
o les i sont rels et distincts :
b
(ii)
PN +1 (x) q (x) w (x) dx = 0
a

pour tout polynme q avec deg q N . D'o le choix :

i = 0, 1, ..., N
i = N + 1, ..., 2N + 1

xi := i
xi := 2N +1i .
m=N

On a alors :

N (x) = PN +1 (x)
et d'aprs (4.31), (4.32)

I (g) I (PN ) =

g [x0 , ..., xN , xN +1 , ..., x2N +1 ] (PN +1 (x)) w (x) dx.

(4.33)

a
2

Comme (PN +1 (x)) est de signe constant, on peut appliquer le thorme de la moyenne
cette intgrale, puis appliquant le lemme 3.1 du chapitre prcdent (comme dans
(4.19)), on obtient l'existence de [a, b] tel que :

I (g) I (PN ) =

g (2N +2) ()
(2N + 2)!

(PN +1 (x)) w (x) dx.

(4.34)

On obtient donc une mthode d'intgration numrique d'ordre 2N + 1 avec seulement


N + 1 points !...
Calcul de I (PN ) :
Si on crit le polynme d'interpolation PN sous sa forme de Lagrange, on obtient :

I (PN ) =

g (xi ) Ai , avec

i=0

Ai =

li (x) w (x) dx, m = N

li (x) =

j=0,j=i

x xj
.
xi xj

(4.35)

4.5.3 Mise en oeuvre de la mthode


Comme application de ce qui prcde, examinons tout d'abord le cas du calcul d'une
b
intgrale du type a f (x)w(x) dx o a et b sont deux rels (nis). Comme les polynmes
orthogonaux sont mieux connus sur [1, 1], on s'y ramne toujours (quand on travaille
sur un intervalle born) l'aide du changement de variable :

x=

b+a ba
+
t
2
2

4.5.

85

MTHODES D'INTGRATION NUMRIQUE DE GAUSS

Ainsi :
b
a

ba
f (x) w(x) dx =
f (x (t)) w(x(t))x (t) dt =
2
1
1

f (x (t)) w(x(t))dt.
1

Ceci tant acquis, il sut de se limiter aux intgrales du type :


1
I (g) =
g (x) w (x) dx.
1

4.5.3.1 Mthode de Legendre-Gauss


C'est le cas w (x) 1 : Les polynmes orthogonaux appropris sont ceux de Legendre,
soit :

P0 (x) =
P1 (x) =

1
x

P2 (x)

1
1
1
x2 , 0 = , 1 = .
3
3
3

On a ainsi la formule deux points (N = 1)


(
)
(
)
1
1
1
g (x) dx A0 g
+ A1 g
3
3
1
1 x 1
3
avec A0 =
dx = 1 voir (4.35)
2
1 3
1 x + 1
3
A1 =
dx = 1.
2
1

Plus gnralement, si on utilise N points, la formule de Legendre-Gauss va s'crire


1
N

g (x) dx
wi g(zi )
(4.36)
1

i=0

o les poids wi et les racines zi sont donns par le tableau suivant. La quatrime colonne
du tableau fournit un majorant de l'erreur (comme d'habitude Mn dsigne la norme
innie de la drive n-ime de la fonction sur l'intervalle [1, 1]. Voici comment sont
tablies ces formules d'erreur : par exemple pour deux points. D'aprs (4.34), l'erreur
)2
1 (
(4)
dans la formule deux points est donne par E = g 24() 1 x2 13 dx. On vrie
1 ( 2 1 )2
(4)
8
x 3 dx = 45
d'o E = g 135() .
1

Racines zi

Poids wi

0.5773502691

0
0.7745966692
0.3399810435
0.8611363115
0
0.5384693101
0.9061798459
0.2386191860
0.6612093864
0.9324695142

0.8888888888
0.5555555555
0.6521451548
0.3478548451
0.5688888888
0.4786286704
0.2369268850
0.4679139345
0.3607615730
0.1713244923

2
3
4

Formule d'erreur

M4
135
M6
15750
M8
3472875
M10
1237732650
M12
648984486150

(4.37)

86

CHAPITRE 4.

DRIVATION ET INTGRATION NUMRIQUE

1
2
Appliquons ce calcul l'exemple dj trait par les mthodes composes soit 0 ex dx.
On pose x = 12 (1 + t) et donc
(
(

)2
)2
(
)
1
1
2
1
1

1
+
2
1
(t + 1)
1
3
3

ex dx =
exp
dt exp
+ exp
.
2
4
2
4
4
0
1
On obtient

ex dx
2

1
2

( (
exp

31
12

)2 )

( (
)2 ))
3+1
+ exp
12

1
(0, 95632 + 0, 53687) 0, 74659.
2

Le rsultat exact est 0, 74682 soit une erreur de 0, 00033 donc bien meilleure que celle
des trapzes (0, 06288 avec deux points) et du mme ordre que celle de Simpson
(0, 00036 mais avec trois points).

Remarque 4.4

Comme je l'ai dj signal plus haut, il est parfaitement possible (en


particulier quand l'intervalle d'intgration est grand) de reprendre l'ide des mthodes
composites avec des formules de Gauss. Sur chaque sous-intervalle, on fera alors le
changement de variable indiqu au dbut du paragraphe.

4.5.3.2 Mthode de Gauss-Chebyshev


1
C'est le cas w (x) = 1x
: Les polynmes appropris sont les polynmes de Chebyshev
2
dont les zros sont (voir chapitre prcdent)

i = cos

(2i + 1)
i = 0, ..., N.
2 (N + 1)

Il se trouve que dans ce cas, tous les coecients Ai sont gaux et on a la formule de
quadrature trs attrayante :

]
[
N
g (x)

(2i + 1)

g cos
.
N + 1 i=0
2 (N + 1)
x2 1

(4.38)

4.5.3.3 Mthodes de Laguerre et Hermite


La mthode de Laguerre correspond au cas w (x) = ex sur l'intervalle [a, b[= [0, +[,
2
tandis que la mthode de Hermitee correspond au cas w (x) = ex sur l'intervalle
]a, b[= [, +[. Les formules de rcurrence permettant de calculer les polynmes orthogonaux correspondants sont donns la section 3.3.4. Nous renvoyons la littrature
pour les formules explicites et plus de dtails.
4.6

Mthodes d'extrapolation la limite

Nous allons dcrire ici la mthode de Romberg qui consiste appliquer la mthode
d'extrapolation la limite de Richardson partir de la mthode classique des trapzes
dont on amliore ainsi la convergence.
La mthode de Richardson est de porte trs gnrale. Nous allons la prsenter ici,
indpendamment de la mthode des trapzes, sur un exemple simple.

4.6.

87

MTHODES D'EXTRAPOLATION LA LIMITE

4.6.1 Extrapolation la limite de Richardson


Considrons l'approximation de f (a) l'aide des dirences nies centres (voir le
paragraphe 4.2.1), soit :
f (a + h) f (a h)
Dh f =
.
(4.39)
2h
On a
f (a) = Dh f + c1 h2 + h2 (h)
(4.40)
o c1 = 0 si f (a) = 0. En eet, d'aprs la formule de Taylor-Young au voisinage de 0

f (a + h) =
f (a h) =

h2
f (a) +
2
h2
f (a) hf (a) + f (a)
2

f (a) + hf (a) +

h3
f (a) + h3 1 (h)
6
h3
f (a) + h3 2 (h)
6

lim 1 (h) = 0

h0

lim 2 (h) = 0.

h0

Par dirence

f (a + h) f (a h) = 2hf (a) +

h3
f (a) + h3 3 (h)
3

f (a) = Dh f

h2
f (a) + h2 (h) .
6

d'o

lim 3 (h) = 0

h0

(4.41)

Le terme h2 (h) est ngligeable devant h6 f (a) si f (a) = 0 et si h est susamment


petit. Il en rsulte qu'une bonne approximation de l'erreur faite en remplaant f (a)
2
par Dh f est donne par h6 f (a) .
Une autre faon d'interprter (4.41) consiste remarquer que si on ajoute Dh f
2
le terme correctif h6 f (a), on obtient une bien meilleure approximation de f (a).
Le problme est que dans la pratique on ne connait pas f (a) ! L'ide de base de
la mthode de Richardson consiste dterminer une valeur approche de f (a) en
crivant une 2me relation obtenue partir de (4.41) en remplaant h par 2h (ou par
h/2).
Soit donc
f (a) = Dh f + C1 h2 + h2 (h)
o C1 est inconnu mais indpendant de h. Rcrivons ceci au point 2h, on a

f (a) =
o lim 1 (h) =
h0

D2h f + 4C1 h2 + h2 1 (h)


lim 4 (2h) = 0.

h0

Par dirence

3C1 h2 = Dh f D2h f + h2 2 (h)

lim 2 (h) = 0.

h0

Puisque h2 2 (h) est ngligeable devant les autres termes si h est petit et C1 = 0, on
a:
1
C1 h2 (Dh f D2h f )
3
ce qui donne une valeur approche du terme correctif cherch en fonction des valeurs
de la fonction f . Ainsi :

Dh1 f = Dh f +

4Dh f D2h f
1
(Dh f D2h f ) =
3
3

(4.42)

88

CHAPITRE 4.

DRIVATION ET INTGRATION NUMRIQUE

devrait tre une meilleure approximation que Dh f de f (a). Nous allons le vrier en
eectuant un dveloppement limit de f au voisinage de a un ordre suprieur.

f (a + h) =
f (a h) =

h2
f (a) +
2
h2
f (a) hf (a) + f (a)
2
f (a) + hf (a) +

h3
f (a) +
6
h3
f (a) +
6

h4 (4)
f (a) +
24
h4 (4)
f (a)
24

h5 (5)
f (a) + h5 (h)
120
h5 (5)
f (a) + h5 (h) .
120

Par dirence

Dh f = f (a) +

h2
h4 (5)
f (a) +
f (a) + h4 (h) .
6
120

(4.43)

Remplaons h par 2h dans cette relation :

D2h f = f (a) +

16h4 (5)
4h2
f (a) +
f (a) + h4 (h) .
6
120

(4.44)

(Dans tout ceci et ce qui suit, on convient de noter (h) toute fonction tendant vers 0
avec h).
De (4.42), (4.43), (4.44), on tire

Dh1 f = f (a) h4

f (5) (a)
+ h4 (h) .
30

(4.45)

On obtient ainsi une approximation de f (a) d'ordre 4 (l'erreur tend vers 0 au moins
aussi vite que h4 ) et donc nettement meilleure que Dh f qui tait d'ordre 2. L'extrapolation la limite de Richardson consiste donc obtenir une approximation d'ordre
suprieur l'aide de deux approximations (ici d'ordre 2). On peut videmment rpter
l'ide partir de (4.45) : partant des deux relations

Dh1 f = f (a) C4 h4 + h4 (h)


1
D2h
f = f (a) 16C4 h4 + h4 (h)

on obtient
1
15C4 h4 = Dh1 f D2h
f + h4 (h)

d'o une valuation du terme correctif C4 h4 , et une nouvelle approximation de f (a)

Dh2 f = Dh1 f +

1
) 16Dh1 f D2h
1 ( 1
f
1
f =
Dh f D2h
.
15
16 1

Par un calcul analogue au prcdent, on montre que :

Dh2 f = f (a) + C6 h6 + h6 (h) .


( 1
)
1
An de s'assurer que 13 (Dh f D2h f ) C1 h2 ou que 15
Dh f D2h f
C4 h4 sont des approximations raisonnables, on peut valuer les quotients

Remarque 4.5

1
D1 f D2h
f
Dh f D2h f
4 1h
16.
Dh/2 f Dh f
Dh/2 f Dh1 f

Ils doivent tre respectivement voisins de 4 et 16 si les approximations en question sont


valables. Il est conseill de le vrier dans la pratique.

4.6.

MTHODES D'EXTRAPOLATION LA LIMITE

Remarque 4.6

Le nombre 2 utilis dans le passage de h 2h n'a rien de sacr. Le


mme travail peut tre eectu l'aide de

f (a)
f (a)

Dh f + C1 h2 + h2 (h)
Dqh f + C1 q 2 h2 (h) , q > 0, q = 1
Dh f Dqh f
C1 h2
.
q2 1
=
=

Si on pose

Dh,q (f ) = Dh f +
on a galement

Dh f Dqh f
q2 1

Dh,q (f ) = f (a) + Cq h4 + h4 (h) .

Remarque 4.7 La technique d'extrapolation la limite dcrite ici sur l'exemple des
approximations Dh f de f (a) s'applique en fait toute approximation Dh d'une quantit D qui, au voisinage de h = 0 s'crit sous la forme
Dh = D + hD1 + h2 D2 + ... + hp Dp + hp (h) .
Nous allons maintenant l'appliquer l'approximation de l'intgrale d'une fonction par
la mthode des trapzes.

4.6.2 Mthode de Romberg


Nous avons vu au paragraphe 4.3.3 que la mthode des trapzes consistait remplacer
b
f (x) dx par
a
[n1
]

1
f (xi ) + (f (x0 ) + f (xN ))
TN = h
2
i=1
ba
o h = ba
N et xi = a + i N (dans le cas d'une subdivision rgulire, ce que nous
supposerons toujours dans la suite).
D'aprs (4.26), on a
b
( )
f (x) dx = TN + C2 h2 + O h4
a

( )
o C2 est une constante indpendante de h et O h4 une fonction tendant vers 0 au
moins aussi vite que h4 . La situation est donc analogue l'exemple trait prcdemment
et la mthode de Richardson s'applique. Ainsi
TN TN/q
(4.46)
q2 1
(
)
b
fournit une approximation en h4 h = ba
de a f (x) dx. La situation prsente ncesN
site que Nq soit un entier. On choisir en gnral q = 2 et N pair. Ceci a de plus l'avantage
que les valuations de fonctions faites pour TN/2 peuvent servir pour le calcul de TN .
Ainsi pour N pair, on a
(N 1
)

1
TN = h
f (a + ih) + (f (a) + f (b))
2
i=1

N/2
N/21

f (a) + f (b)
= h
f (a + (2j 1) h) + h
f (a + 2jh) + h
2
j=1
j=1
TN,q = TN +

89

90

CHAPITRE 4.

soit

TN =

DRIVATION ET INTGRATION NUMRIQUE

)
N/2 (

1
2i 1
TN/2 + h
f a+
.
2
h
j=1

(4.47)

La formule (4.46) peut tre ritre. On montre, en eet, que si f est (2k + 2) fois
continuement drivable, alors

(
)
f (x) dx = TN + C1 h2 + C2 h4 + ... + Ck h2k + O h2k+2 .

Posons, comme dans (4.46) :

TN1 = TN +

TN TN/2
.
41

(4.48)

On montre alors que

(
)
f (x) dx = TN1 + C21 h4 + C31 h6 + ... + Ck1 h2k + O h2k+2 .

Pour m = 1, ..., k, on pose alors successivement :

TNm

TNm1

m1
TNm1 TN/2

4m 1

(4.49)

(
)
b
et TNm est une approximation de a f (x) dx en O h2m+2 .
La formule (4.49) dnit la mthode d'intgration de Romberg. Notons que le calcul
m1
m1
de TNm ncessite celui de TNm1 et de TN/2
. De mme, celui de TN/2
ncessite celui
m2
m2
de TN/2 et TN/4 et ainsi de suite. En particulier, on devra calculer TN/2m , TN/2m1 ,
...TN/2 et N/2m doit donc tre un entier. Posons
M=

N
.
2m

On peut visualiser les termes successifs en le tableau triangulaire suivant :


0
TM
1
T2M
0
1
2
T4M T4M T4M
..............................
T20m M T21m M .............T2mm M .
0
T2M

Algorithme de Romberg : on se donne f : [a, b] 7 R et un entier positif M .

h :=

ba
M

)
m1
f (a)+f (b)

0
TM
:= h
f
(a
+
ih)
+

i=1
2

pour k = 1, 2, ...

h := h2

2k1 M
T 0 := 1 T 0
f (a + (2i 1) h)
2k M
i=1
2 2k1 M + h

De
m
=
1

k
( m1
)
m1
T2mk M := T2m1
/ (4m 1) .
k M + T2k M T2k1 M
(

4.7.

4.7

EXERCICES DU CHAPITRE 4

Exercices du chapitre 4

3
2
Calculer 1 (sinxx) dx en utilisant successivement
a) la mthode des rectangles sur 5 sous-intervalles,
b) la mthode des trapzes sur 5 sous-intervalles,
c) la mthode de Simpson sur 5 sous-intervalles,
d) la mthode de Gauss 5 points
Comparer les rsultats et le nombre d'valuations de fonctions ncessaires par chaque
mthode.

Exercice 4.2 Dterminer le nombre de points ncessaires pour valuer l'intgrale 01 cos(x2 ) dx
avec une prcision de 108 par la mthode des rectangles gauche, la mthode des trapzes, la mthode de Simpson et la mthode de Gauss composite 3 points.

Exercice 4.1

Exercice 4.3

Imaginer une mthode de Gauss pour calculer les intgrales


1
3 5
1
(cos x) log x dx pour = , 1, 2, .
2
2 2
0

Dterminer les premiers polynmes orthogonaux et leurs racines et mettre en oeuvre


la mthode de Gauss.

Exercice 4.4

Soit K le carr unit de R2 . Imaginer une formule d'intgration numrique sur K qui soit exacte pour les polynmes de degr infrieur ou gal 3 en x et
en y .

Exercice 4.5
laire

Dterminer les 4 premiers polynmes orthogonaux pour le produit sca +


f (t)g(t)et dt.
1

En
+dduiretune formule d'intgration numrique pour calculer des intgrales du type
f (t)e dt qui soit exacte pour les polynmes de degr infrieur ou gal 7. Tester
1
cette formule avec f (t) = t5 , f (t) = t6 et f (t) = et/2 .
+ t3
Exercice 4.6 Calculer 0.5
e
dt avec 4 dcimales exactes.

91

92

CHAPITRE 4.

DRIVATION ET INTGRATION NUMRIQUE

Chapitre 5

Rsolution numrique
d'quations direntielles
Il s'agit de rsoudre numriquement les systmes d'quations direntielles du type
{
y (t) = f (t, y(t)) , t > 0
(5.1)
y (0) = y0
donn
o y : [0, +[ RN est une fonction vectorielle inconnue de la variable t (reprsentant
le plus souvent le temps), y0 un vecteur donn de RN dcrivant l'tat initial et f une
application de [0, +[RN dans RN .
5.1

Quelques remarques sur (5.1)

Si y (t) = (y1 (t) , y2 (t) , ..., yN (t)) , le systme (5.1) s'crit



y (t) = f (t, y1 (t) , ..., yN (t))

y2 (t) = f (t, y1 (t) , ..., yN (t))


, yi (0) = y0i
..


yN (t) = f (t, y1 (t) , ..., yN (t))

i = 1, ..., N.

(5.2)

La discrtisation spatiale d'quations aux drives partielles modlisant les phnomnes


d'volution est une source importante de tels problmes. Ils apparaissent aussi souvent
directement sous la forme (5.2) dans les applications. Notons qu'une quation d'ordre
strictement suprieur 1 peut-tre aussi crite sous la forme (5.2). Considrons par
exemple le problme d'ordre 2 :
{
y (t) = g (t, y (t) , y (t))
(5.3)
y (0) = y0 , y (0) = y1
o y : [0, +[ R est la fonction inconnue, g : [0, +[R R R, y0 et y1 sont des
rels donns (position et vitesse initiales). Posant alors

u1 (t) = y (t) , u2 (t) = y (t) ,


on
( remplace
) (5.3) par un systme quivalent o l'inconnue est le vecteur U (t) =
u1 (t)
soit
u2 (t)
(
)
(
)
dU
u2 (t)
y0
(t) =
, U (0) =
g (t, u1 (t) , u2 (t))
y1
dt

93

94

CHAPITRE 5.

RSOLUTION NUMRIQUE D'QUATIONS DIFFRENTIELLES

(
ce qui est un systme de la forme (5.2) avec N = 2 et f (t, u1 , u2 ) =

u2
g (t, u1 , u2 )

)
.

La mme remarque vaut pour les quations d'ordre p


(
)
{ (p)
y (t) = g t, y (t) , ..., y p1 (t)
y (p1) (0) , ..., y (0) , y (0) donns
et les mthodes numriques que nous allons dcrire pourront leur tre appliques. Nous
verrons cependant, en n de chapitre, une mthode particulire (5.3) ; la mthode
dite de Newmark.

5.1.1 Quelques soucis d'ordre thorique


Avant d'aborder l'tude numrique de (5.1), il est bon d'avoir l'esprit quelques ides
simples sur l'existence et le comportement des solutions de (5.1) :

Exemples linaires :

y = ay
, aR
y (0) = y0

La solution est bien sr y (t) = y0 eat . Bien qu'lmentaire, cet exemple nous permettra
d'analyser quelques proprits importantes des algorithmes tudis plus loin.
Plus gnralement, si a dpend de t, l'unique solution est donne par
( t
)
y (t) = y0 exp
a () d
0

ds que a est une fonction continue de t.


Considrons
{
y = Ay
y (0) = y0 RN
o y : [0, +[ RN et A est une matrice d'ordre N. Si A est
dcouple en N quations scalaires indpendantes. On a alors

..
.
0

yi (t) = y0i ei t si A =
i

..
.
0

(5.4)
diagonale, le systme se

Plus gnralement, la solution est encore donne par

y (t) = etA y0
o etA est la matrice dnie par :

tA

n n

t A
=
.
n!
n=0

Lorsque la matrice A dpend raisonnablement du temps, on montre encore que (5.4) a


une solution unique existant pour tout t > 0. Ces deux proprits peuvent malheureusement aisment disparatre lorsque la fonction f est non linaire.

Exemples non linaires

y = y2
y (0) = y0

(5.5)

5.1.

95

QUELQUES REMARQUES SUR (5.1)

y = y 3
y (0) = y0
1

(5.6)

L'quation (5.5) s'intgre explicitement puisque, sur un intervalle o y ne s'annule pas :


(
)
d
1
1
1
y0
y = y 2 y y 2 = 1

= 1

= t y (t) =
.
dt
y
y0
y (t)
1 ty0
Ainsi, pour y0 > 0, la solution explose pour t = y10 : il n'y a donc pas existence globale
pour tout t > 0.
L'quation (5.6) s'intgre de faon identique : on obtient
(
)
1
d 3 2
3 2
3 2
y 3 = 1 y 3 (t) = y03 + t.
y y 3 = 1
dt 2
2
2
En particulier, si y0 = 0, on obtient comme solution

(
y (t) =

2
t
3

) 32
.

Seulement, on vrie que y (t) = 0 est aussi solution. Donc, il n'y a pas unicit des
solutions de (5.6). En fait il y en a une innit puisque pour tout a > 0
{ (
) 32
2
(t

a)
si t a
3
ya (t) =
0
si 0 t a
est aussi une solution. Enonons sans dmonstration un thorme classique relativement
12
10

8
6

Figure 5.1  Deux solutions distinctes de l'quation direntielle (5.6)


gnral assurant existence et unicit locale.

Thorme 5.1

i) On suppose que f est continue de [0, ] RN RN avec > 0.


Alors, pour tout y0 , il existe au moins une solution continument drivable sur [0, T ]
de :
{
y (t) = f (t, y (t)) 0 t T
(5.7)
y (0) = y0

96

CHAPITRE 5.

RSOLUTION NUMRIQUE D'QUATIONS DIFFRENTIELLES

pour un certain T ]0, ].


ii) On suppose de plus que f est localement lipschitzienne par rapport la variable y ,
c'est--dire :
f (t, y1 ) f (t, y2 ) L (M ) y1 y2 pour tout t [0, T ] ,

(5.8)

pour tout y1 , y2 avec y1 M, y2 M


o L est une fonction croissante de [0, [ dans [0, [ et . une norme sur RN .
Alors, la solution de (5.7) est unique.

Remarque 5.1

Le point i) justie l'existence de solutions locales pour les problmes


(5.5),(5.6) (voir aussi l'exercice 5.2). En revanche, on voit qu'elles ne sont pas ncessairement globales.
Les exemples (5.4) et (5.5) entrent dans le cadre (ii). En eet :
2

y1 y22 = |y1 + y2 | |y1 y2 | 2M |y1 y2 | si |y1 | , |y2 | M.
1

Par contre y y 3 n'est pas localement lipschitzienne.


On peut en fait montrer que les conclusions de ii) restent valables lorsque (5.8) est
remplac par l'hypothse de monotonie (plus faible que (5.8)) :
2

f (t, y1 ) f (t, y2 ) , y1 y2 L (M ) y1 y2

(5.9)

o ., . est le produit scalaire usuel sur RN et . la norme associe.


Ainsi, dans l'exercice 5.2, f vrie (5.9) avec L (M ) 0 (alors qu'elle ne vrie pas
(5.8).
Les hypothses de monotonie assurent aussi l'existence globale :

Thorme 5.2

On suppose que f est continue sur [0, +[RN et que


2

f (t, y1 ) f (t, y2 ) , y1 y2 L y1 y2 y1 , y2 RN , t > 0.

(5.10)

Alors le problme (5.7) admet une solution et une seule sur [0, [.

Remarque 5.2

zienne en x, soit

Les hypothses (5.10) recouvrent le cas o f est globalement lipschit-

f (t, y1 ) f (t, y2 ) L y1 y2 .

(5.11)

C'est en particulier le cas si f (t, y) = A (t) y o A (t) est une matrice coecients
continus et borns sur [0, +[.
Nous renvoyons la littrature pour une dmonstration de ces rsultats (par exemple :
Analyse Numrique des quations direntielles, par M. Crouzeix et A.L. Mignot,
Masson).

5.1.2 Rgularit de la solution


Par dnition, une solution de (5.7) est une fonction drivable sur [0, T [ satisfaisant

y (t) = f (t, y (t))

t [0, T ] , y (0) = y0 .

(5.12)

Si f est continue, par composition, y est continue. Donc y est une fonction continument
drivable : y est de classe C 1 .

5.2.

97

MTHODES DE RSOLUTION UN PAS

Supposons N = 1 et que f soit non seulement continue, mais aussi de classe C 1 , i.e.
f
f

t (t, y) et y (t, y) existent et sont continues sur [0, T ]. Alors, d'aprs (5.12), y (t) est
lui-mme drivable et

y (t) =

f
f
(t, y (t)) +
(t, y (t)) y (t) .
t
y

Ceci montre que y est continue : y est de classe C 2 . Le raisonnement peut tre reconduit : y sera de classe C p+1 si f est de classe C p . Par ailleurs, si f
y est continue,
d'aprs le thorme des accroissements nis, on a, pour |y1 | , |y2 | M, t [0, T ]

o L (M ) = max|y|M,

|f (t, y1 ) f (t, y2 )| L (M ) y1 y2


f

(t,
y)

et donc f est localement lipschitzienne.
0tT t

L'hypothse f est de classe C 1 nous assure existence, unicit, et rgularit locale de la


solution.
Ces remarques ne sont pas particulires N = 1 mais restent valables pour les systmes :
seules les critures sont plus lourdes. Ainsi, f
y est remplace par la direntielle de f .
Si

f1 (t, y1 , y2 , ..., yN )

f (t, y1 , y2 , ..., yN ) = ...

fN (t, y1 , y2 , ..., yN )
alors nous noterons

f1
y1

(t, y)

f2 (t, y)

Dy f (t, y) = y1
..
.
fN
y1 (t, y)

f1
y2

(t, y)

f1
yN

(t, y)

fN
yN

(t, y)

..
.
..
.

la matrice Jacobienne de f . Drivant (5.12), on a alors

y (t) =
ou

y (t) =

5.2

f
(t, y(t)) + Dy f (t, y(t)) y (t)
t

f
(t, y(t)) + Dy f (t, y(t)) f (t, y(t))
t

Mthodes de rsolution un pas

Nous allons commencer par dcrire une mthode trs simple mais fondamentale : nous
mettrons prot sa simplicit pour en analyser son erreur de discrtisation, sa consistance, sa convergence et sa stabilit, autant de notions clefs dans l'analyse numrique
des quations direntielles.

5.2.1 La mthode d'Euler


Soit donc rsoudre numriquement
{
y (t) = f (t, y (t)) 0 t T
y (0) = y0

(5.13)

98

CHAPITRE 5.

RSOLUTION NUMRIQUE D'QUATIONS DIFFRENTIELLES

o y : [0, +[ RN est la fonction cherche, f : [0, +[RN RN , y0 RN .


Nous supposerons que (5.13) admet une solution sur [0, T ]. Nous noterons M0 =
max0tT y (t) o . est une norme sur RN et nous supposerons que f est de classe
C 1 sur [0, T ] RN . Ainsi, d'aprs les remarques prcdentes, nous aurons

y1 , y2 avec y1 , y2 M

f (t, y1 ) f (t, y2 ) L (M ) y1 y2

(5.14)

y (t) M1 , y (t) M2 .

t [0, T ]

Nous allons discrtiser (5.13) en introduisant une subdivision

0 = t0 < t1 < t2 < ... < tn = T.


On notera hn = tn+1 tn , n = 0, ..., N 1 et h = max0nN hn . Alors (5.13) implique

pour n = 0, ..., N 1
y (0) = y 0

y (tn+1 ) y (tn ) =

tn+1
tn

f (t, y (t)) dt

(5.15)

Les mthodes numriques utilises pour rsoudre (5.13) dirent par le choix de l'vat
luation numrique des intgrales tnn+1 f (t, y (t)) dt.
La mthode d'Euler classique correspond une mthode des rectangles gauche, soit :
{
pour n = 0, ..., N 1
yn+1 = yn + hn f (tn , yn ) .
(5.16)
y0 = y h (valeur aproche de y 0 ).
Il est ncessaire d'analyser dans quelle mesure la valeur calcule approche susamment

2.5
y3
2

y2
y1

1.5
y0
1

0.5

x0
0

x1
0.5

x2
1.5

Figure

x3
2.5

5.2  La mthode d'Euler pour l'quation y'=1/(2y) avec un pas


constant hn = 1 : yn+1 = yn + 1/(2yn )
la valeur exacte y (tn ) et donc d'valuer l'erreur de discrtisation

en = y (tn ) yn .

3.5

5.2.

99

MTHODES DE RSOLUTION UN PAS

Dnition 5.1

On dira que la mthode est convergente si

max en tend vers 0 lorsque h tend vers 0 et y h tend vers y 0 .

0nN

Remarque 5.3

si la mthode est convergente, en choisissant h assez petit, et y h assez


voisin de y , on obtient une bonne approximation de y (tn ) , n = 0, ..., N 1 l'aide
du schma (5.16). Il semblerait plus naturel de poser directement y0 = y 0 dans (5.16).
Cependant, dans la pratique, si y 0 est rel, il ne pourra pas toujours tre pris en compte
de faon exacte cause des arrondis. Une analyse correcte ncessite donc de supposer
y 0 = y h .
0

De plus, comme dans tout calcul numrique, il se pose un problme de stabilit, il est
ncessaire de connatre les consquences d'une petite variation de y h (invitable dans
la pratique) ainsi que celles d'erreurs (galement invitables) sur le calcul de f (tn , yn ) .

Dnition 5.2

K telle que

Nous dirons que la mthode (5.16) est stable s'il existe une constante
[
max yn zn K y0 z0 +

N
1

]
n

(5.17)

n=0

pour tout zn solution de


zn+1 = zn + hn f (tn , zn ) + n , n = 0, ..., N 1.
Cette notion de stabilit implique que de petites perturbations sur les donnes et sur
tous les calculs intermdiaires n'entranent que de petites perturbations du rsultat ce
qui est absolument ncessaire pour qu'un schma numrique soit raliste. Cependant,
cette remarque n'est valable de faon pratique que si K est de taille raisonnable (voir
exemples plus loin).
Enn, on dgage aussi une notion de consistance d'un schma numrique : l'erreur
de consistance reprsente l'erreur qu'on fait au n-ime pas en remplaant l'quation
direntielle par l'quation discrtise, soit ici :

n = y (tn+1 ) y (tn ) hn f (tn , y (tn )) .

Dnition 5.3

(5.18)

On dit que la mthode est consistante si


lim

h0

N
1

n = 0.

n=0

Remarque 5.4

On montre que, pour les mthodes un pas, consistance et stabilit


impliquent convergence. Nous allons le constater ici pour la mthode d'Euler.

5.2.1.1 Estimation de l'erreur de discrtisation


en+1 = y (tn+1 ) yn+1 = y (tn+1 ) yn hn f (tn , yn )
soit d'aprs (5.18)

en+1 = en + hn (f (tn , y (tn )) f (tn , yn )) + n .

(5.19)

Pour des raisons de simplicit, nous supposerons ici que la constante de Lipschitz dans
(5.8) est uniforme, c'est--dire

L (M ) L

M > 0

(5.20)

100

CHAPITRE 5.

RSOLUTION NUMRIQUE D'QUATIONS DIFFRENTIELLES

(Souvent dans la pratique, ce n'est pas le cas, mais on montre que sous les seules
hypothses introduites, on peut choisir T assez petit pour que yn reste uniformment
major par un certain M . On prend alors L = L (max (M, M0 )) dans la suite.)
De (5.19), (5.8), (5.20) on dduit

en+1 (1 + Lhn ) en + n .

(5.21)

An de faciliter la rcurrence dans (5.21), on utilise l'ingalit 1 + x ex pour obtenir

en+1 eLhn en + n .
Par rcurrence, on obtient ainsi
n1

en eLtn e0 +

eL(tn ti+1 ) i .

(5.22)

i=0

Remarque 5.5

Le calcul que nous venons de faire prouve en fait la stabilit de la


mthode ; en eet, posant
(5.23)

zn+1 = zn + hn f (tn , zn ) + n
au lieu de (5.18) et en posant ebn = zn yn on aurait de mme
n1

b
en eLtn e0 +

eL(tn ti+1 ) i .

(5.24)

i=0

et donc

[
max b
en K b
e0 +

0n1

n1

]
i

(5.25)

i=0

avec K = eLT .



Si nous revenons (5.22), nous voyons que, lorsque h tend vers 0, e0 = y 0 y h
tend vers 0. Reste montrer que le dernier terme tend vers 0, c'est--dire
la
Nmontrer
1
consistance de la mthode, puisque ce dernier terme est major par eLT i=0 i .
Or
tn+1
n = y (tn+1 ) y (tn ) hn f (tn , y (tn )) =
(y (t) y (tn )) dt

tn+1

=
tn

y () d =

tn

On retiendra de ceci que

tn
tn+1

(tn+1 ) y () d.

tn

n h

tn+1

y () d hM2 (tn+1 tn )

tn
n1

i hM2 tn .

(5.26)

i=0

Ainsi, ces estimations jointes (5.22) donnent

en eLtn [e0 + hM2 tn ]


et

max en eLT [e0 + hM2 T ]

0nN

ce qui prouve que la mthode d'Euler est convergente.

(5.27)

5.2.

101

MTHODES DE RSOLUTION UN PAS

5.2.1.2 Inuence des erreurs d'arrondis


Si on veut calculer y (T ) avec une prcision donne , d'aprs (5.27), il faut bien sr
d'abord choisir e0 assez petit : supposons qu'on puisse le choisir nul. En thorie, on
peut alors choisir h assez petit pour que hM2 T < . Cependant, dans la pratique, il
est illusoire de vouloir choisir h trop petit, car alors les erreurs d'arrondis prennent le
relais de l'erreur de discrtisation : en eet, le calcul

yn+1 := yn + hn f (tn , yn )
donne lieu une erreur n sur le calcul de f (tn , yn ) et une erreur d'arrondi n sur le
rsultat nal : l'algorithme du calculateur est donc

zn+1 = zn + hn (f (tn , zn ) + n ) + n .
D'aprs les formules (5.23), (5.24), (5.25), on a
(
)
N
1

LT
yN zN e
y0 z0 +
(hn n + n ) .
i=0

Supposons n et n . La somme de l'erreur de discrtisation y (T ) yN


n1
et des erreurs d'arrondis est donc majore par (remarquer n=0 n N = Th ) :
)
(
T
LT
(5.28)
EN = e
hM2 T + y0 z0 + T + .
h
Ceci montre que les erreurs d'arrondis tendent en gnral vers l'inni lorsque h tend
vers 0 ... ce qui est bien normal puisqu'on accumule alors le nombre d'oprations. On
peut essayer de voir quel serait le pas optimal qui rendrait EN minimum. Puisque
EN est de la forme

C
h
avec A = eLT (y0 z0 + T )
B = M2 T eLT
C = T eLT ,

C
le minimum est atteint pour h = h = B
: c'est--dire que, autour de h les erreurs
d'arrondis s'quilibrent avec celles dues la mthode. Un bon choix ncessitera bien
sr h h : il est inutile d'augmenter le cot de calcul pour rien.
EN

= A + Bh +

Remarque 5.6 Les calculs ci-dessus sont faits de faon pessimiste : souvent les erreurs d'arrondis se compensent dans une certaine mesure (mais c'est alatoire).
Il est intressant de noter dans l'expression de EN comment les erreurs d'arrondi sur la
donne initiale y0 z0 se propagent : leur impact sur l'erreur nale est major par
eLT y0 z0 ce qui est raisonnable ... si eLT n'est pas trop grand : nous allons voir
sur des exemples ce que ceci signie numriquement :

Exemple 1 :

y (t) = 3y (t) 3t
y (0) = 13

t [0, 6]

(5.29)

La solution est y (t) = 13 + t. Ce problme est donc tout fait inoensif. Cependant, ici
L = 3 donc pour T = 6,
eLT = e18 0.65108 .

102

CHAPITRE 5.

RSOLUTION NUMRIQUE D'QUATIONS DIFFRENTIELLES

Ainsi, si on considre la solution z (t)du mme problme avec la donne initiale z (0) =
1
3 + (= 0.33333333 par exemple) ; par dirence
{

(z y) = 3 (z y)
et donc (z y) (t) = e3t .
(z y) (0) =
Ainsi z (T ) = y (T ) + e18 y (T ) + 0.65108 . En consquence, si on travaille avec
un calculateur travaillant avec une prsence relative de 108 , il sera pratiquement impossible d'approcher convenablement y (6) ... et ceci indpendamment du choix de la
mthode numrique. On dit que le problme ci-dessus est mal conditionn ou mme ici,
numriquement mal pos.

Exemple 2 :

y (t) = 150 y (t) + 50


.
y (0) = 13

(5.30)

La solution est y (t) 13 . La mthode d'Euler conduit

yn+1 = yn + hn (150yn + 50) .


Soit encore

yn+1
Si hn = h =

1
50 ,

(
)
1
1
= (1 150hn ) yn
.
3
3

on a donc

yn

(
)
(
)
1
1
1
n
n
= (1 150h) y0
= (2) y0
.
3
3
3

En particulier,

y50 y (1) = (2)

50

(5.31)

(
)
1
y0
!
3

Sachant que 250 1015 , ceci montre que le pas choisi est trop grand.
Ici, la mthode d'Euler n'est pas un algorithme numriquement stable : bien qu'elle
satisfasse la condition de stabilit thorique (5.17), le coecient K est trop grand.
Cependant, on peut montrer que ce problme est bien conditionn au sens qu'une petite
variation de y0 induit une petite variation de y (t) puisque, grce au signe devant
150y (t), on montre aisment :

|y (t) yb (t)| |y0 yb0 | .


La relation (5.31) met en vidence un autre phnomne : lorsque n grandit, yn 13
devient en module de plus en plus grand et est alternativement positif et ngatif : au
bout d'un temps trs court, les calculs ne sont plus signicatifs. Analysons ceci de faon
un peu plus systmatique.

Exemple 3 :

y (t) = y (t) > 0


.
y (0) = y0

(5.32)

Ce problme continu est trs stable par rapport y0 puisque y(t) = y0 et et donc

|y (t) yb (t)| et |y0 yb0 | .


La mthode d'Euler applique (5.32) avec pas constant donne

yn+1 = yn hyn = (1 h) yn

5.3.

103

LES MTHODES DE RUNGE-KUTTA

et donc

yn = (1 h) y0 .

Le pas h tant x, on voit que, bien que la solution exacte soit borne, la solution
calcule yn aura un module de plus en plus grand si |1 h| > 1, d'o un phnomne
d'instabilit. La condition de stabilit s'crit donc

h < 2

(5.33)

Ainsi, il sera ncessaire de prendre h d'autant plus petit que est grand. Cette restriction apparat galement trs souvent dans les systmes direntiels provenant de la
discrtisation d'quations aux drives partielles de type parabolique (condition CFL).

5.2.2 Mthode d'Euler implicite


An de remdier au problme d'instabilit soulev ci-dessous, on a souvent recours
une mthode de type implicite comme la suivante
{
yn+1 = yn + hn f (tn+1 , yn+1 )
(5.34)
y0 = y h

t
qui provient de l'intgration de tnn+1 f (t, y (t)) dt par une mthode des rectangles
droite. On voit que la relation (5.34) dnit yn+1 de faon implicite et qu'il faut donc
rsoudre un problme pour calculer yn+1 . Le cot est videmment plus lourd que dans
la mthode d'Euler explicite vue prcdemment, mais en contrepartie la stabilit est
grandement amliore comme on va le voir en reprenant l'exemple (5.32). On a donc,
avec un pas constant :
yn+1 = yn hyn+1
soit

yn+1 =

yn
y0
, yn =
n.
1 + h
(1 + h)

En particulier, on a toujours (quel que soit le choix du pas h)

|yn | |y0 | .
Par ailleurs, on montre que cette mthode converge avec la mme vitesse que la prcdente.
5.3

Les mthodes de Runge-Kutta

Une mthode un pas s'crit de faon gnrale

yn+1 = yn + hn (tn , yn , hn ) .

(5.35)

Ainsi, yn+1 est calcul partir de yn par l'intermdiaire de la fonction . Cette mthode
peut tre explicite ou implicite. Ainsi, pour la mthode d'Euler explicite, on a

(t, y, h) = f (t, y)
tandis que pour la mthode d'Euler implicite (t, y, h) est dni de faon implicite ;
(t, y, h) est la solution de l'quation

Y = yn + hn f (tn+1 , Y ) .

104

CHAPITRE 5.

Dnition 5.4
vrie

RSOLUTION NUMRIQUE D'QUATIONS DIFFRENTIELLES

On dit que la mthode (5.35) est d'ordre p si l'erreur de consistance


N
1

y (tn+1 ) y (tn ) hn (tn , y (tn ) , hn ) Khp

(5.36)

N =0

o h = max0n<N hn et ce, pour toute solution p fois continument drivable de y (t) =


f (t, y (t)) .

Exemple : Nous avons vu que la mthode d'Euler explicite est d'ordre 1 (cf. (5.26)).

Il en est de mme pour la mthode d'Euler implicite. Nous allons le montrer ici en
considrant plus gnralement :
-mthode :
yn+1 = yn + hn [f (tn+1 , yn+1 ) + (1 ) f (tn , yn )]
(5.37)
o [0, 1]. Pour = 0, c'est explicite ; pour = 1 on retrouve la mthode d'Euler
implicite (5.34).
Analysons l'erreur de consistance :

n = y (tn+1 ) y (tn ) hn [f (tn+1 , y (tn+1 )) + (1 ) f (tn , yn )] .


Pour simplier, nous supposerons N = 1 ; les techniques et rsultats sont identiques en
dimension suprieure. D'aprs la formule de Taylor :

y (tn+1 ) = y (tn ) + hn y (tn ) +

h2n (3)
y (cn )
2

o cn [tn , tn+1 ] . De mme

y (tn+1 ) = y (tn ) + hn y (tn ) +

h2n
h3
y (tn ) + n y (3) (b
cn ) .
2
6

On en dduit

h3
h2
cn )
= hn y (tn ) + n y (tn ) + n y (3) (b
6
[ ( 2
)
]
h2
hn y (tn ) + hn y (tn ) + n y (3) (cn ) + (1 ) y (tn )
2

soit

n = h2n y (tn )

]
(
)
1
1 (3)

+ h3n
y (b
cn ) y (3) (cn ) .
2
6
2

Si = 12 (par exemple = 0 ou = 1), l'erreur locale sera en h2 et l'erreur totale


de consistance sera en h et la mthode d'ordre 1. Par contre, si = 12 , on obtient une
mthode d'ordre 2. Ce choix est souvent appel mthode de Crank-Nicholson.

Mthode de Crank-Nicholson :

yn+1 = yn + hn

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

Analysons la stabilit asymptotique sur le cas particulier

y (t) = y (t) .
On a alors

yn+1 = yn + h [yn+1 (1 ) yn ]

(5.38)

5.3.

105

LES MTHODES DE RUNGE-KUTTA

1 h (1 )
yn
1 + h
(
)n
1 h (1 )
yn =
y0 .
1 + h
yn+1 =

L'approximation yn restera borne pour n grand si

1 <
Ceci quivaut

0<

1 h (1 )
< 1.
1 + h

h
2 ou 0 < h 2 + h.2.
1 + h

D'o la condition de stabilit asymptotique


{
si 12 : mthode stable h > 0

si <

1
2

: mthode stable si h <

2
12

(5.39)

Conclusion : La mthode de Crank-Nicholson est d'ordre 2 et stable (au sens ci-dessus)


pour tout choix de h. Ceci explique qu'elle soit souvent retenue.
Dans la pratique, mme une mthode d'ordre 2 se rvle assez souvent insusante
car ncessitant trop de pas de temps pour atteindre une prcision donne. Il est alors
ncessaire d'utiliser une mthode d'ordre suprieur : les plus courantes sont celles de
Runge-Kutta qui reposent sur des mthodes d'intgration numrique d'ordre suprieur
pour
tn+1
f (t, y (t)) dt.
tn

Dcrivons-en le principe : tn,j = tn +hn cj , j = 1, ..., q tant des points de [tn , tn+1 ] (0
cj 1), le remplacement de f (t, y (t)) par un polynme d'interpolation aux points tn,j
conduit une formule d'intgration numrique du type

tn+1
q

f (t, y (t)) dt hn
bj f (tn,j , y (tn,j )) .
tn

j=1

Les mthodes de Runge-Kutta consistent remplacer ces valuations approches par


des galits soit

yn+1 = yn + hn
bj f (tn,j , yn+j ) ,
(5.40)
j=1

les valeurs yn,j tant elles-mmes values l'aide de formules d'intgration numrique
utilisant les mmes points tn,j :

yn,j = yn + hn
aij f (tn,j , yn,j ) , j = 1, ..., q .
(5.41)

j=1

Remarque 5.7

 Les formules (5.41) dnissent les valeurs yn,j de faon explicite si


la matrice [aij ] est strictement triangulaire infrieure, sinon elles sont obtenues de
faon implicite.
 La mthode d'Euler et la -mthode sont des cas particuliers. Citons quelques mthodes d'ordre suprieur souvent utilises.

106

CHAPITRE 5.

Runge-Kutta d'ordre 2

ou

RSOLUTION NUMRIQUE D'QUATIONS DIFFRENTIELLES

y
= yn + 12 (k1n + k2n )

n+1
k1n = hn f (tn , yn )

n
k2 = hn f (tn + hn , yn + k1n )

yn+1 = yn + k2n

n
k1 = hn f (tn , yn )

k2 = hn f tn + h2n , yn +

k1n
2

(5.42)

(5.43)

et la fameuse mthode d'ordre 4 :

Runge-Kutta d'ordre 4

yn+1 = yn + 16 (k1n + 2k2n + 2k3n + k4n )

k1n = hn f (tn , yn )

(
)
n
kn
k2 = hn f tn + h2n , yn + 21
.

(
)

k3n = hn f tn + h2n , yn + 22

n
k4 = hn f (tn+1 , yn + k3n )

(5.44)

On dtermine l'ordre de ces mthodes l'aide de la formule de Taylor. Considrons par


exemple

yn+1 = yn + (ak1n + bk2n )


k n = hn f (tn , yn )
.
(5.45)
1n
k2 = hn f (tn + hn , yn + k1n )
Il s'agit d'estimer

n+1 = y (tn+1 ) y (tn ) + hn (tn , y (tn ) , hn )


o

(tn , y (tn ) , hn ) = a + b
avec

= f (tn , y (tn ))
= f (tn + hn , y (tn ) + hn ) .
Or

( )
f (tn + hn , y (tn ) + hn ) = f (tn , y (tn ))+hn ft (tn , y (tn ))+hn fy (tn , y (tn ))+O h2n .
y (tn+1 ) y (tn ) = hn y (tn ) +
Puisque

( )
h2n
y (tn ) + O h3n .
2

y (tn ) = ft (tn , y (tn )) + fy (tn , y (tn )) .,

on en dduit

n+1 = hn (1 (a + b)) + h2n

)
( )
1
(ft + fy ) b (ft + fy ) + O h3n .
2

5.4.

107

CONTRLE DU PAS

L'erreur locale est d'ordre 3 (et la mthode d'ordre 2) si


{
a+b=1
.
1
2 = b = b
C'est le cas dans les algorithmes (5.43) et (5.44).

Remarque 5.8 On dmontre, sous des hypothses de rgularit sur f , que les mthodes de Runge-Kutta sont stables au sens de (5.17). Etant stables et consistantes,
elles sont convergentes suivant un principe gnral dj mentionn pour les mthodes
un pas.
5.4

Contrle du pas

Dans la description des algorithmes prcdents, nous avons suppos le pas hn variable.
Dans la pratique, il est naturel de chercher utiliser un pas constant hn = h et on le fait
souvent. Cependant, il est dicile d'valuer la taille optimale du pas h : il ne doit pas
tre petit, sinon le cot de calcul est important et les erreurs d'arrondis s'accumulent.
Il ne doit pas tre trop grand pour que les calculs conservent une prcision susante.
Toute la dicult consiste bien sr choisir le pas pour que la valeur y (T ) puisse tre
connue avec une prcision prxe.
Les algorithmes les plus performants de ce point de vue ralisent un contrle du pas
chaque tape, dans le but
 de rester dans une marge de prcision voulue
 mais aussi d'adapter le pas aux irrgularits ventuelles de la solution : sur des
intervalles o la solution varie peu, on pourra avancer grands pas. Quand les
variations deviennent plus raides, on diminue le pas.
Un contrle optimal du pas dans un problme donn est toujours dicile dterminer
et, souvent, coteux mettre en oeuvre. Nous nous contenterons de donner ici quelques
ides simples pouvant tre utilises en premire approximation.
Etant donn une mthode un pas de type (5.35), il s'agit chaque tape de choisir
un pas h tel que l'erreur y (tn + h) yn h (tn , yn , h) reste en de d'une certaine
tolrance. Supposons avoir agi pour le mieux aux tapes prcdentes : on ne peut plus
alors agir sur yn et ( moins d'esprer des erreurs de compensation qui sont de toute
faon imprvisibles en gnral), on peut raisonner en supposant que yn est connue de
faon exacte et contrler alors l'erreur locale de consistance :

n (h) = y (tn + h) (y (tn ) + hn (tn , y (tn ) , hn )) .


(Un raisonnement fait de faon globale conduit en fait la mme conclusion : contrler
l'erreur locale de consistance). Ainsi, on pourra s'imposer que

|n (h)| h

(5.46)

o est une certaine tolrance. L'erreur globale de discrtisation sera alors majore
par un facteur de (cf. (5.22)) (reste bien sr l'valuation de ce facteur de type eLT ,
dicult toujours prsente).
Tout le problme est d'valuer l'erreur n an d'en dduire une valeur optimale de h
satisfaisant (5.46). Les diverses mthodes de contrle du pas dirent essentiellement
sur la technique d'valuation de n .
L'une d'elles consiste, tant donn un pas h provenant par exemple de l'tape prcdente
calculer 2 valeurs approches de y (tn + h), l'une y (tn + h) l'aide d'une itration de
pas h, l'autre yb (tn + h) avec deux itrations de pas h2 : l'erreur n est alors value

108

CHAPITRE 5.

RSOLUTION NUMRIQUE D'QUATIONS DIFFRENTIELLES

l'aide d'un procd d'extrapolation la limite de Richardson. En eet, si la mthode


est d'ordre p ou plus exactement si l'erreur locale est d'ordre p + 1, on a en supposant
yn = y (tn ) (cf. remarque plus loin) :
(
)
y (tn + h) = y (tn + h) Cn hp+1 + O hp+2
(5.47)
o en gnral Cn = 0 et aussi

yb (tn + h) = y (tn + h) Cn

( )p+1
(
)
h
+ O hp+2 .
2

(5.48)

On le vrie aisment pour la mthode d'Euler explicite : dans ce cas p = 1 et Cn =


1
2 y (tn ) . Ngligeant les termes d'ordre p + 2 dans (5.47), on a

n (h) |Cn |hp+1 .

(5.49)

Mais par dirence entre (5.48) et (5.47), on obtient aussi :


( )p+1
( p+1
)
h
yb (tn + h) y (tn + h) Cn
2
1
2
d'o une valuation de l'erreur n (h) en fonction des valeurs calcules yb (tn + h) et
y (tn + h) soit
( )


y (tn + h) y (tn + h)|
n h |b
(on note Dn (h) cette expression).


2
2p+1 1
D'o une premire mthode de contrle du pas : on se donne une tolrance > 0 ;

tant donn un pas de dpart h

on calcule y (tn + h) en une itration de pas h

on calcule yb (tn + h) en deux itrations de pas h/2


si Dn (h) > h, on recommence avec h remplac par h/2
si Dn (h) < h,on accepte yb (tn + h) comme valeur approche de y (tn + h)


avec le mme pas h si h < Dn (h) < h, o est une

tolrance infrieure (par exemple = /2p+1 )


et on continue :


avec le pas 2h si Dn (h) < h.
(5.50)

Remarque 5.9

L'introduction de permet d'allonger le pas pour ne pas eectuer


trop d'itrations inutiles.
Un contrle plus sophistiqu consiste, au lieu de diviser et multiplier par 2, prendre
comme nouveau pas le pas optimal h ralisant l'galit

( )
p+1
h = n h Cn h
2p+1
soit

h=

h
2

h
2Dn (h)

( )p+1
h
Dn (h)
h

) p1
.

On contrle alors comme suit : partant du pas h de l'tape prcdente


 si h 2h, on continue avec yb (tn + h) et le mme pas h
 si h >> 2h, on recommence avec h remplac par 2h
(
)
 si h << 2h, on continue avec yb (tn + h) et le pas h = min 2h, h0 o h0 est une
limite suprieure de scurit pour le pas.

5.5.

109

MTHODES PAS MULTIPLES

Remarque 5.10

 Dans le raisonnement ci-dessus, nous avons suppos yn = y (tn ) ce


qui bien sr n'est pas ralis en pratique. On peut cependant justier les conclusions
ci-dessus. On pourra par exemple les vrier directement sur la mthode d'Euler.
 S'il s'avre ncessaire de prendre des h trop petits ou si on se heurte plusieurs
checs successifs, la situation est anormale et il faut procder des modications
(ordre insusant par rapport la prcision demande, etc...). On veillera ce que
l'ordre de grandeur de la prcision requise soit compatible avec l'ordre de la mthode
et la prcision de la machine.
5.5

Mthodes pas multiples

Les mthodes un pas utilisent seulement la valeur approche yn de y (tn ) pour calculer
une valeur approche yn+1 de y (tn+1 ) . Les mthodes pas multiples utilisent aussi
l'information obtenue aux temps prcdents tn1 , tn2 , ..., tnr .
Nous dcrirons ici les mthodes d'Adams qui consistent remplacer f (t, y (t)) par un
polynme d'interpolation aux points tnr , tnr+1 , ..., tn1 , tn , (tn+1 ), dans le calcul de

tn+1

y (tn+1 ) = y (tn ) +

f (t, y (t)) dt.


tn

Si Pn est le polynme en question, les valeurs approches yn seront obtenues par l'quation approche
tn+1
yn+1 = yn +
Pn (t) dt.
(5.51)
tn

Les formules seront implicites ou explicites selon que tn+1 est l'un des points d'interpolation ou non.

5.5.1 Mthodes d'Adams-Bashforth r + 1 pas


On suppose connues des valeurs approches yn de y (tn ) et fn , fn1 , ..., fnr de f (t, y (t))
respectivement aux points tn , tn1 , ..., tnr . Le polynme Pn est choisi comme le polynme de degr infrieur ou gal r tel que

Pn (tni ) = fni

i = 0, ..., r.

Pour t [tn , tn+1 ] , tn+1 = tn + h. Posons t = tn + sh o s [0, 1]. Alors comme il a


t tabli dans le chapitre d'interpolation (cf. 3.9),

Pn (tn + sh) =

)
r (

s+i1
i fn .
i

(5.52)

i=0

Ceci est la formule de Newton rtrograde obtenue l'aide des dirences nies rtrograde
{
fk
si i = 0
i
fk =
i1 fk i1 fk1 si i 1
(
)
s
et
est le coecient du binme gnralis aux valeurs non entires soit
k

s
k

)
=

s (s 1) ... (s k + 1)
.
1.2...k

110

CHAPITRE 5.

RSOLUTION NUMRIQUE D'QUATIONS DIFFRENTIELLES

On obtient yn+1 l'aide de (5.51) et (5.52), soit, en eectuant le changement de variables


t = tn + sh :
)
1(
r

s+i1
i
fn .
h ds.
(5.53)
yn+1 = yn +
i
0
i=0

Notons

i =
0

s+i1
i

ds =
0

s (s + 1) ... (s + i 1)
ds.
i!

On montre facilement que les i vrient la relation

0 = 1, 1 =

0
1
i1
+
+ ... +
+ i
i+1
i
2

ce qui permet de les calculer par rcurrence. Il est important de noter qu'ils ne dpendent pas de r, ce qui est utile lorsqu'on veut faire varier l'ordre r dans un mme
calcul. On obtient ainsi

0 = 1, 1 =

1
5
3
251
95
, 2 =
, 3 = , 4 =
, 5 =
.
2
12
8
720
288

Dans la pratique, on prfre expliciter la relation (5.53) directement en fonction des


valeurs fni d'o une formule du type

yn+1 = yn + h

bi,r fni .

i=0

A l'aide de la dnition des dirences divises, on vrie


( )
r
r
i
br,r = (1) r , bi,r = bi,r1 + (1)
r , 0 i r.
i
On obtient ainsi le tableau suivant :

b0,r
r=0

r=1

3
2
23
12
55
24
1901
720
4277
1440
199441
60840

r=2
r=3
r=4
r=5
r=6

b1,r

b2,r

b3,r

b4,r

b5,r

b6,r

r
1

12
43
59
24
1387
360
7923
1440
18817
2520

5
12
37
24
109
30
4991
720
238783
20160

38
637
360
3649
720
10979
945

251
720
959
480
139313
20160

95
288
5783
2520

19807
60840

1
2
5
12
3
8
251
720
95
288
19807
60840

On utilise la mthode d'Adams-Bashforth 4 pas, le plus souvent, soit :

yn+1 = yn +

h
(55fn 59fn1 + 37fn2 9fn3 ) .
24

(5.54)

On montre que cette mthode est d'ordre 4 (ie. l'erreur globale de consistance est
en h4 ) et qu'elle est stable (en un sens analogue (5.17)) et ce sous des hypothses
naturelles de rgularit de f . Cependant, les constantes de stabilit sont souvent grandes
ce qui fait qu'on constate souvent une instabilit numrique analogue celle que nous
avons soulign comme tant frquente dans la mthode d'Euler explicite (cf. paragraphe
5.2.1). Comme toujours, pour pallier cet inconvnient, on prfre utiliser des mthodes
implicites.

5.5.

111

MTHODES PAS MULTIPLES

5.5.2 Mthodes d'Adams-Moulton r + 1 pas


On interpole la fonction f (t, y (t)) aux points tn+1 , tn , ..., tnr par le polynme Qn
de degr infrieur ou gal r + 1 tel que
{
Qn (tni ) = fni i = 0, 1, ..., r
Qn (tn+1 ) = fn+1 (valeur encore inconnue).
D'aprs la formule de Newton rgressive, on a
)
r+1 (

s+i1
Qn (tn+1 + sh) =
i fn+1 .
i
i=0

On obtient alors yn+1 l'aide de

yn+1 = yn + h

r+1

i i fn+1

(5.55)

i=0

i =

0
1

s (s + 1) ... (s + i 1)
ds, i 1, 0 = 1.
i!

On vrie

i = i i1 , i 1.

Comme prcdemment, on prfre crire (5.55) sous la forme

yn+1 = yn + h

bi,r fni

i=1

o, comme on le vrie aisment, les

br,r

= (1)

r+1

r+1
,

bi,r

bi,r
=

satisfont

bi,r1

+ (1)

(
i+1

r+1
i+1

r+1
.

On obtient le tableau

r=0
r=1
r=2
r=3
r=4
r=5
r=6

b1,r

b0,r

b1,r

1
2
5
12
9
24
251
720
95
288
19087
60480
36799
120960

1
2
2
3
19
24
323
360
1427
1440
2713
2520
139849
120960

1
12
5
24
11
30
133
240
15487
20160
121797
120960

b2,r

b3,r

b4,r

b5,r

b6,r

b7,r
1
12

1
24
53
360
241
720
586
945
123133
120960

1
12
19
720
173
1440
6737
20160
88545
120960

1
24
3
160
263
2520
41499
120960

19
720
863
60480
11351
120960

3
160
275
24192

863
60480

on utilise beaucoup la formule d'Adams-Moulton 3 pas soit

h
(9fn+1 + 19fn 5fn1 + fn2 ) .
(5.56)
24
On montre, sous des hypothses de rgularit, que cette mthode est d'ordre 4 et stable.
Les coecients de stabilit sont bien meilleurs que pour la formule explicite d'ordre
4 (5.54). Bien sr, il faut payer le prix car (5.56) dnit yn+1 de faon implicite
puisque fn+1 = f (tn+1 , yn+1 ) . Il faut donc rsoudre un systme non linaire. On peut
utiliser les mthodes gnrales de rsolution de tels systmes ou l'ide gnrale que nous
dveloppons dans le paragraphe suivant.
yn+1 = yn +

112

CHAPITRE 5.

RSOLUTION NUMRIQUE D'QUATIONS DIFFRENTIELLES

5.5.3 Mthode de prdicteur-correcteur


Pour rsoudre (5.56) on peut utiliser une mthode d'approximations successives (ou de
point xe) consistant construire la suite y 0 , y 1 , y 2 , ..., y p dnie par
{ p+1
h
y
= yn + 24
(9f (tn+1 , y p ) + 19fn 5fn1 + fn2 )
(5.57)
y 0 choisir.
On peut mener la suite jusqu' convergence (en gnral y p converge vers yn+1 quand
p tend vers l'inni). Le plus souvent, on se contente de quelques itrations, voire 1 ou
2. D'autre part, la valeur initiale y 0 est souvent obtenue l'aide d'un pas d'une mthode explicite de mme ordre : il s'agit alors d'une mthode de prdicteur-correcteur :
l'valuation de y 0 correspond une prdiction ; on corrige ensuite cette valeur l'aide
d'une ou deux itrations de (5.57). Ainsi, le schma suivant est souvent utilis :

Prdicteur : Formule d'Adams-Bashforth d'ordre 4

y 0 = yn + h (55fn 59fn1 + 37fn2 9fn3 )


24

Correcteur : une ou deux itrations de la mthode d'Adams-Moulton d'ordre 4

p+1
h
y
= yn + 24
(9f (tn+1 , y p ) + 19fn 5fn1 + fn2 ) , p = 0, 1.
(5.58)
On montre que la mthode (5.58) est aussi d'ordre 4 ; sa stabilit est nettement meilleure
que celle d'Adams-Bashforth ; d'autre part, la rsolution du systme non linaire de la
formule d'Adams-Moulton est faite de faon explicite.

Remarque 5.11 cette technique de prdicteur-correcteur peut-tre bien sr utilise


dans de nombreuses autres situations. Ainsi, sans aller jusqu' l'ordre 4, on peut l'appliquer aux mthodes d'Euler et Crank-Nicholson :
{
prdicteur : y 0 = yn + hfn
(5.59)
correcteur : y p+1 = yn + h2 (f (tn+1 , y p ) + fn ) , p = 0, 1.
Il existe d'autres prdicteurs-correcteurs multipas : citons les formules de Milne :
{
prdicteur : y 0 = yn3 + 4h
3 (2fn fn1 + 2fn2 )
(5.60)
p+1
correcteur : y
= yn1 + h3 (f (tn+1 , y p ) + 4fn + fn1 ) .
Cette mthode correspond des intgrations de tnr tn+1 au lieu de tn tn+1 de
l'quation direntielle. Ici, l'intgration est faite avec une mthode de Simpson. On a
une mthode d'ordre 4, mais gnralement moins stable que celle d'Adams.
5.6

Comparaison des mthodes

Les mthodes les plus couramment utilises sont celles de Runge-Kutta d'ordre 4 et
les mthodes de prdicteur-correcteur d'Adams d'ordre 4. Les codes les plus modernes
utilisent de plus un contrle du pas ainsi qu'un contrle de l'ordre chaque tape,
adaptant ainsi le pas et l'ordre la prcision requise et aux irrgularits ventuelles
de la solution. Des algorithmes multiples assez sophistiqus utilisant ces ides ont t
dvelopps en particulier par Gear et fournissent actuellement les mthodes les plus
performantes. Signalons que, pour des problmes mal conditionns (dits raides), on
doit utiliser des mthodes moins performantes mais plus stables : les plus ecaces
sont celles des direntiations rtrogrades que nous ne dvelopperons pas ici. Elles sont

5.7.

APPLICATIONS DES PROBLMES AUX LIMITES

videmment compltement implicites (les itrations ventuelles sont menes jusqu' la


convergence).
En ce qui concerne un choix entre les mthodes de Runge-Kutta et celles d'Adams,
signalons les avantages et les inconvnients de chacune des mthodes :
 Runge-Kutta : c'est une mthode explicite, relativement stable et prcise, facile
implmenter et aisment adaptable un pas variable (donc contrle de pas ais).
De plus, elle est self-starting, c'est--dire qu'une seule valeur y 0 y (0) sut pour
l'initier.
Elle prsente cependant deux dsavantages importants : chaque itration requiert 4
valuations de fonctions (pour atteindre l'ordre 4). De plus, on n'a aucun contrle
eectif de l'erreur locale ce qui rend dicile un bon contrle du pas. On peut pallier ce
dernier point en couplant deux mthodes, mais ceci augmente encore le cot.
 Adams : pour une prcision d'ordre 4, une seule valuation de fonction est ncessaire
chaque pas dans la mthode explicite, ce qui est bien sr remarquable. On perd en
stabilit par rapport Runge-Kutta, mais on peut stabiliser en utilisant un correcteur. Ceci augmente le cot mais permet aussi, par comparaison, une estimation de
l'erreur locale.
Les dicults viennent d'une part de l'initiation : pour les mthodes 4 pas, 4 valeurs
sont ncessaires pour initier la mthodes. On peut les obtenir par une mthode de
Runge-Kutta applique plusieurs fois. on peut aussi prendre une mthode nombre de
pas variables en commenant par un pas et montant progressivement 4. Il faut alors
faire un contrle srieux de l'erreur.
Un autre dsavantage est que le fait de changer de pas apporte un surcot important
par la ncessit de recalculer les coecients de la formule. Ceux que nous avons donns
(les bi,r ) correcpondent un pas constant. Ils sont extrmement plus compliqus si les
tn+1 , tn , tn1 , ..., tnr correspondent des accroissements variables. On prfre alors
modier l'ordre (i.e. le nombre de pas) ce qui donne un surcot de calcul trs rduit.
On prend alors le risque d'augmenter l'instabilit...

Conclusion : L'criture d'un bon programme de rsolution de systmes direntiels


passe par la bonne comprhension des algorithmes lmentaires dvelopps dans les paragraphes prcdents. On peut partir de l crire des algorithmes performants adapts
aux situations particulires des utilisateurs en retenant les ides gnrales suivantes :
 les mthodes implicites sont plus stables mais plus coteuses que les explicites.
 augmenter l'ordre augmente aussi l'instabilit.
 un contrle du pas est gnralement ncessaire, mais augmente considrablement le
cot du calcul.
 les problmes raides (mal conditionns) doivent tre abords avec beaucoup de circonspection et des algorithmes spciques.
5.7

Applications des problmes aux limites

Soit rsoudre par exemple :


{
y = y 3 + y + 1 sur (0, 1)
y (0) = a, y (1) = b, a et b donns.
Il ne s'agit pas ici d'une quation direntielle ordinaire puisque la solution ne dpend
plus seulement de l'tat initial en t = 0, mais aussi de y (1) qui est donn. Il s'agit
d'un problme aux limites, donc de nature tout fait dirente. On peut cependant
le rsoudre l'aide des techniques prcdentes couples avec une mthode de tir.

113

114

CHAPITRE 5.

RSOLUTION NUMRIQUE D'QUATIONS DIFFRENTIELLES

Commenons par rsoudre le systme direntiel ordinaire



y = y3 + y + 1, t > 0
y (0) = a

y (0) = paramtre.

)
y (t)
comme il a t
y (t)
vu en dbut de chapitre. On peut donc le rsoudre l'aide des mthodes dcrites plus
haut. On essaie alors de dterminer le paramtre pour que y (1) = b. La Figure 5.3

Ce problme entre dans le cadre prcdent en posant U (t) =

0.8
y (t)
2

y(1)=0.6

0.6
y (t)

0.4

0.2

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

Figure 5.3  La mthode du tir pour rsoudre un problme aux limites


illustre bien la terminologie mthode de tir : on essaie de viser assez juste pour que
y (1) = b.
La valeur y (1) est une fonction non linaire de et le problme consiste rsoudre
l'quation non linaire y (1) b = 0. Partant de deux valeurs initiales 0 , 1 , on peut
alors lui appliquer la mthode de la scante, soit

n+1 = n (yn (1) b)

n n1
.
yn (1) yn1 (1)

Evidemment, chaque calcul de y (1) ncessite la rsolution de l'quation direntielle


le long de (0, 1) . Cette mthode s'avre donc trs vite coteuse. Elle peut cependant
tre convenable dans certaines situations et l'ide est retenir.
5.8

Schma de Newmark pour les problmes d'ordre

De nombreux problmes de la physique des phnomnes vibratoires ncessitent la rsolution d'quations direntielles d'ordre 2 du type

y (t) = (t, y (t) , y (t)) t > 0
y (0) = y0
(5.61)

y (0) = y1

5.8.

115

SCHMA DE NEWMARK POUR LES PROBLMES D'ORDRE 2

o y : [0, T ] RN est la fonction inconnue, : [0, T ] RN RN RN est une


fonction rgulire (parfois non linaire) et y0 , y1 RN dcrivent l'tat initial. Ainsi la
discrtisation par lments nis de l'quation des ondes

2u
u
u = g, u (0) = u0 ,
(0) = 0
2
t
t
conduit une quation du type
{
2
M ddt2 (t) + R (t) = h (t)
(0) = 0 , d
dt (0) = 1
o est un vecteur de RN reprsentant la solution u discrtise et M et R sont des
matrices d'ordre N . Si M est inversible, cette quation rentre dans le cadre (5.61).
Comme nous l'avons vu en dbut de chapitre, et comme il vient juste d'tre rappel
au paragraphe prcdent, le systme (5.61) peut s'crire comme un systme d'ordre 1
en dimension 2N . Nous dcrirons ici une autre mthode tenant mieux compte de la
particularit de (5.61). Nous la dcrirons en supposant N = 1, son extension au cas
de systmes tant vidente. Posons tn+1 = tn + h. Si la solution y (t) de (5.61) est
susamment rgulire, l'aide de la formule de Taylor, on montre que
(
(
)
)
( )
1
y (tn+1 ) = y (tn ) + hy (tn ) + h2 y (tn+1 ) +
y (tn ) + O h3
(5.62)
2
( )
y (tn+1 ) = y (tn ) + h (y (tn+1 ) + (1 ) y (tn )) + O h2 ,
(5.63)
ce pour tout choix des paramtres et . On obtient le schma de Newmark en remplaant les drives par des dirences nies ci-dessus soit
(
(
) )
1
yn+1 = yn + hzn + h2 n+1 +
n
(5.64)
2

zn+1 = zn + h (n+1 + (1 ) n )

(5.65)

o n = (tn , yn , zn ) .
Notons que ce schma est implicite et ncessite la rsolution d'un systme (qui peut
tre non linaire) pour obtenir (yn+1 , zn+1 ) a partir de (yn , zn ) . Il se simplie lorsque
ne dpend pas de y , car on peut alors liminer zn dans (5.64), (5.65) en crivant

yn+2 2yn+1 + yn

(yn+2 yn+1 ) (yn+1 yn )


(
(
)
(
) )
1
1
2
= h (zn+1 zn ) + h n+2 +
2 n+1
n ,
2
2

c'est--dire

(
(
)
(
) )
1
1
yn+2 2yn+1 + yn = h2 n+2 +
2 + n+1 +
+ n
2
2

(5.66)

Ce schma est explicite si = 0, ce pour tout .


L'erreur de consistance dans (5.64), (5.65) est value en compltant les dveloppements
de Taylor (5.62), ((5.63).
) On( obtient
) facilement ( )
 dans (5.62), O h3 = h3 16 y (3) (tn ) + O h4
( )
(
)
( )
 dans (5.63), O h2 = h2 12 y (3) (tn ) + O h3 .

116

CHAPITRE 5.

RSOLUTION NUMRIQUE D'QUATIONS DIFFRENTIELLES

L'erreur globale de consistance sera donc en h2 si = 12 . La stabilit du schma peut


tre analyse l'aide de l'quation direntielle modle

y + 2 y = 0, > 0.
Une condition ncessaire de stabilit est alors que

et

5.9

ou

1
2

<

et

h <

2
.
2

Exercices du chapitre 5

Exercice 5.1
Exercice 5.2

Rsoudre le systme (5.4) quand la matrice A est diagonalisable.


Vrier que les problmes

y = y 2 y (0) = y0

(5.67)

y = y 3

(5.68)

y (0) = y0

ont une solution unique sur [0, [.

Exercice 5.3

Soit y (t) = Ay (t) o A est une matrice carre N N diagonalisable


de valeurs propres 0 < 1 2 ... N .
Montrer que si N h < 2, la mthode d'Euler est stable au sens que yn reste born pour
n grand.

Exercice 5.4

Pour rsoudre numriquement y = y , on dcide d'approcher y (tn )


par les dirences nies centres

y (tn )
Ceci conduit au schma

y (tn+1 ) y (tn1 )
, h = tn+1 tn1 , n.
2h
yn+1 = yn1 2hyn .

Montrer que ce schma est toujours instable.

Exercice 5.5

Pour rsoudre l'quation direntielle


{
y (t) = f (t, y(t))
y(0) = y0

(avec f lipschitzienne par rapport la deuxime variable), on envisage une mthode


pas multiple :
yn+1 = yn + hn (0 fn2 + 1 fn1 + 2 fn .
Dterminer les coecients 0 , 1 , 2 pour que la mthode soit d'ordre maximum. Est-elle
alors stable, consistante, convergente ?

Exercice 5.6

On considre l'quation direntielle


{
y (t) = ety(t)
y(0) = 0 .

Montrer l'existence et l'unicit locale, puis globale sur R de la solution. En dduire que
celle-ci est impaire. Montrer qu'elle admet une limite quand t +.

Chapitre 6

Rsolution de systmes linaires


Les deux problmes fondamentaux de l'analyse numrique matricielle sont
 la rsolution de systmes linaires, i.e. la recherche de vecteurs X solutions de

AX = b
o A est une matrice -le plus souvent carre- coecients rels (ou complexes) et b
un vecteur donn
 le calcul de valeurs propres et de vecteurs propres d'une matrice, i.e. la recherche des
scalaires (rels ou complexes) et des vecteurs non nuls X tels que

AX = X,
A matrice carre donne.
Nous traitons dans ce chapitre le premier type de problmes, le calcul de valeurs propres
et vecteurs propres tant tudi au chapitre 7.
6.1

Quelques remarques gnrales

6.1.1 Origines des problmes


Elles sont trs varies et apparaissent dj en plusieurs endroits dans les autres chapitres
de ce cours. Citons quelques-uns des problmes conduisant la rsolution de systmes
linaires :
 Rsolution d'quations aux drives partielles (ceci en constitue une source trs importante. Voir quelques exemples au paragraphe 6.4.4)
 Approximation au sens des moindres carrs
 Calcul de fonctions splines
 Programmation linaire (mthode du simplexe, d'Uzawa)
 Algorithmes d'optimisation non linaire
 etc...

6.1.2 Mthodes utilises


Elles sont de deux types
 les mthodes directes : celles o on obtient la valeur exacte de la solution (aux erreurs
d'arrondi prs) en un nombre ni d'oprations,

117

118

CHAPITRE 6.

RSOLUTION DE SYSTMES LINAIRES

 les mthodes itratives : elles consistent construire une suite de vecteurs X k convergeant vers la solution X cherche. On s'arrte bien sr au bout d'un nombre ni n
d'itrations choisi pour que X n soit susamment voisin de X .

Remarque 6.1 On n'utilise jamais les formules de Cramer car elles ncessitent le calcul de dterminants qui requirent un nombre trop important d'oprations lmentaires.
Remarque 6.2

On ne calcule pas A1 pour rsoudre AX = b. Numriquement, c'est


le contraire qui se produit : le calcul de A1 , ainsi d'ailleurs que celui de det A, sont
des sous-produits des mthodes de rsolution de systmes. Ainsi, le calcul de A1
s'eectuera en rsolvant successivement les systmes

{AXi = ei , i = 1, ..., N }
o ei est le ime vecteur de la base canonique de RN . La ime colonne de A1 est
donne par Xi comme on le vrie aisment.

6.1.3 Structure de la matrice


La structure de la matrice a une incidence fondamentale sur la dicult de la rsolution
et sur le choix de la mthode

6.1.3.1 Cas d'une matrice diagonale


Tous les lments sont nuls sauf ceux de

a1

0
A=
.
..
0

la diagonale principale :

0
0

.
..
..

.
. ..

..
..
.
. 0
0
aN

La rsolution de AX = b est alors immdiate. Si X = (x1 , ..., xN ) et b = (b1 , ..., bN ), on


a
bi
xi = , i = 1, ..., N
ai
ceci en supposant bien sr que tous les ai sont non nuls.

6.1.3.2 Matrice triangulaire suprieure (ou infrieure)


Tous les lments au-dessous (ou au-dessus) de la

a11 a12

..
0
.
A=
.
.
.. ...
..
0
0

diagonale sont nuls

a1N

..

..

.
aNN

Dans ce cas on utilisera toujours une mthode directe de rsolution par remonte soit :

a11 x1 + a12 x2 + ... + a1N xN = b1

a22 x2 + ... + a2N xN = b2

........................................
(6.1)

a
x
+
a
x
=
b

N
1,
N
1
N
1
N
1,
N
N
N
1

aNN xN = bN

6.1.

119

QUELQUES REMARQUES GNRALES

On commence par rsoudre la dernire quation ; on substitue le rsultat obtenu pour


xN dans la prcdente, ce qui permet de calculer xN1 , etc...

xN = bN /aNN

xN1 = (bN1 aN1,N xN ) /aN1,N1


(6.2)
...............................................................

xi = (bi ai,N xN ai,N1 xN1 ... ai,i+1 xi+1 ) /aii


Il est intressant de compter dj ici le nombre d'oprations lmentaires (i.e. addition,
multiplication, division) ncessaires pour mener bien le calcul de tous les xi . Chaque
xi ncessite (une fois xi+1 , xi+2 , ..., xN calculs) 1 division, N i multiplications, N i
additions.
1
N 1
N (N 1)
Puisque
, il faut au total N divisions, N (N21)
i=N (N i) =
j=0 j =
2
multiplications, N (N21) additions, soit N 2 oprations lmentaires.
Le cas des matrices triangulaires infrieures se traite de faon identique par un procd
de descente.

6.1.3.3 Autres cas


Dans le cas gnral, les mthodes de rsolution seront d'autant plus simples que les
deux phnomnes suivants seront plus importants :
 la matrice est creuse (c'est--dire a beaucoup de zros)
 les termes non nuls de la matrice sont localiss et en particulier sont rassembls
autour de la diagonale. Ceci conduit la notion de matrice-bande.
Exemples : matrice tridiagonale

A=

0
.
..


0
.. . .
.
.
0

0
..
.

Tous les lments sont nuls sauf les ai,j pour lesquels i 1 j i + 1. Nous verrons
plus loin une mthode directe de rsolution du systme avec un nombre d'oprations
8N 6, donc trs faible.
matrice pentadiagonale :

A=

0
..
.

..
.

0
matrice diagonale par blocs

A=

0
.
..

0
..
.

A11

A22
A33
A44

120

CHAPITRE 6.

RSOLUTION DE SYSTMES LINAIRES

Dans ce cas le systme associ se rduit plusieurs petits systmes dcoupls de


dimension rduite (mais pas ncessairement gale), soit

{Aii Xi = bi , i = 1, 2, 3, 4}
o X = (X1 , X2 , X3 , X4 ) , b = (b1 , b2 , b3 , b4 ) .
On dnit de faon analogue les matrices tridiagonales par blocs, auxquelles on tend
les techniques dveloppes pour les matrices tridiagonales au sens ci-dessus : celles-ci
sont alors appeles tridiagonales par points et apparaissent comme des cas particuliers
des tridiagonales par blocs.

6.1.3.4 Matrices symtriques


Une autre proprit de la matrice peut jouer un rle important, c'est la symtrie. On
dit qu'une matrice A est symtrique si elle coincide avec sa transpose, c'est--dire si

aij = aji

i, j.

Un sous-ensemble de ces matrices donnera lieu une tude particulire, c'est celui des
matrices symtriques dnies positives. On dit qu'une matrice symtrique est positive
si
t
X RN
XAX 0
(X tXAX est une forme quadratique). Elle est de plus dnie positive si tXAX
n'est nul que si [X est nul. ]
2 1
Exemple : A =
est symtrique dnie positive car :
1 2
[
][
]
[
]
[
]
[
] 2x y
2 1
x
x y
x y
=
1 2
y
x 2y
( 2
)
= 2 x xy + y 2
[(
]
)2
1
3 2
= 2 x y + y > 0 si (x, y) = (0, 0) .
2
4
[
]
1 1
La matrice
est symtrique positive, non dnie car
1 1
[
][
]
[
]
[
]
[
]
1 1
x
x y
x y
x y
=
1 1
y
x y
2

= x2 2xy + y 2 = (x y) 0
2

mais (x y) s'annule si x = y.
Des mthodes particulires seront dveloppes pour ces matrices qui apparaissent trs
souvent dans la discrtisation de problmes variationnels (minimisation de fonctionnelles). Des exemples ont dj t donns dans les problmes de minimisation au sens
des moindres carrs (cf le paragraphe sur l'ajustement linaire).

6.1.4 Stockage des matrices


Le stockage de tous les lments d'une matrice d'ordre N requiert bien sr en mmoire
le stockage de N 2 nombres rels. La discrtisation de certains problmes, en particulier
les quations aux drives partielles en dimension 2 ou 3 conduisent rapidement des
matrices d'ordre N gal plusieurs millions ; d'o la ncessit d'optimiser le stockage
des matrices. Indiquons ici quelques techniques souvent utilises.

6.1.

121

QUELQUES REMARQUES GNRALES

 Si la matrice est symtrique, on ne stockera bien sr que les lments diagonaux et


surdiagonaux soit au total N (N2+1) si la dimension est N .
 De trs grands systmes (plusieurs millions d'quations) peuvent tre facilement traits si les matrices sont creuses (sparse en anglais) comme c'est souvent le cas pour
celles provenant de la discrtisation des quations aux drives partielles. On obtient
alors le plus souvent des matrices-bandes dont la largeur de bande est petite devant
la dimension :

a11

a21

..
.

ab1
A=

.
..

.
..
0

a12

a1b

a22
..
.

a2b
..
.

a2,b+1
..
.

ab2
..
.

..
.
..
.
..
.
0

abb
..
.

ab,b+1
..
.

..
..

..
..

..

..

.
aN,Nb+1

..
.
..
.
..
.
..
.
..
.
..
.

0
..
.

0
..
.
..
.
..
.
..
.
aNN

avec b << N (par exemple b = 100 et N = 10000). On essaiera dans la mesure du


possible de ne stocker que les lments non nuls. On peut par exemple utiliser un
tableau redress comme suit :

M =

0
ab1
..
.
..
.
..
.

ab2

aN,Nb+1

a21

aNN

a11
a22

a12
a23

a1b
a2,b+1
ab,2b1

0
..
.
..
.
0
{

tableau de dimension (2b 1) N << N si b << N, aIJ = mij si


2

i=I
.
j =J I +b

Cette mthode conduit cependant mmoriser b (b 1) valeurs nulles inutiles. On lui


prfre plutt la mthode suivante :
 matrice prol (ou mthode de la ligne de ciel) : elle consiste tracer une ligne
ferme contenant les lments non nuls de la matrice et laissant l'extrieur le plus
de zros possibles.
Commenons par le cas d'une matrice symtrique.

A=

7
2
0
0
6
0

.
11
1
0
3
0

.
.
.
.
3
.
4 1
0 2
0 12

.
.
.
.
.
.
.
.
3 .
0 7

122

CHAPITRE 6.

1
2 3

4 5

6 7

8 9 10 11 12
13 14

RSOLUTION DE SYSTMES LINAIRES

tableau des positions

15

Le stockage de A est ralis l'aide de deux tableaux M et P o M contient les


lments de la matrice l'intrieur de la ligne de prol et P est un tableau de pointeurs
de dimension N + 1 avec P (1) = 0, P (i + 1) = adresse dans M du ime lment
diagonal de A. Ces deux tableaux caractrisent A compte-tenu que les lments de A
sont rangs ligne par ligne et pour une ligne donne dans l'ordre croissant des colonnes,
ce qui donne dans l'exemple ci-dessus :

1 2 3
4 5 6
7
8 9 10
M = (7 2 11 1 3 4
1 6 3 0
P = (0 1 3 5 7 12 15)

11
2

12 13 14 15
3 12 0
7)

la donne de M et P permet de retrouver A l'aide de la formule suivante qu'on obtient


de faon lmentaire :
{
i = 1, ..., N, j = i + 1 (P (i + 1) P (i))
aij = M (P (i + 1) + j i) .
On utilise le mme principe pour une matrice non symtrique, mais le prol sera toujours choisi symtrique.

7 3
0
0
0
0
2 11 1 0
4
0

0 1
3
0
0
0

A=
0 0
4 1 2 3

6 3
0
2 3 1
0 0
0
12
0 7

1 3
.
.
15 .
2 4
6
.
16 .

.
5
7
9
17
.

tableau des positions


.
.
8 10 18 22

11 12 13 14 19 23
.
.
.
20 21 24
La marice A est stocke dans le tableau M suivant la rgle du tableau des positions
ci-dessus : c'est--dire de i = 1 N on parcourt la ligne i jusqu' l'lment diagonal
(exclu), puis on descend la colonne i jusqu' l'lment diagonal (inclus). Ici encore
P (i + 1) est l'adresse du ime lment diagonal. Avec l'exemple ci-dessus, on a donc :

= (7 2 3 11 1 1 3 4 0 1 6 3 0 2 0 4 0 2 3 12 0 3 1 7)

= (0 1 4 7 10 19 24)

On retrouve A l'aide de M et P par la rgle

P (i + 1) P (i) + 1
< j < i, aij = M
2
ij <i+

P (i + 1) + P (i) + 1
+ji
2

P (j + 1) P (j) + 1
, aij = M (P (j + 1) + i j) .
2

6.2.

MTHODES DIRECTES DE RSOLUTION DE

AX = B

Remarque 6.3 Le gain en mmoires occupes n'est videmment pas probant dans
les exemples numriques ci-dessus. Cependant, un calcul simple l'aide des formules
ci-dessus montre que le gain est important pour des matrices-bandes de grandes dimensions.
Si on veut se dbarrasser de tous les lments non nuls, on peut stocker la matrice sous
forme de
matrice morse : on remplace la matrice A par trois tableaux M, P1 , P2 o on a (par
exemple) la rgle suivante :
 M est le tableau des lments non nuls de A
 P1 est un tableau de pointeurs de dimension N + 1 avec P1 (1) = 0 et P1 (i + 1) =
adresse du ime coecient diagonal dans M et
 P2 est un tableau de pointeurs de dimension gale au nombre d'lments non nuls de
A avec P2 (k) = numro de la colonne de M (k) .
Si M est symtrique, la partie triangulaire infrieure (par exemple) est stocke ligne
par ligne de la gauche vers la droite. Si M est quelconque, les coecients sont rangs
ligne par ligne de gauche droite, le coecient diagonal tant le dernier.
Dans les deux exemples numriques ci-dessus, on obtient les tableaux de positions
suivants

1 . . .
.
.
2
1 . .
.
.
2 3 . .

.
.
6
4 .
5
.

. 4 5 .

.
. .
7 8 .
.
.

. . 6 7 .

.
.
9 12 10 11

8 9 . 10 11 . 13 14 . 15 17 16
. . . 12 .
13
.
.
. 18 .
19
On en dduit les tableaux M, P1 , P2 . On montre facilement que la connaissance de ces
trois tableaux donne A.
6.2

Mthodes directes de rsolution de

AX = b

6.2.1 Mthode d'limination de Gauss


Principe : il s'agit de la mthode lmentaire d'limination des variables. Rappelons-la
d'abord sur un exemple simple :

ax + by + cz = d

P1 (x, y, z) = d
a x + b y + c z = d
P2 (x, y, z) = d
soit
(S)

a x+b y+c z =d
P3 (x, y, z) = d
Supposons a = 0 : on peut alors liminer x dans les deuxime et troisime quations en
remplaant (S) par le systme quivalent

P1 = d
a
a
P2 P1 = d d
,
(S1 )
a
a

P a P = d a d
1
3
a
a
qui est de la forme

P1 = d
Q2 = d2 o
(S1 )

Q3 = d 3

Q2 = b2 y + c2 z
.
Q3 = b3 y + c3 z

123

124

CHAPITRE 6.

RSOLUTION DE SYSTMES LINAIRES

Supposons b2 = 0 : on peut alors liminer y dans la dernire quation en remplaant


(S1 ) par le systme quivalent

P1 = d

ax + by + cz = d

Q2 = d2
b2 y + c2 z = d2
(S2 )
soit

Q3 b3 Q2 = d3 b3 d2
c3 z = d3
b2
b2
qui est un systme triangulaire ; on peut le rsoudre l'aide de la mthode de remonte
signale au paragraphe prcdent.
La mthode gnrale est absolument la mme. La seule dicult technique qui se prsente est que l'un des pivots utiliss (a, b2 , c3 dans le calcul prcdent) peut tre nul
auquel cas la mthode choue. Mme s'il n'est pas nul mais trs petit, ceci peut conduire
des erreurs trs importantes. On peut s'en convaincre l'aide de l'exemple simple suivant : soit rsoudre :
{
104 x + y = 1
(S)
.
x+y =2
La solution exacte de (S) est :

x = 1, 00010... 1, y = 0, 999990... 1.
4

Prenant 10
{

comme pivot, on est ramen au systme quivalent :


{
4
104
x + y = 1)
(
( 410 x
) +y =1

.
1
1
4
(x + y) 104 10 x + y = 2 104
10 1 y = 104 2

Supposons qu'on travaille avec trois chires signicatifs : le systme est alors quivalent

{
{
104 x + y = 1
x=0
soit
!
9990y = 9990
y=1
Au contraire, un change pralable des deux quations donnera un rsultat satisfaisant
mme avec seulement trois chires signicatifs :
{
{
x+y =2
x+y =2

104 x + y = 1
104 x + y 104 (x + y) = 1 2.104
{
{
x+y =2
x=1

!
0, 999y = 0, 999
y=1
Nous allons dcrire le passage de l'tape p l'tape p + 1 dans la mthode de Gauss
pour la rsolution de
AX = b.
L'limination sucessive des variables conduit un systme quivalent

Ap X = bp
o Ap est de la forme

Ap =

ap11
0
..
.
..
.
..
.
..
.
..
.
0

ap12
ap22
..
.

..
.

..

..

appp

app+1,p
..
.
apN,p

0
..
.
0

..
..

ap1N
ap2N
..
.
..
.

app,N

p
ap+1,N

..

.
apNN

6.2.

MTHODES DIRECTES DE RSOLUTION DE

125

AX = B

Le passage l'tape suivante consiste utiliser la p-ime ligne (c'est--dire la p-ime


quation) pour faire apparatre des zros la place de api,p , i = p + 1, ...N , c'est-dire liminer la variable xp dans les N p dernires quations). Auparavant, il faut
s'assurer que appp n'est pas nul ni mme trop petit. Pour cela, on adopte gnralement
une stratgie du pivot.
 Stratgie du pivot partiel : on dtermine l'lment apip (ou l'un des lments apip ) tel
que p i N et

p
a = max ap .
ip
kp
pkN

On permute alors les lignes d'indices i et p pour amener en position de pivot l'lment
apip .
 Stratgie du pivot total : on dtermine l'lment apij (ou l'un des lments apij ) tel
que p i, j N et


p
a = max ap .
ij
l,k
pl,kN

On eectue alors des permutations de lignes et de colonnes (c'est--dire une permutation sur les inconnues) pour amener en position de pivot l'lment api,j .

Remarque 6.4

on se contente le plus souvent de la stratgie du pivot partiel l'autre


tant rserve aux systmes particulirement dlicats ou susceptibles de l'tre.
Notons que, si la matrice est inversible, la stratgie de pivot partiel donne toujours un
pivot non nul. En eet, on vrie immdiatement que

det Ap = ap11 .ap22 ...app1,p1 . det Ap


o

appp
..

Ap = .
apNp

appN

..
.
.
p
aNN

appp

det Ap = 0 = det Ap = 0 = la colonne ... n'est pas gale au vecteur nul.


apNp
Supposons maintenant qu'une stratgie du pivot ait t eectue et que (en gardant les
mmes notations pour Ap )
appp = 0.
Pour obtenir Ap+1 , on conserve la p-ime quation

appp xp + app,p+1 xp+1 + ... + app,N xN = bpp


et on remplace chaque quation

apip xp + api,p+1 xp+1 + ... + api,N xN = bpi , i = p + 1, ...N


par l'quation obtenue en lui retranchant la p-ime multiplie par apip /appp . On obtient
ainsi la nouvelle matrice Ap+1 dnie par

apip p
a
appp p,j

ap+1
i,j

= api,j

p+1

iN

(6.4)

p+1

j N.

(6.5)

(6.3)

126

CHAPITRE 6.

RSOLUTION DE SYSTMES LINAIRES

Les lignes i = 1 p ne sont pas modies et les autres coecients sont nuls. Le second
membre est transform de faon identique

bip+1
p+1

apip p
b
appp p
i N.
= bpi

(6.6)
(6.7)

Dans la pratique, on assimile le vecteur b une (N + 1)-me colonne de Ap en posant


api,N +1 := bpi . On obtient ainsi un traitement global. On peut d'ailleurs ajouter plusieurs
colonnes ce qui permet de rsoudre plusieurs systmes simultanment.
Une fois la triangulation termine, on rsout le systme par la mthode de remonte.
p

Remarque 6.5
A, savoir

comme sous-produit, on obtient un calcul simple du dterminant de

det A = a111 a222 ...aN


NN

o dpend du nombre de permutations ventuelles de lignes. On vrie en eet que le


dterminant de Ap n'est pas modi dans le procd d'limination (ou de triangulation).

6.2.1.1 Calcul du nombre d'oprations lmentaires


Pour passer de Ap Ap+1 on a
N p divisions
(N p) (N p + 1) additions
(N p) (N p + 1) multiplications, soit
N
1

(N p) =

p=1
N
1

(N p) + (N p) =

p=1

N (N 1)
divisions
2
N (N 1) (2N 1) N (N 1)
+
6
2
N3 N
multiplications et additions
3

4N 3 + 3N 2 7N
oprations lmentaires auxquelles il faut ajouter les
6
2
N ncessaires la remonte du systme. Lorsque N est grand, les termes en N 2 et N
2N 3
sont ngligeables devant N 3 et le nombre d'oprations est donc de l'ordre de
.
3
Remarque 6.6 On montre que ce nombre d'oprations est pratiquement optimal pour
la rsolution directe d'un systme linaire quelconque (c'est--dire sans aucune particularit). C'est pourquoi la mthode de Gauss est souvent utilise dans le cas des matrices
pleines.
d'o au total

Noter que dans le temps de calcul, il faut aussi tenir compte de la stratgie du pivot :
celle-ci peut prendre un temps non ngligeable dans le cas d'un pivot total.
Les formules de Cramer ncessitent le calcul de (n + 1) dterminants et n divisions.
Chaque dterminant
calcul
selon sa dnition requiert (n 1) n! multiplications, n!1
(
)
additions soit n2 1 n! + (n + 1)! (n + 1) oprations. Ainsi pour n = 10 cela donne
environ 400 000 000 oprations contre environ 900 oprations par la mthode de Gauss.

6.2.2 Drivs de la mthode de Gauss


Nous allons voir dans ce paragraphe plusieurs variantes de la mthode de Gauss (Crout,
Doolittle, Gauss-Jordan) qui auront chacune leur intrt propre.

6.2.

MTHODES DIRECTES DE RSOLUTION DE

AX = B

6.2.2.1 Factorisation LU
Supposons qu'on doive, dans un programme donn, rsoudre plusieurs fois le mme
systme linaire
AX = b
avec dirents seconds membres b, mais la mme matrice A. Si tous les seconds membres
b sont initialement connus, on peut alors eectuer simultanment sur tous les seconds
membres les manipulations intervenant dans l'limination de Gauss.
Le plus souvent, dans la pratique, il s'agit de rsoudre des systmes avec des b calculs
au cours du processus et donc inconnus initialement. Il n'est alors pas raisonnable de
recommencer la triangulation de Gauss chaque rsolution : il faut conserver ce rsultat
qui consiste en fait factoriser la matrice A sous la forme A = LU ou L est une matrice
triangulaire infrieure et U une matrice triangulaire suprieure (L pour lower, U pour
upper) : on conservera en mmoire L et U . Par la suite, tout systme

AX = b LU X = b

(S)

sera remplac par la rsolutions des deux systmes quivalents


{
LY = b
.
UX = Y
Il s'agit alors de systmes triangulaires qui se rsolvent par une mthode de descente
puis de remonte, soit un nombre d'oprations gal 2N 2 .
Montrons comment l'limination de Gauss donne une factorisation de A sous la forme
A = LU , tout au moins quand aucune stratgie du pivot n'est applique ce que nous
supposons dans ce qui suit. Notons lip = apip /appp . La matrice triangulaire obtenue en
n de mthode de Gauss est , avec les notations prcdentes :

U =

Si nous notons

a111
0
..
.
..
.
..
.
..
.
0

L=

a112
a222
..
.

l11

l21
..
.

l22

lN1

a223
..
.
..

appp
..
.

..
.
0

..

..

..
.
..
.

0
lNN

En eet le terme gnral du produit LU est par dnition


min(i,j)

p=1

p
apN

..

.
N
aNN

(noter lii = 1)

A = LU.

0
..
.

on vrie qu'on a alors

aij =

a11N
a22N
..
.
..
.

lip appj .

127

128

CHAPITRE 6.

RSOLUTION DE SYSTMES LINAIRES

D'aprs les relations (6.3) dnissant l'algorithme de Gauss, une sommation i, j xs
de p = 1 min (i, j) 1 donne

min(i,j)1

min(i,j)1
p+1
aij
=

p=1

min(i,j)1

apij

p=1

lip appj ,

p=1

soit aprs rduction des termes identiques

min(i,j)1
min(i,j)

lip appj + aij

= a1ij .

p=1

Puisque

a1ij

= aij , pour obtenir aij = aij , il sut de vrier


liq aqqj = aqij si q = min (i, j) .

(6.8)

Si i j et donc q = i, c'est immdiat puisque lii = 1. Si i > j , soit q = j, on a par


dnition de lij
ajij
lij = j
ajj
...ce qui est (6.8).
Remarque 6.7 nous avons ainsi dmontr que, si la triangulation de Gauss peut-tre
conduite sans stratgie du pivot, alors la matrice A admet une factorisation LU . On
peut trouver des conditions susantes simples pour que ceci soit possible : par exemple
lorsque A est symtrique dnie positive. Ceci sera explicit au paragraphe suivant
(factorisation de Cholesky).
Si A est inversible, nous avons vu que l'limination de Gauss est toujours possible
pourvu qu'on applique une stratgie du pivot partiel qui revient permuter des lignes
de A. Ceci prouve que si A est inversible, il existe une matrice P produit de matrices
de transposition telle que P A ait une factorisation LU . Dans la pratique, une fois les
permutations ncessaires repres on les eectue pralablement la rsolution de tout
nouveau systme associ A.

6.2.2.2 Algorithme de Crout


C'est le nom donn dans la littrature une variante de l'algorithme de Gauss : elle
suppose a priori l'existence de la dcomposition A = LU , les coecients lij , uij tant
dtermins par le systme d'quations

min(i,j)

1iN
lip upj = aij
.

1jN
p=1

Ceci est un systme de N 2 quations N 2 + N inconnues. On peut se xer N lments


par exemple
lii = 1 i = 1, ..., N ou uij = 1 j = 1, ..., N.
Le systme peut tre alors rsolu de proche en proche. Par exemple, avec le choix de
lii = 1, on est conduit :

lii = 1, i = 1, ..., N

pour r = 1, ..., N


r1

urj = arj
lrk ukj j = r, ..., N
.
(6.9)

k=1

r1

a k=1 lik ukr


lir = ir
i = r + 1, ..., N
urr

6.2.

MTHODES DIRECTES DE RSOLUTION DE

Ceci dtermine la matrice cherche

u11

l21 . . .
M =
.
..
lN1

..

u1N
..
.
..
.
uNN

AX = B

dans l'ordre

Remarque 6.8

Si les lments aij ne sont pas ncessaires ultrieurement, on peut


prsenter l'algorithme 6.9 sous forme plus compacte, en crasant les lments de A
par ceux de M au fur et mesure qu'ils ne sont plus utiliss, d'o :

Algorithme de Crout compact :

i1
De i = 2 N ai1 := aa11
De r = 2 N

de j = r N

arj := arj r1
k=1 ark akj

De i = r + 1 N

r1

air k=1 aik akr


air :=
arr

Remarque 6.9 Aucune stratgie du pivot n'tant applique, l'algorithme de Crout


peut conduire des urr nuls (ou petits) et donc une mthode incorrecte. Il faut ainsi
l'appliquer uniquement des matrices dont la dcomposition LU est assure et pour
lesquelles les |ukk | seront assez grands.
 Les algorithmes de Gauss et de Crout ne dirent que par l'ordre des oprations :
ils sont par ailleurs quivalents comme on le vrie l'aide des formules (6.3) et
r1
(6.9) :  urj = arj k=1 lrk ukj  n'est pas autre chose que arrj dans la notation (6.3).
Dans la mthode de Gauss, on eectue et on mmorise individuellement les produits
lrk ukj ; dans la mthode de Crout, chaque produit scalaire est trait comme un tout
ce qui peut tre plus avantageux lorsqu'on dispose d'un calculateur accumulant les
produits scalaires en double prcision.
 Dans l'algorithme de Crout, le dterminant est obtenu par

det A = u11 u22 ...uNN .

6.2.2.3 Cas particulier des matrices tridiagonales


Thorme 6.1

Soit

A=

b1

c1

a2

b2
..

c2
..

0
..
.
..
.
..
.
0

..

.
.

..
..

.
.
.

..
.
..
.
..
.
..
.
..
.

..
..
..
..
0

.
.
.
.

..
..
..

0
..
.
..
.
..
.

.
aN

cN 1
bN

129

130

CHAPITRE 6.

RSOLUTION DE SYSTMES LINAIRES

une matrice tridiagonale. On note Ak la matrice extraite de A en ne prenant que les k


premires lignes et premires colonnes et on suppose det Ak = 0, k = 1, ..., N . Alors
A admet la dcomposition

c1
z1

a2

A=

o
z1 =

..
..

.
.

..
..

.
.

1 z1

..

..

.
aN

..
..

.
.

..
..

.
.

cN
zN

zN 1
1

= LU

ck
c1
, zk =
, k = 2, 3, ..., N (cN = 1 par exemple)
b1
bk ak zk1

(6.10)

Le systme AX = b se rsoud alors avec l'algorithme suivant :

w1 =

d1
dk ak wk1
, wk =
, k = 2, 3, ..., N (descente)
b1
bk ak zk1

xN = wN , xk = wk zk xk+1 , k = N 1, N 2, ..., 1 (remonte)

(6.11)
(6.12)

Remarque 6.10 Cette mthode de rsolution requiert 3 (N 1) additions (on ne calcule qu'une fois bk ak zk1 )
3 (N 1) multiplications
2N divisions
soit 8N 6 oprations au total, ce qui constitue une rduction considrable par rapport
au cas d'une matrice pleine. Cette mthode directe est fortement conseille pour la
rsolution d'un systme tridiagonal.
Dmonstration du thorme 6.1 : On vrie directement que le produit des deux
matrices ci-dessus redonne A ; la seule chose prouver est que les nombres zk sont bien
dnis. Or, on montre par rcurrence que

zk = ck

det Ak1
, k = 2, ..., N (par hypothse det Ak = 0) .
det Ak

En eet, dveloppant det Ak suivant la dernire ligne, on vrie que :

det Ak = bk det Ak1 ak ck1 det Ak2 .


Ak2
Ainsi, si zk1 = ck1 det
det Ak1 , d'aprs la dnition (6.10) de zk , on a :

zk =

ck
bk

Ak2
ak ck1 det
det Ak1

ck det Ak1
d'aprs (6.11).
det Ak

La relation se montre directement pour k = 2.


Le systme (6.11) correspond la rsolution de LW = d ; le systme (6.12) correspond
celle de U X = W.

6.2.2.4 Mthode de Gauss-Jordan


Autre variante de la mthode de Gauss : mthode de Gauss-Jordan : au lieu de dterminer M pour que M A soit triangulaire, on dtermine M pour que M A soit diagonale :

6.2.

MTHODES DIRECTES DE RSOLUTION DE

AX = B

la rsolution du systme nal est alors plus simple. Cependant, la diagonalisation demande plus de calculs et globalement le nombre d'oprations est sensiblement le mme
que dans la rsolution de Gauss. Pour des raisons d'organisation des calculs, on emploie
souvent la technique de Gauss-Jordan pour calculer l'inverse d'une matrice. Comme indiqu prcdemment, on rsoud alors simultanment les n systmes linaires

{AXi = ei , i = 1, ..., N }
o ei = (0, ..., 0, 1, 0, ..., 0) (le 1 est sur la ime coordonne) et Xi est alors le i-me
vecteur colonne de A1 .
Dcrivons le passage de l'tat p l'tat p + 1 : la matrice Ap a la structure suivante :

Ap =

ap11

0
..
.
..
.
..
.
..
.
0

ap22
..
.

..
.
..
.
..
.

0
..
.

ap1p
..
.
..
.
..
.

0
..
.

appp
..
.

0
..
.

apNp

ap1N
..
.
..
.
..
.

p
apN

..

.
p
aNN

On utilise alors la p-ime ligne (c'est--dire la p-ime quation) pour faire apparatre
des zros dans toute la colonne de rang p, sauf en appp (c'est--dire liminer l'inconnue
xp dans toutes les autres quations). Comme dans la mthode de Gauss, on utilise donc
appp comme pivot (aprs application ventuelle d'une stratgie), et si lip = apip /appp , Ap+1
est obtenu par :
p+1
p
p
aij = aij lip apj
(6.13)
i = 1, ..., N, i = p .

p+1j N
On fait bien sr les mmes transformations aux seconds membres que, de manire
pratique, on assimile des colonnes supplmentaires de A ; les formules (6.13) sont
alors appliques la matrice augmente (j varie de p + 1 N + k , si k est le nombre
de seconds membres)

6.2.3 Factorisation de Cholesky


Ce paragraphe traite du cas particulier des matrices symtriques dnies positives. Pour
de telles matrices, la mthode de Gauss sans stratgie du pivot s'applique toujours. En
eet, on remarque d'abord que les sous-matrices principales A(k) sont inversibles :

[
A=

A(k)

]
.

Pour cela, soit v Rk tel que A(k) v = 0 ; soit ve RN dni par

vei = vi , 1 i k
On a

vei = 0, k + 1 i N.

vA(k) v =t veAv = 0 = v = 0,

puisque A est dnie positive.

131

132

CHAPITRE 6.

RSOLUTION DE SYSTMES LINAIRES

Maintenant, la condition det A(k) = 0 k est susante pour assurer que les pivots
sont non nuls dans la factorisation de Gauss. En eet, d'aprs les rgles de calcul des
dterminants, si Ap est la matrice l'tape p, on a :

det Ap(p) = det A(p)


o Ap(p) est la sous-matrice principale de Ap d'ordre p.

Ap(p)

ap11

0
..
.

ap22
..
.

..
.
..
.
..
.

0
..
.

ap1p

..

..

appp

0
..
.

Or det Ap(p) = ap11 ...appp . Ce qui montre que appp = 0. Par rcurrence, on voit donc qu'on
est toujours conduit des pivots non nuls. On en dduit :

Thorme 6.2 (Factorisation de Choleski)

Soit A une matrice symtrique dnie


positive. Alors il existe B triangulaire infrieure telle que :
A = B tB.

Remarque 6.11

On obtient bien sr une dcomposition de type LU , mais il n'y a


qu'une matrice dterminer. Cette matrice est parfois appele racine carre de A. On
peut imposer que ses lments diagonaux soient strictement positifs. La factorisation
est alors unique (le montrer).
Dans la pratique, on utilise un algorithme d'identication (dit de Cholesky) pour calculer les lments de B , plutt que la mthode de Gauss. Celle-ci nous permet cependant
de montrer l'existence de B .

Dmonstration du Thorme 6.2 :

Comme montr ci-dessus, l'algorithme de Gauss sans stratgie de


terme et donne donc une factorisation de A en A = LU , soit

u11
1
..
l21 1

.
0

..
.
..
..
..
.
.
.
.
.

.
..

.
.
.
.
.
.
.. ...

.
.
.
..
..
..
.
.
.

.
.

..
.
..

.
.
.
lN1 lN,N1 1
0

pivot peut tre men

ukk
..
.

..
.
0

uNN

Les ukk sont strictement positifs car

u11 ...ukk = det Ak > 0,


ce dernier point rsultant du fait
( que
) Ak est symtrique dnie posisive. On intercale
la matrice diagonale = diag uii , soit :
(
)
A = (L) 1 U = BC.

6.2.

MTHODES DIRECTES DE RSOLUTION DE

Comme A = tA, BC = tC tB = C (tB)

133

AX = B

= B 1tC.

Puisque C (tB) est triangulaire suprieure et B 1t C triangulaire infrieure, l'galit


prouve qu'elles sont diagonales. Comme les lments diagonaux sont gaux 1, ceci
prouve B 1t C = I ou C =t B.
Mthode pratique de calcul de B : algorithme
On pose a priori

b11 0
..
..
.
.
B=
.
..
bN1

de Cholesky

..
.
..
.

0
..
.
0
bNN

et on dtermine {bij } l'aide du systme d'quations


{ i
}

bik bjk = aij , 1 i j N

(6.14)

k=1

Il y a N (N2+1) inconnues pour N (N2+1) quations. La rsolution peut se faire de proche


en proche, colonne par colonne, comme suit :

Algorithme de Cholesky

De
N
i = 1
i1
bii = aii k=1 b2ik
(De j =i + 1 N )
i1
bji = aij k=1 bik bjk /bii

(6.15)

Remarque 6.12

 A priori il n'est pas clair que le calcul des racines carres ci-dessus
soit possible dans l'ensemble des rels : cependant, comme nous avons montr directement l'existence de B , nous savons que le systme (6.14) admet une solution et
qu'ainsi le calcul sera toujours possible. On obtient au passage l'unicit de la solution.
 Le dterminant de A est obtenu comme sous-produit par

det A = b211 b222 ...b2NN


2

puisque det A = (det B) .


 Une valuation du nombre d'oprations conduit
N3
N3
N2
6 additions, 6 multiplications, 2 divisions, N extractions de racines carres. Ceci
3
3
se compare trs avantageusement la mthode de Gauss donnant N3 additions, N3
2
multiplications, N2 divisions.
La mthode de Cholesky est donc fortement conseille (plutt que Gauss) quand la
matrice du systme est symtrique, dnie, positive. Elle a aussi l'avantage de se rvler
plus stable par rapport aux erreurs d'arrondi. Noter galement l'estimation a priori

|bik | < aii i = 1, ..., N, k = 1, ..., i


provenant de la relation

b2ik = aii

k=1

et qui assure que les bik ne deviendront jamais trop grands.

134

CHAPITRE 6.

RSOLUTION DE SYSTMES LINAIRES

6.2.4 Autres mthodes directes


 Une autre mthode, connue sous le nom de mthode de Householder, consiste
multiplier la matrice A par des matrices de symtries orthogonale pour aboutir une
factorisation de la forme
A = QR
o R est triangulaire suprieure et Q une matrice orthogonale. Cette technique ncessite environ deux fois plus d'oprations que celle de Gauss mais le conditionnement
du systme initial ne peut qu'tre amlior. Cette factorisation sera dcrite dans le
chapitre sur le calcul des valeurs propres : elle constitue le fondement d'un des plus
importants algorithmes de recherche des valeurs propres.
 Signalons aussi la mthode du gradient conjugu qui est l'heure actuelle de plus en
plus utilise pour la rsolution des systmes creux. Elle repose sur la minimisation
t
de la fonctionnelle quadratique (x) = 12 XAX bX et sera dcrite la n de ce
chapitre. c'est une mthode semi-directe.
6.3

Analyse du conditionnement d'un systme linaire

Le but de ce paragraphe est d'tudier l'inuence d'une petite variation du second


membre ou des coecients d'une matrice d'un systme linaire sur la valeur de la
solution. Comme il a dj t expliqu dans le premier chapitre de ce cours, les arrondis faits sur les donnes (et invitables dans un calcul numrique sur machine), peuvent
tre interprts comme de telles petites variations : il est donc essentiel de connaitre
leur impact sur le rsultat calcul.

6.3.1 Quelques prliminaires sur les normes matricielles


On rappelle tout d'abord :

Dnition 6.1

Etant donn V un espace vectoriel sur R ou C, on appelle norme sur


V toute application (qu'on notera .) de V dans [0, [ telle que
(i) x = 0 x = 0 pour x V
(ii) x V, R ( ou C),
(iii) x, y V,

x = || x (homognit)

x + y x + y (ingalit triangulaire).

Nous serons, en particulier, amens utiliser les normes classiques de RN (ou CN )


savoir :

(
x2

)1/2
x2i

i=1

x1

|xi |

i=1

max |xi | .

1iN

Plus gnralement, on peut considrer

(
xp =

i=1

)1/p
|xi |

, 1 p < .

6.3.

ANALYSE DU CONDITIONNEMENT D'UN SYSTME LINAIRE

La notation x utilise ci-dessus provient du fait que

x RN , lim xp = max |xi | (= x ) .


p

1iN

Il est bon
{ de connaitre la
} gomtrie des boules-units pour chacune de ces normes soit
B = x RN ; x 1 . Ainsi, en dimension 2, on a : On remarque que la boule-

Figure 6.1  Les boules units, pour la norme .2 ( gauche), pour la norme
. (au centre), pour la norme .1 ( droite)

unit pour la norme euclidienne est arrondie : elle ne prsente ni angle, ni partie
plate contrairement aux deux autres. Cette gomtrie particulire explique partiellement pourquoi la norme euclidienne a de meilleurs comportements que les autres.

6.3.1.1 Norme sur l'espace vectoriel des matrices


Une matrice carre d'ordre N est la donne de N 2 rels (ou complexes) : elle peut donc
2
2
tre identie un lment de RN . A ce titre, toute norme sur RN fournit une norme
sur l'espace des matrices. Ainsi, si A = [aij ], on peut poser

A = max |aij | ou A =
1i,jN

1/2
a2ij

, etc...

i,j

Cependant, pour qu'une norme soit pratique d'utilisation, il faut aussi qu'elle soit compatible avec le produit des matrices, ce qui nous conduit exiger une quatrime proprit :
(iv)
AB A B .

Dnition 6.2 On appelle norme matricielle toute norme sur l'espace vectoriel des
matrices vriant (iv).
Etant donne une norme vectorielle . dnie sur RN , il existe une norme matricielle
naturellement associe . : on l'appelle norme matricielle induite par . et elle est
dnie par :
(
)
Ax
= max Ax .
A = max
x=1
x=0 x

Remarque( 6.13
)
Ax
x

=A

x
x


et

entre ces deux expressions est due la linarit de A soit


L'galit

x
=
1
. La deuxime expression permet de montrer l'existence
x

du maximum en remarquant que x Ax est continue sur la sphre unit de RN


qui est compacte.

135

136

CHAPITRE 6.

RSOLUTION DE SYSTMES LINAIRES

 On vrie aisment que l'application A A est bien une norme matricielle. Vrions par exemple (iv) :
ABx
AB = max
x=0
x
Puisque ABx A Bx par dnition de A, on a donc

AB max A
x=0

Bx
A B .
x

 On garde souvent la mme notation pour la norme vectorielle et la norme matricielle


induite bien que les deux normes n'agissent pas sur le mme espace : cela ne conduit
en fait aucune confusion et favorise au contraire les critures. Ainsi, on crira :

AX A X , X RN , A matrice carre d'ordre N.


 On notera de la mme faon .p la norme matricielle associe .p .

Proposition 6.1

(i) A

max

1iN

(ii) A1
(iii) A2

max

1jN

j=1
N

|aij |
)
|aij |

i=1

(A A) o A =t A (adjointe de A)

et (M ) dsigne le rayon spectral de la matrice M soit


(M ) := max {|| ; valeur propre de M } .

Dans le cas particulier o A est symtrique,A2 = (A).

Remarque 6.14

 Toute racine carre d'une valeur propre de


A A est appele valeur

singulire de A. Si A est normale (i.e. AA = A A), alors (A A) = (A) . Dans


tous les cas (A A) = (AA ) .
 A et A1 se calculent simplement partir de la matrice de A contrairement
A2 .
 On utilise aussi la norme, dite de Frbenius (ou norme de Schur) :

AF =

1/2
a2ij

= [trace (A A)]

1/2

i,j

On montre qu'il s'agit d'une norme matricielle,


mais non induite par une norme vecto
rielle (en eet, si I est l'identit, IF = N ... au lieu de 1 pour une norme induite
par une norme vectorielle), voir aussi Exercice ??.

Dmonstration de la proposition 6.1 :


Ax


N
N


= max
aij xj max
|aij | |xj |
1iN

1iN j=1
j=1

(
)
N

x max
|aij | .
max
|aij | max |xj |
1jN
1iN
1iN

j=1

j=1

6.3.

137

ANALYSE DU CONDITIONNEMENT D'UN SYSTME LINAIRE

(
)
N
Ceci dmontre que A max1iN
j=1 |aij | . On montre que l'galit est ralise
en considrant le vecteur x = (j ) o
{
1 si ai0 j 0
j =
et i0 est un indice tel que
1 sinon ai0 j < 0

N
N

|ai0 j | = max
|aij |
1iN

j=1

j=1

 Le point (ii) s'obtient de faon analogue : noter la dualit entre les normes .1 et
. qui va, en fait, bien au del de cette simple remarque.

2
2
2
2
 On a A2 = maxv2 =1 Av2 = maxv2 =1 v A Av , puisque x2 = x x =
|xi | .

La matrice A A est hermitienne puisque (A A) = A A.


On sait (cf. cours d'algbre linaire classique) qu'il existe une matrice unitaire U telle
que
U 1 A AU = D soit diagonale, la diagonale tant forme des valeurs propres de A A.
On a donc :
max v A Av = max v U DU 1 v.
v2 =1

v2 =1



Puisque U est unitaire, U 1 v 2 = 1. Puisque par ailleurs U 1 est bijective, on a donc :
)
(N

2
A2 = max w Dw = max
i wi = max |i | = (D) = (A A) .
w2 =1

N
i=1

wi2 =1

i=1

i=1,...,N

6.3.2 Analyse du conditionnement


Considrons le systme linaire

AX = b.

(6.16)

Considrons une petite perturbation b de b. La solution correspondante est perturbe


soit
A (X + X) = b + b.
(6.17)
Nous allons mesurer la variation relative de X en fonction de celle de b. Pour cela, nous
prenons . une norme quelconque sur RN .
De (6.16), (6.17), on tire

A (X) = b soit X = A1 (b) .


Utilisant la norme matricielle induite, on a :


X A1 b .
Par ailleurs, avec (6.16)

b A X .

Ces deux ingalits donnent :


X
b
A1 A
.
X
b

(6.18)

Cette estimation sur la variation de X est


peut trouver X0
en fait
optimale
puisqu'on

tel que AX0 = A X0 et b tel que A1 b = A1 (b) .


Ainsi la variation relative sur X sera d'autant plus grande que le nombre A1 A
est plus grand : on l'appelle le conditionnement de A relatif la norme . .

138

CHAPITRE 6.

RSOLUTION DE SYSTMES LINAIRES

Dnition 6.3 On appelle conditionnement de la matrice A (dans la norme matricielle .), le nombre


cond (A) = A1 A .
Si on travaille avec la norme .p , on notera le conditionnement associ condp .
C'est le mme nombre qui intervient lors de la variation des coecients de A : supposons, en eet, que A soit perturbe par une matrice A ; alors

AX

(A + A) (X + X)

= b
= A (X) + A (X + X) = 0
= X = A1 A (X + X)


= X A1 A X + X
X
A
=
cond (A)
.
X + X
A

6.3.2.1 Proprits de cond (A)


(i)

cond (A) 1 et le conditionnement est d'autant



meilleur qu'il est plus proche de 1.
(en eet AA1 = I = 1 = I A A1 .)

(ii) cond (A) = cond (A1 ), cond (A) = cond (A).


(iii) si A est normale (i.e. A A = AA ), pour la norme .2 , on a
cond2 (A) =

maxi |i (A)|
, i valeur propre de A.
mini |i (A)|

Plus gnralement, pour une matrice A quelconque

cond2 (A) =

N
1

(iv)

N (A)
,
1 (A)

= plus grande valeur singulire de A,


= plus petite valeur singulire de A.

si A est unitaire (ie U = U 1 ), cond2 (A) = 1.

Remarque 6.15

 La dmonstration de (iii) est immdiate partir de la dnition


du conditionnement, de la proposition 6.1 et des remarques qui la suivent.
 La proprit (iii) exprime qu'une matrice dont le spectre (i.e. l'ensemble des valeurs
propres) est tendu sera mal conditionne.
 La proprit (iv) justie l'emploi de matrices unitaires dans certains procds de
factorisation (cf. mthode de Householder) : ainsi le conditionnement du systme
nal est au moins aussi bon que celui du systme initial.
 On ne modie pas le conditionnement d'une matrice en la multipliant par un scalaire.
Par contre, on peut diminuer cond2 A en multipliant certaines lignes ou certaines
colonnes par des coecients non nuls : il s'agit de l'quilibrage de la matrice. C'est
une technique de prconditionnement trs utilise en pratique.

6.3.

ANALYSE DU CONDITIONNEMENT D'UN SYSTME LINAIRE

6.3.3 Exemple de systme linaire mal conditionn


(d R.S. Wilson, cf. P.G. Ciarlet Introduction l'analyse numrique matricielle et
l'optimisation)
Considrons le systme

10 7 8
7
u1
32
1
7 5 6

1
5

u2 23

8 6 10 9 u3 = 33 de solution 1 .
7 5 9 10
u4
31
1
Le systme perturb

10 7 8 7
7 5 6 5

8 6 10 9
7 5 9 10


u1 + u1
32, 1
u2 + u2 22, 9


u3 + u3 = 33, 1
u4 + u4
30, 9

9, 2

a pour solution 12, 6 .

4, 5
1, 1

Ainsi une erreur relative de 1/200 sur les donnes entrane une erreur relative de l'ordre
de 10/1 du rsultat (erreur amplie de 2000).
De mme

10
7
8, 1 7, 2
u1 + u1
32
81
7, 08 5, 04

6
5

u2 + u2 = 23 a pour solution 137 .


8

5, 98 9, 89
9
u3 + u3
33
34
6, 99 4, 99
9
9, 98
u4 + u4
31
22
Pourtant, la matrice est bonne (symtrique, de dterminant 1, donc loin de 0). Son
inverse est d'ailleurs donne par

25 41 10 6
41 68 17 10
.
A1 =
10 17
5
3
6
10
3
2
Mais les valeurs propres de A sont

1 0, 01015 < 2 0, 8431 < 3 3, 858 < 4 30, 2877, si bien que
cond2 (A) =
D'autre part

de sorte que

4
2984 est grand !
1

1
8, 2
1
13, 6

u=
1 , u = 3, 5
1
2, 1

32

, b = 23 , b =

33

31

0, 1
0, 1

0, 1
0, 1

u2
b2
8, 1985 et cond2 (A)
9, 9424.
u2
b2

On n'est donc pas loin de l'galit dans l'estimation (6.18)

u2
b2
cond2 (A)
.
u2
b2

139

140

CHAPITRE 6.

RSOLUTION DE SYSTMES LINAIRES

6.3.4 Prconditionnement
Les matrices mal conditionnes sont vritablement l'origine d'erreurs importantes
dans les calculs pratiques, y compris pour les ingnieurs. Par exemple, dans la rsolution d'une quation aux drives partielles avec une discrtisation de type dirences
nies ou lments nis de pas h (trs petit), il est classique que le conditionnement de
la matrice du systme linaire soit en O( h12 ) ! Par ailleurs pour les mthodes itratives
comme la mthode du gradient conjugu, cf section 6.5, la rapidit de convergence est
directement lie au conditionnement : plus celui-ci est mauvais, plus la convergence sera
lente. Il est donc souvent utile de remplacer le systme linaire initial par un systme
quivalent mieux conditionn, c'est ce qu'on appelle la technique du prconditionnement. Il y a de nombreuses faons de le faire. Citons simplement ici sans dtailler les
mthodes de factorisation incomplte ou le prconditionnement SSOR.
6.4

Mthodes itratives

Etant donn le systme AX = B rsoudre, les mthodes itratives de rsolution de


systmes linaires consistent calculer les valeurs successives d'une suite de vecteurs
X k convergeant vers la solution X quand k .

Principe : On dcompose A en A = M N o M est une matrice facile inverser,


au sens que le systme M Y = d se rsout facilement (M diagonale, ou triangulaire, ou
diagonale par blocs...). Alors
AX = b M X = N X + b
conduit l'itration

M X k+1 = N X k + b.

6.4.1 Description des mthodes de Jacobi, Gauss-Seidel, relaxation


On suppose donne A avec aii = 0

a11 a12
a21 a22

E
aN1

i. On dcompose A sous la forme


a1N

=DEF

aN,N1 aNN

o D est diagonale, E triangulaire infrieure, F triangulaire suprieure.


Une premire dcomposition conduit

AX = b DX = (E + F ) X + b
et la mthode itrative de Jacobi :
{ k+1
X
= D1 (E + F ) X k + D1 b
X 0 arbitraire

Algorithme de Jacobi

X 0 choisi
De k = 0 ... (test d'arrt)
( Dei = 1 N
)
k+1
xi := p=i aip xkp + bi /aii .

(6.19)

6.4.

141

MTHODES ITRATIVES

Remarque 6.16 Dans cet algorithme, il est ncessaire de conserver en mmoire tous
les xki aussi longtemps que le calcul des xk+1
n'est pas achev. Il est possible d'utiliser
i
2 fois moins de mmoires en crasant chaque fois xki par xk+1
, ce qui conduit :
i
Algorithme de Gauss-Seidel

Remarque 6.17

xk+1
i

X 0 choisi
De k = 0 ...(test d'arrt)
De i = 1 N
(
)

:= p<i aip xk+1


p>i aip xkp + bi /aii .
p

Sous forme matricielle, cet algorithme s'crit en fait :

DX k+1 = EX k+1 + F X k + b
ou

X k+1 = (D E)

)
F Xk + b .

Cet algorithme peut encore tre modi en introduisant un paramtre supplmentaire


qu'on choisira au mieux pour que la convergence soit plus rapide. Selon les notations
traditionnelles, on est conduit :
[
)]
1 (
X k+1 = (1 ) X k + (D E)
F Xk + b .
On vrie immdiatement que si X k converge, il converge vers X solution de
[
]
1
1
X = (1 ) X+ (D E) (F X + b) X = (D E) (F X + b) AX = b.

Algorithme de relaxation

xk+1
i

X 0 choisi
De k = 0 ...(test d'arrt)
De i = 1 N
)
(

k
k+1
k

b
/aii .
a
x
+
a
x
:= (1 ) xi
i
ip
ip
p
p
p>i
p<i

Remarque 6.18 Il faut noter que chaque itration ncessite (dans Gauss-Seidel par
exemple) : N ((N 1) multiplications + (N 1) additions + 1 division) 2N 2 oprations, si la matrice est pleine. Pour tre comparable la mthode de Gauss, il faut
donc que la prcision voulue soit obtenue en moins de N3 itrations. Dans la pratique,
on constate que les mthodes itratives sont surtout avantageuses lorsque la matrice
est creuse : chaque itration, le nombre d'oprations est d'ordre kN o k est une
constante xe directement proportionnelle au nombre d'lments non nuls. De plus, il
sut de stocker les lments non nuls de A. C'est ce dernier point qui est essentiel dans
le choix des mthodes itratives pour les grands systmes creux : une factorisation de
type Gauss ou Cholesky, mme si elle prserve la structure-bande, remplit les trous
l'intrieur de la bande et ncessite donc plus d'espace mmoire.

6.4.2 Itrations par blocs


Supposons que la matrice A se prsente naturellement sous la forme

A11
A15

A22

A33
A=

A44
A51
A55

142

CHAPITRE 6.

RSOLUTION DE SYSTMES LINAIRES

o les matrices Aii sont


( inversibles. On peut
) alors utiliser un algorithme de relaxation
par blocs : si X k = X1k , X2k , X3k , X4k , X5k o les Xik ont des longueurs adaptes la
dcomposition ci-dessus, on a :
[
Pour
[i = 1, ..., 5
]

.
k+1
k+1
k
k
A
X
+
A
X

B
Aii Xi
= (1 ) Aii Xi
ip
ip
i
p
p
p<i
i<p<5
Ce regroupement par blocs peut acclrer la convergence, mais alourdit bien sr le cot
de chaque itration puisqu'il y a, chaque pas, 5 sous-systmes rsoudre. Ce n'est
que si cette rsolution est rapide que ce choix peut tre intressant.

6.4.3 Etude de la convergence des mthodes itratives


Considrons une mthode itrative du type

X k+1 = BX k + d

(6.20)

applique la rsolution de AX = b. (On suppose A inversible).

Dnition 6.4

On dit que la mthode est consistante si, lorsque X k converge vers Y ,


alors Y est la solution cherche soit Y = A1 b.
On dit que la mthode est convergente si, pour tout choix X 0 de la donne initiale, X k
converge vers A1 b.

Remarque 6.19 Pour qu'une mthode soit consistante, il faut bien sr choisir B et d
en fonction de A et B convenablement : supposons que X k k Y.
On a alors
Y
X
Y X

= BY + d
= A1 b
= B (Y X) + d (I B) A1 b.

La consistance est assure si d = (I B) A1 b et I B est inversible.

Thorme 6.3

et seulement si

Supposons la mthode (6.20) consistante. Alors elle est convergente si


(B) < 1.

( (B) = rayon spectral de B) .

(6.21)

Dmonstration : Soit X la solution cherche, i.e. (puisque la mthode est consistante)


X = BX + d. Retranchant (6.20), on obtient :
(
)
X k+1 X = B X k X
et par rcurrence

(
)
X k X = Bk X 0 X .

(6.22)

Puisque X 0 X est un vecteur arbitraire, on voit que X k X tend vers 0 (pour tout
choix de X 0 ) si et seulement si
lim B k = 0
(6.23)
k

(au sens que tous les lments de la matrice B k tendent vers 0).
Supposons que (B) 1 : alors il existe C et X CN tel que BX = X , || 1,
X = 0 et donc
B k X = k X.

6.4.

143

MTHODES ITRATIVES


Mais k 9 0 quand k . Donc B k ne tend pas vers 0. La condition (B) < 1 est
donc ncessaire.
Supposons que (B) < 1 : Si . est une norme sur RN (ou CN ), d'aprs (6.22), on a :
k



X X Bk X 0 X

(6.24)

o B est la norme matricielle induite de B . S'il existe une norme telle que B < 1,
on a immdiatement


lim X k X = 0 pour tout choix de X 0 .
k

L'existence de cette norme rsulte du lemme suivant :

Lemme 6.1

Soit B une matrice carre :


(i) (B) B pour toute norme matricielle . .
(ii) > 0, . norme sur RN telle que pour la norme matricielle induite B
(B) + .

Dmonstration : Le point (i) s'obtient comme suit : soit (, X) une valeur propre et
un vecteur propre de B .
BX = X = || X B X = || B .
Puisque c'est vrai pour tout valeur propre, on en dduit (B) B .
La dmonstration de (ii) est un peu plus longue. On peut la trouver dans de nombreux
livres (par exemple Introduction l'analyse numrique matricielle et l'optimisation,
P.G. Ciarlet, Masson).

6.4.3.1 Vitesse de convergence


Une premire estimation est obtenue l'aide du lemme suivant :

Lemme 6.2

Pour toute matrice carre B , et toute norme matricielle


1/k
lim B k
= (B) .

(6.25)

( ( ))1/k k 1/k
(B) = B k
B

(6.26)

Dmonstration :

ce qui donne une ingalit dans un sens.


B
Soit maintenant > 0 et B = (B)+
; alors (B ) =

lim Bk = 0 soit lim

(B)
(B)+

Bk
k

( (B) + )

< 1 . On en dduit

= 0.

Ainsi pour k assez grand et pour toute norme matricielle :

k

B ( (B) + )k ou B k 1/k (B) + .
De (6.27) et (6.26), on dduit le lemme.
Consquence du lemme 6.2 : Nous avons vu (cf. (6.22)) que
k


X X B k X 0 X .

(6.27)

144

CHAPITRE 6.

RSOLUTION DE SYSTMES LINAIRES

La vitesse de convergence de X k vers X dpend donc de la vitesse de convergence vers


0 de B k et donc de (B) : il faut que (B) soit strictement infrieur 1 et la vitesse
de convergence sera d'autant plus rapide que (B) est petit. Ainsi, pour k assez grand,
on a :
k



X X ( (B) + )k X 0 X .
( )
e < (B), la convergence de X
e k+1 = B
eX
e k + de sera plus rapide que
De plus, si B
celle de X k . Pour comparer les vitesses de convergence on utilise parfois :

Dnition 6.5

On appelle taux asymptotique de convergence : R (B) = log ( (B)) .


( )
e = (B)2 < 1, on dit (et on vrie) que la convergence de X
e k est deux
Ainsi, si B
fois plus rapide que celle de X k .

6.4.3.2 Application aux mthodes de Jacobi-Gauss-Seidel-Relaxation


Rappelons les matrices B  de chaque mthode avec les notations de (6.20) :
Jacobi : J := D1 (E + F )
1
Gauss-Seidel : L1 := (D E) F
1
Relaxation : L := (D E) ((1 ) D + F ) .

Proposition 6.2
que si
0 < < 2.

(L ) | 1|. Donc la mthode de relaxation ne peut converger

Dmonstration : |det L | = |produit des valeurs propres de L | (L )N . Or


N

det L =

det ((1 ) D + F )
(1 ) det D
N
=
= (1 ) .
det (D E)
det D

Ainsi

|1 |

(L ) .

Nous allons maintenant examiner plusieurs cas de convergence de ces mthodes. Notons
d'abord que, ds la dimension 2, elles peuvent tre divergentes.

Exemple :

]
1 2
(A est symtrique)
2 1
[
]
[
]
[
]
1 0
0 0
0 2
=
E=
F =
0 1
2 0
0 0
[
]
0 2
=
(J) = 2
2 0
[
][
] [
]
1 0
0 2
0 2
=
=
(L1 ) = 4.
2 1
0 0
0 4

A =
D
J
L1

On peut dmontrer par exemple :

Thorme 6.4

On suppose A symtrique dnie positive. Alors la mthode de relaxation converge pour tout ]0, 2[ (en particulier la mthode de Gauss-Seidel converge).
On a aussi :

6.4.

145

MTHODES ITRATIVES

Thorme 6.5

Si A est diagonale strictement dominante i.e.

i = 1, ..., N
|aii | >
|aij |

(6.28)

j=i

alors les mthodes de Gauss-Seidel et Jacobi sont convergentes.


On va utiliser pour le dmontrer le

Lemme 6.3 (Hadamard-Gerschgrin)

Les valeurs propres d'une matrice quelconque


A sont situes dans la runion des disques

Di = C; | aii |
|aij | , i = 1, ..., N.

j=i

Dmonstration : Ecrivons AX = X

soit

i = 1, ..., N,

aij xj = xi .

j=1

Soit k un indice tel que |xk | = maxi |xi |. L'galit ci-dessus avec i = k implique






|( akk ) xk | =
akj xj
|akj | |xj |
j=i
j=k
soit

| akk | |xk |

|akj | |xk |

j=k

ce qui dmontre le rsultat.

Remarque 6.20 Le lemme 6.3 a de nombreuses applications. Notons par exemple


qu'il donne une estimation a priori sur la position des valeurs propres d'une matrice
quelconque dans le plan complexe. Ce renseignement prliminaire peut tre utile pour
le calcul eectif de ces valeurs propres (cf. chapitre suivant).
On en dduit aussi le

Corollaire 6.1

Une matrice diagonale strictement dominante est inversible.

En eet, si A n'est pas inversible, 0 est valeur propre et d'aprs le lemme 6.3, il existe
i tel que

|aii |
|aij |
j=i

ce qui contredit la proprit de stricte dominance de la diagonale.


(
)
Dmonstration du thorme 6.5 : Calculons (J) = D1 (E + F ) . La matrice
J est diagonale nulle et pour i = j on a

Jij =

aij
.
aii

D'aprs le lemme de Hadamard-Gerschgrin, si est valeur propre, on a

| 0| = ||

|aij |
i=j

|aii |

<1

146

CHAPITRE 6.

RSOLUTION DE SYSTMES LINAIRES

et donc (J) < 1. Soit maintenant une valeur propre de L1 (ventuellement complexe). Si X est un vecteur propre associ, on a

(D E)

FX

=
=

X = F X = (D E) X

i = 1, ..., N

aij xj =
aij xj.
j>i

ji

Soit k un indice tel que |xk | = maxi |xi |. La relation ci-dessus crite avec i = k donne

akk xk

akj xj

j>k

|| |akk |

akj xj

j<k

|akj | + ||

j>k

|akj | .

j<k

Si || = 0, puisque A est diagonale strictement dominante, on obtient

||

|akj | <

j>k

|akj | + ||

j<k

|akj |

j=k

|| < 1 et donc (L1 ) < 1.

Remarque 6.21

On peut montrer que si D1 E et D1 F sont lments positifs


ou nuls, alors, ds que la mthode de Jacobi est convergente, il en est de mme de
celle de Gauss-Seidel. De plus, la convergence de celle-ci est au moins aussi rapide. Ce
phnomne n'est pas systmatique comme on peut le voir dans l'exercice 6.7.
Cependant, pour de nombreux systmes, surtout lorsqu'ils proviennent de la discrtisation d'quations aux drives partielles, la mthode de Gauss-Seidel converge plus vite
que celle de Jacobi. De plus, pour une large famille de tels systmes, on peut montrer
l'existence d'un paramtre optimal pour lequel la mthode de relaxation est considrablement plus ecace : le nombre d'itrations ncessaires pour atteindre une prcision
donne chute considrablement lorsque est voisin de .
Nous allons noncer sans dmonstration un rsultat dans ce sens. Pour cela, nous avons
besoin de la dnition suivante : A tant dcompose comme prcdemment, on note :

L = D1 E, U = D1 F
d'o

A =
L

D (I L U ) , J = L + U
1

= (I L)

((1 ) I + U ) .

Dnition 6.6 On dira que A est de type (V ), si pour = 0, les valeurs propres de
J () = L + 1 U sont indpendantes de .
Remarque 6.22 On montre que les matrices tridiagonales sont de type (V ). De nombreuses matrices provenant de la discrtisation d'quations aux drives partielles sont
galement de type (V ). Cette notion a t introduite par Varga qui utilise la terminologie consistently ordered matrices dont la traduction littrale franaise est peu
heureuse.
On a alors le rsultat gnral suivant :

Thorme 6.6

Soit A de type (V ). Alors

6.4.

147

MTHODES ITRATIVES

1.2
1
0.8
0.6
0.4
0.2
0
0

0.5

1.5

Figure 6.2  Graphe du rayon spectral de L


(i) (L1 ) = (J)2 .
Donc la mthode de Gauss-Seidel converge si et seulement si celle de Jacobi converge
et elle converge alors deux fois plus vite.
(ii) Si, de plus, les valeurs propres de J sont relles et (J) < 1, alors le graphe de
(L ) a l'allure suivante : Plus prcisment, on a :
2

et

2
1 + 1 (J)

{
(L ) =

(L ) =

(J)

2
1 + 1 (J)

1 si 2

1 + 12 2 (J) + (J)

1 + 14 2 (J)

si 0 .

Remarque 6.23

Le plus souvent, est dtermin exprimentalement. Noter ce


propos que la drive gauche de (L ) en = est innie. On aura donc plutt
intrt survaluer car une erreur droite sur sera moins sensible qu'une erreur
gauche.

6.4.4 Application la mthode des dirences nies


Nous allons expliciter les rsultats du thorme 6.6 pour deux systmes linaires provenant de la discrtisation par dirences nies d'quations aux drives partielles simples.
Considrons d'abord le problme aux limites monodimensionnel standard
{
u (x) = f (x) 0 < x < 1
(6.29)
u (0) = u (1) = 0.
On montre facilement que si f est continue sur [0,1], ce problme admet une solution
u unique. Le calcul numrique de cette solution par la mthode des dirences nies

148

CHAPITRE 6.

RSOLUTION DE SYSTMES LINAIRES

consiste remplacer la recherche de u par celle d'un vecteur uh = (u1 , u2 , ..., uN ) reprsentant les valeurs d'une solution approche en les points x1 , x2 , ..., xN d'une subdivision
de l'intervalle [0,1] que nous supposerons rgulire pour simplier soit

xi = ih, i = 0, ..., N + 1, h =

1
.
N +1

Les valeurs en x0 = 0 et xN+1 = 1 seront supposes nulles pour satisfaire aux conditions
aux limites de (6.29). Le problme (6.29) est alors remplac par un problme approch
o u (xi ) est remplac par la dirence nie

u (xi )

u (xi+1 ) + u (xi1 ) 2u (xi )


.
h2

Le vecteur approch uh cherch est donc dni par le systme


{
ui+1 + ui1 2ui

= fi i = 1, ..., N
h2
u0 = uN+1 = 0

(6.30)

o on a not fi = f (xi ) . Tenant compte des conditions aux limites u0 = 0 dans la


premire quation et uN+1 = 0 dans la dernire, il s'agit donc de rsoudre le systme
linaire :
1
Auh = fh
(6.31)
h2
o fh = (f1 , ..., fN ) et

2 1 0
0
..

..
1 2 1
.
.

..
.
.
.
.
..
..
..
..
0
.
.
A=
(6.32)
.

..
..
..
..
..
.
.
.
.
0

..
..
..
..
.
.
. 1

On vrie que A est une matrice tridiagonale symtrique dnie positive. Le systme
(6.30) pourra tre rsolu l'aide de la mthode directe dveloppe dans le thorme
6.1 conduisant un nombre d'oprations de l'ordre de 8N . Cette mthode est d'ailleurs
fortement conseille.
Cependant, titre indicatif, nous allons expliciter les rsultats du thorme 6.6 sur
cet exemple. La matrice A tant dnie par (6.32), on a, avec les notations utilises
prcdemment

0
0
0 1
..

.
..
..
..
.
.
.

..
..
..
..
..

.
.
.
.
1
1
0
.
.
J () = D1 E + D1 F =

.
.
.
.
.

2 .
.
.
.
.
.
.
.
. 0
.

..
..
..
..
.
.
. 1

0 0
(
)
On vrie aisment que le vecteur U k = Uik 1iN tel que
Uik = i1 sin i

k
, i = 1, ..., N
N +1

6.4.

149

MTHODES ITRATIVES

est vecteur propre de J () pour la valeur propre k = cos Nk


+1 et ce pour k = 1, ..., N .
Ceci montre que A est de type (V ) et

(J) = max |k | = cos


1kN

.
N +1

On en dduit en particulier que, lorsque N est grand,


(
)
1
1
2
(J) = 1
+O
2 (N + 1)2
N4
et donc (J) tend vers 1 lorsque N tend vers l'inni. La vitesse de convergence
ainsi avec N . D'aprs le thorme 6.6, on a
(
)
2
1
2
(L1 ) = (J) = 1
2 +O
N4
(N + 1)
2
2
(
)

=
(
)=

1
+
sin
2
N +1
1 + 1 cos N +1
(
)
cos2 N+1
(L ) = (
(
))2 .
1 + sin N+1
Ainsi, pour N grand

(L ) = 1

2
+O
N +1

1
N2

(6.33)
dcrot

(6.34)
(6.35)

(6.36)

)
(6.37)

Les relations (6.33), (6.34), (6.37) permettent de comparer les vitesses de convergence
des direntes mthodes lorsque N est grand. Rappelons que, comme consquence du
lemme 6.2, si xN est dnie par

Xn+1 = BxN + d
alors, asymptotiquement
n

xN X (B) X0 X .

(6.38)

Notons c0 = X0 X ; pour rendre xN X infrieur , il faut, en supposant


n
l'estimation (6.38) optimale ce qui est le plus souvent le cas, que c0 (B) , soit en

notant = log c0 et RB = log (B) (vitesse de convergence)

.
RB

Pour de grandes dimensions N , d'aprs (6.33), (6.34), (6.37), on a

RJ

2
2
2
,
R

, RL
.
L
1
2
2
2N
N
N

Il sera donc ncessaire de prendre

n
n
n

2 2
N pour Jacobi
2
2
N pour Gauss-Seidel
2

N pour la relaxation optimale.


2

150

CHAPITRE 6.

RSOLUTION DE SYSTMES LINAIRES

Cette dernire mthode est donc plus que N fois plus rapide que celles de Jacobi et
Gauss-Seidel.
An d'valuer le temps global de calcul pour ventuellement comparer avec la mthode
directe suggre plus haut, outre le nombre d'itrations, il est ncessaire de tenir compte
du nombre d'oprations lmentaires chaque itration, soit kN o k est une constante
de l'ordre de 8. D'autre part, il faut aussi tenir compte d'un choix raisonnable de la
tolrance . Une analyse de l'erreur de discrtisation montre que

max |u (xi ) ui | Ch2


i

o u est la solution exacte, (ui ) la solution approche et C une constante dpendant de


u. Il est donc raisonnable de choisir d'ordre h2 , soit, pour une certaine constante a

log ah2 log aN 2 2 log N pour N grand.


On obtient alors le tableau suivant valable pour N grand
Mthode
Nombre d'itrations
4
2
Jacobi
2 N log N
2
2
Gauss-Seidel
2 N log N
1
Relaxation optimale N log N

Nombre d'oprations
k 42 N 3 log N
k 22 N 3 log N
k 1 N 2 log N

Remarque 6.24

Comme annonc, on constate que le nombre d'oprations requis est


bien suprieur celui requis pour la mthode directe du thorme 6.1, soit un facteur
de N . Cette dirence importante est bien sr trs lie la structure tridiagonale. Elle
devient moins importante pour de grandes matrices bandes trs creuses. De plus, dans
ce cas, mme si le nombre d'oprations est plus grand, pour des raisons de stockage
en mmoire, on pourra prfrer une mthode itrative une factorisation qui remplit
les bandes et rend ainsi le stockage des matrices-facteurs dicile, voire impossible pour
des matrices trs grandes.
Pour terminer ce paragraphe, nous nonons sans dtails les rsultats relatifs au systme
discrtis associ l'quation aux drives partielles bidimensionnelle :
{
2
2
xu2 (x, y) yu2 (x, y) = f (x, y) sur R2
u (x, y) = 0 sur le bord de .
Nous supposons que est le carr [0, 1] [0, 1]. On le munit d'un maillage uniforme
de mme pas h dans les deux directions dont les noeuds sont les points (ih, jh) , i, j =
0, 1, ..., N +1. Le problme discrtis consiste trouver une approximation de la solution
aux noeuds du maillage, la drive seconde en un point (ih, jh) tant remplace par la
formule de dirences nies 5 points

u (ih, jh)

Ui+1,j + Ui1,j + Ui,j+1 + Ui,j1 4Ui,j


h2

o Ui,j est la valeur de la solution au point (ih, jh). Le systme discrtis s'crit alors
avec fi,j = f (ih, jh) et h = N1+1 :

Ui+1,j + Ui1,j + Ui,j+1 + Ui,j1 4Ui,j

= fi,j i, j = 1, ..., N

h2
U0,j = UN +1,j := 0, j = 0, ..., N + 1

Ui,0 = Ui,N +1 := 0, i = 0, ..., N + 1

6.5.

151

LA MTHODE DU GRADIENT CONJUGU

L'criture matricielle de ce systme ncessite le choix d'une numrotation des noeuds.


Une numrotation par ligne conduit un systme

1
AUh = fh
h2
o

1 4

0 1

..

A=

1
4

0
1

1
..
.

1
1

..

..

..

.
0

..
..
..

.
.

..

..
..

..

.
.

..

1
.

..

..

1
0

.
4

..

..

..

..
. 1
1 4

on montre que A est de type (V ). On vrie que les vecteurs

U k,l , k, l = 1, ..., N
de composantes

k
l
sin j
, i, j = 1, ..., N
N +1
N +1
sont vecteurs propres de J = L + U pour les valeurs propres
(
)
1
k
l
k,l
=
cos
+ cos
.
2
N +1
N +1
k;l
Ui,j
= sin i

Ainsi



(J) = max k,l = cos
k,l

.
N +1

On retrouve donc les mmes formules qu'en (6.33), (6.34), (6.37). Pour atteindre une
prcision en h2 , le mme nombre d'itrations que dans l'exemple prcdent est ncessaire. Chaque itration requiert environ kN 2 oprations, d'o un cot total d'environ
( un facteur prs) N 4 log N pour Jacobi et Gauss-Seidel, N 3 log N pour la relaxation
optimale. A titre de comparaison, une factorisation de Cholesky ncessiterait environ
1 4
2 N oprations.
6.5

La mthode du gradient conjugu

Nous terminons ce chapitre par une prsentation succinte d'une mthode de rsolution
de systmes linaires matrices symtriques dnies positives beaucoup plus moderne.
Elle est actuellement trs employe pour les grandes matrices creuses. Couple avec des
techniques de prconditionnement, elle fournit l'heure actuelle, l'une des mthodes
les plus performantes pour ce type de matrices.

152

CHAPITRE 6.

RSOLUTION DE SYSTMES LINAIRES

Il s'agit d'une mthode semi-directe : en eet, elle consiste construire une suite
de vecteurs Xk qui, en arithmtique exacte converge en moins de N itrations vers la
solution du systme (suppos d'ordre N ). Cependant, les erreurs d'arrondi font que,
dans les calculs eectifs, la valeur exacte n'est pas toujours atteinte au bout de N
itrations. On doit alors continuer les itrations (au plus de 3N 5N ). Le cot de
chaque itration est celui du produit de la matrice A par un vecteur. Elle est donc
particulirement conseille pour les matrices creuses.
L'ide de dpart est la suivante :

Proposition 6.3

Soit A une matrice symtrique dnie positive d'ordre N . Alors le


vecteur X RN est solution de
AX = b
(6.39)
si et seulement si il ralise le minimum de la fonctionnelle
J (Y ) =

1t
Y AY t bY.
2

(6.40)

Dmonstration : Un calcul simple montre que


J (Y ) J (X) = t (AX b) (Y X) +
Si AX = b, puisque

1t
(Y X) A (Y X) .
2

(Y X) A (Y X) > 0 si Y = X,

cette galit montre que J (Y ) > J (X) et donc X ralise le minimum de J .


Inversement, si X ralise le minimum de J , pour tout rel

J (X + Y ) J (X) ,
ce qui s'crit encore

2 t
Y AY + t (AX B) Y 0 R.
2
Divisant par > 0 et faisant tendre vers 0, on obtient
t

(AX b) Y 0.

Faisant de mme avec < 0, on obtient

Y RN ,

(AX b) Y = 0

et donc AX = b.
La caractrisation de la solution X de (6.39) donne par la proposition 6.3 conduit un
nouveau point de vue pour le calcul de X savoir utiliser un algorithme d'optimisation
pour dterminer le minimum de J. On retiendra ici l'algorithme du gradient conjugu
dont le principe est le suivant.
On choisit un vecteur initial X0 RN et on note r0 := b AX0 . On construit alors des
vecteurs X1 , X2 , ..., Xk et r1 , r2 , ..., rk de RN par rcurrence suivant la rgle
{
Xk+1 ralise le minimum de J (Xk + 0 r0 + 1 r1 + ... + k rk )
(6.41)
parmi les (0 , ..., k ) Rk+1 .

rk+1 := b AXk+1 .

(6.42)

6.5.

153

LA MTHODE DU GRADIENT CONJUGU

Il est clair que la justication essentielle de l'utilisation de cette mthode est que le
problme (6.41) peut tre rsolu de faon simple. Par ailleurs, les directions ri tant,
comme on le verra, linairement indpendantes, (6.41) correspond une minimisation
sur un espace ane de domaine k + 1. A la N -ime tape, on obtiendra donc ncessairement le minimum de J sur l'espace RN tout entier.
Nous donnons maintenant la formulation explicite de (6.41), (6.42) telle qu'elle est
utilise en pratique.

Algorithme du gradient conjugu

 On choisit X0 RN
 r0 := b AX0 , p0 := r0

Pour k = 0, 1, ...
Si rk = 0, stop ; Xk est la solution du systme

Sinon, on calcule

rk rk

k := t
, Xk+1 := Xk + k pk

p
k Apk

rk+1 rk+1

rk+1 := rk k Apk , k = t

rk rk

(6.43)

pk+1 := rk+1 + k pk .

Remarque 6.25

chaque tape, seul le produit matriciel Apk est eectuer auquel il


faut ajouter l'valuation de deux produits scalaires et quelques combinaisons linaires
de vecteurs. Ceci est videmment trs modeste si la matrice est creuse. Par ailleurs, il
faut chaque tape stocker les 4 vecteurs Xk , pk , Apk , rk .

Thorme 6.7

Soit A symtrique dnie positive. Alors il existe l N tel que


AXl = b (ou rl = 0).

De plus, on a les proprits suivantes


0 i < j l
0 i < j l

ri rj = 0

(6.44)

pi Apj = 0

(6.45)

k l rk = b AXk .

(6.46)

Remarque 6.26 Dans ce rsultat, il est implicite que les vecteurs Xk , rk , pk peuvent
tre eectivement calculs pour tout k l selon la loi (6.43). En particulier, pour tout
k < l, on a
t
rk rk > 0, tpk Apk > 0.
(6.47)
La relation (6.45) exprime que les vecteurs pi sont deux deux conjugus par rapport
A. C'est cette proprit qui est l'origine du nom de la mthode. On remarque
que connaissant Xk , on calcule Xk+1 en lui ajoutant un vecteur colinaire pk . Le
vecteur pk doit tre interprt comme une direction dans laquelle on se dplace pour
atteindre un nouveau point Xk+1 en lequel J prend une valeur plus petite (on aura bien
sr J (Xk+1 ) J (Xk ) d'aprs (6.41)). La mthode consiste donc choisir chaque
fois une direction de descente qui est conjugue des directions prcdemment choisies
relativement la matrice A.
Le thorme 6.7 se dmontre de faon lmentaire. Il sut de vrier par rcurrence les
relations (6.44), (6.45), (6.46), (6.47). D'aprs (6.44), les vecteurs r0 , r1 , ..., rk forment
un systme orthogonal. On est donc assur que rk s'annule pour k N = dimension

154

CHAPITRE 6.

RSOLUTION DE SYSTMES LINAIRES

de l'espace. Le processus s'arrte donc en un nombre ni d'itrations ce qui, a priori,


en fait une mthode directe. En pratique, on constate souvent, qu' cause des erreurs
d'arrondi, rN n'est pas nul. On poursuit alors le calcul (6.43) au-del de k = N jusqu'
ce que rk soit susamment petit. En pratique, la mthode est donc plutt de nature
itrative.
Enn, pour bien justier l'ide initiale de la mthode, il faudrait vrier que la suite Xk
satisfait la proprit de minimisation (6.41). Celle-ci laisse entrevoir que la mthode
n'est pas particulire aux fonctionnelles du type (6.40) et doit pouvoir s'tendre des
fonctionnelles non linaires plus gnrales, ce qui est le cas. Pour une tude de ce type,
nous renvoyons la littrature concernant les problmes d'optimisation.

6.5.1 Gradient conjugu avec prconditionnement


On applique souvent la mthode ci-dessus aprs un changement de variable du type
Z = LX o L est facile inverser. Si la matrice L est bien choisie, l'algorithme converge
plus vite. Par exemple si L est la matrice triangulaire de Cholesky, la mthode converge
en une itration qui correspond en fait une remonte et une descente et revient
la mthode usuelle de Cholesky. Le plus souvent, L est obtenue par factorisation
incomplte de A de faon bncier des zros de A et limiter le cot de stockage.
6.6

Exercices du chapitre 6

Exercice 6.1 Montrer que la factorisation A = LU est unique si on impose que les
lments diagonaux de L soient tous gaux 1 (et A inversible).
Exercice 6.2
Exercice 6.3

Montrer que la structure-bande est conserve dans la factorisation.

Montrer qu'une permutation de lignes de A revient multiplier A


gauche par une matrice T simple (on l'appelle matrice de transposition).

Exercice 6.4

Montrer que, dans l'algorithme de Crout compact ukk =


o Ak est la matrice de rang k extraite de A :

Ak

A=

det Ak
det Ak1

Exercice 6.5

Montrer que maxi,j |aij | n'est pas une norme matricielle, mais que

Exercice 6.6
Exercice 6.7

Montrer (A A) = (AA ) .

Exercice 6.8

On considre la matrice
)
(
2
2 2

A=
.
2 2
9

en est une.

Montrer que (J) < 1 < (L1 )

1 2
A= 1 1
2 2

(k 2)

(
i,j

a2ij

lorsque

2
1 .
1

Quel est son conditionnement pour les normes matricielles usuelles ? On multiplie la
premire ligne par un coecient , comment choisir pour que le conditionnement
soit minimum ?

)1/2

Chapitre 7

Calcul de valeurs propres et


vecteurs propres
7.1

Rappels

Soit A une matrice carre d'ordre N coecients rels ou complexes et un scalaire


rel ou complexe. Alors sont quivalents

(
)
X RN ou CN , X = 0, AX = X

(7.1)

A I est une matrice non inversible

(7.2)

det (A I) = 0

(7.3)

Si satisfait une de ces proprits, on dit que est valeur propre de A et tout vecteur
satisfaisant (7.1) est appel vecteur propre de A associ la valeur propre .
On vrie que det (A I) est un polynme de degr N (dit polynme caractrisN
tique de A) dont le coecient de plus haut degr est (1) . Ainsi les valeurs propres
de A sont les racines d'un polynme de degr N . Donc A admet exactement N valeurs
propres complexes (en comptant les racines multiples ventuelles avec leur multiplicit). D'autre part, la recherche de valeurs propres tant quivalente la recherche
des racines d'un polynme, les mthodes ne peuvent tre qu'itratives et non directes,
puisque, d'aprs le thorme d'Abel, on ne peut rsoudre par radicaux un polynme
quelconque de degr suprieur ou gal 5.
On peut penser que le calcul numrique de valeurs propres est un cas particulier du
calcul numrique des racines d'un polynme. La dicult d'valuer numriquement le
polynme det (A I) fait que les algorithmes reposant sur cette ide sont en gnral
peu performants. C'est en fait, plutt l'inverse qui se produit savoir que le calcul des
racines de

N + a1 N 1 + ... + aN1 + aN
peut se faire en appliquant un algorithme de recherche de valeurs propres la matriceN
compagnon suivante dont le polynme caractristique est, au facteur (1) prs, le

155

156

polynme prcdent.

CHAPITRE 7.

a1
1

..
.

.
..

.
..
0

CALCUL DE VALEURS PROPRES ET VECTEURS PROPRES

a2
0

1
..
.

0
..
.

..

..

..
..

..

..

.
0

..

aN
0
..
.
..
.
..
.
..
.
0

Remarque 7.1 On vrie immdiatement que les valeurs propres d'une matrice triangulaire sont les lments diagonaux de cette matrice puisqu'on a alors
det (A I) =

(aii ) .

i=1

Plusieurs des algorithmes qui vont suivre consisteront prcisment rendre la matrice A initiale triangulaire ou mme diagonale, ce en construisant une suite A0 =
A, A1 , ..., Ak de matrices ayant les mmes valeurs propres et tendant vers une matrice
triangulaire ou diagonale. Pour cela, il est ncessaire de rappeler que la transformation
de base laissant invariant l'ensemble des valeurs propres est la similitude.

Dnition 7.1

Deux matrices A et A sont dites semblables s'il existe une matrice


inversible P telle que
A = P 1 AP.
On dit que A est diagonalisable si elle est semblable une matrice diagonale.
Deux matrices semblables ont les mmes valeurs propres.

Proposition 7.1

Une matrice A est diagonalisable si et seulement s'il existe une base


de RN (ou CN ) forme de vecteurs propres de A.

Dmonstration : Supposons A = P 1 AP
la base canonique de RN , soit

diagonale. Notons ei le i-me vecteur de

ei = (0, ..., 1, 0, ..., 0)


i-me composante
Notons i , i = 1, ..., N les lments diagonaux de A . Alors

A ei

= i ei = P 1 AP ei
= i P ei = AP ei .

Donc {P ei , i = 1, ..., N } sont des vecteurs propres de A. Comme P est inversible, elle
transforme une base en une base. On obtient ainsi une base de vecteurs propres pour
A qui ne sont autres que les vecteurs colonnes de P.
Inversement, s'il existe une base de vecteurs propres de A, on note P la matrice dont les
vecteurs colonnes sont ces vecteurs propres et on vrie par le mme calcul que P 1 AP
est alors diagonale, avec sur la diagonale les vecteurs propres de A.
Cas particulier : On dit que A est orthogonalement (resp. unitairement) diagonalisable si
la matrice P peut tre choisie orthogonale, i.e. P 1 = tP (resp. unitaire, i.e. P 1 = tP ).
Ceci est bien sr quivalent
N l'existence de vecteurs
N propres orthogonaux pour le
produit scalaire X, Y = i=1 xi yi (resp. X, Y = i=1 xi yi dans le cas complexe).

7.2.

157

ORIGINE DES PROBLMES DE VALEURS PROPRES

Remarque 7.2 orthogonal et unitaire concident lorsque les vecteurs sont rels.
Si A est coecients rels, ses valeurs et vecteurs propres ne sont pas ncessairement
rels. Cependant, les valeurs et vecteurs propres complexes sont conjugus deux deux.
Rappelons sans dmonstration quelques rsultats que nous serons conduits utiliser
dans la suite.

Thorme 7.1

i) Si A a toutes ses valeurs propres distinctes, elle est diagonalisable


(si A est relle, les valeurs propres sont alors relles).
ii) Une matrice hermitienne (i.e. tA = A) a toutes ses valeurs propres relles et est
unitairement diagonalisable.
iii) Une matrice symtrique relle a toutes ses valeurs propres relles et est orthogonalement diagonalisable.
7.2

Origine des problmes de valeurs propres

Sans tre exhaustif (loin de l), nous allons citer ici quelques exemples simples conduisant naturellement la recherche de valeurs et vecteurs propres d'une matrice.

7.2.1 Vibration d'une corde


Considrons une corde tendue entre ses deux extrmits supposes xes. Il s'agit de
dterminer les mouvements vibratoires stationnaires de la corde et par l-mme ses
frquences fondamentales.
On dmontre que, pour de petits dplacements u (t, x) de la corde, l'volution de u (t)
est rgie par l'quation des ondes :

2u
2u
(t, x) 2 2 (t, x) = 0
2
t
x

(7.4)

ce, en l'absence de forces extrieurs. Si la corde est attache aux extrmits, il faut
ajouter les conditions au bord qui sont

u (t, 0) = 0,

u (t, l) = 0

(7.5)

si les extrmits sont dnies par x = 0 et x = l.


La recherche de mouvements stationnaires consiste dterminer les solutions du systme (7.4), (7.5) sous la forme

u (t, x) = u (x) eit

(7.6)

o est la frquence dterminer et u (x) la forme stationnaire de la corde dterminer. On constate que les parties relles et imaginaires de u (t, x) correspondent des
vibrations de priode 2
auxquelles la corde peut tre soumise en rgime libre.
Plus gnralement, pour rsoudre ce problme, posons a priori

u (t, x) = u (x) v (t)


Alors (7.4) quivaut

v (t) u (x) = 2 u (x) v (t)

ce qui, par sparation des variables, quivaut l'existence d'une constante telle que

u (x) = u (x) , v (t) = 2 v (t) .

158

CHAPITRE 7.

CALCUL DE VALEURS PROPRES ET VECTEURS PROPRES

Il faut ajouter ceci les conditions au bord, savoir

u (0) = u (l) = 0.
Considrons alors le problme

u (x) = u (x)

(7.7)

u (0) = u (l) = 0.

(7.8)

Il est clair que u 0 (position d'quilibre) est toujours solution. Ce qui nous intresse
est l'existence ventuelle de solutions non triviales u (x). Ceci ne se produira en fait
que pour des valeurs bien particulires de qui sont prcisment les valeurs propres de
l'oprateur u u avec les conditions au bord u (0) = u (1) = 0.
Cette situation simple peut en fait s'analyser directement. On vriera les rsultats
suivants :
Si < 0, la solution gnrale de (7.7) s'crit

u (x) = Ae

+ Be

o A et B sont des constantes dterminer par les conditions (7.8). Dans tous les cas,
on obtient A = B = 0 donc seulement la solution triviale.
Si = 0, la solution gnrale de (7.7) s'crit

u (x) = Ax + B
ce qui avec (7.8) conduit au mme rsultat ngatif.
Si > 0, la solution gnrale de (7.7) est

u (x) = A cos x + B sin x.


On constate qu'on peut satisfaire (7.8) si et seulement si

= k =

k2 2
, k = 1, 2, ...
l2

les solutions correspondantes tant donnes par


(
)
kx
uk (x) = sin
.
l
Revenant l'quation en v , aux k , uk , on peut associer les solutions

vk (t) = Ck eikt/l , Ck C.
D'o les solutions stationnaires cherches :

uk (t, x) = Ck sin

kx
l

)
eikt/l

Dans bien des cas, la rsolution analytique explicite de tels problmes n'est pas possible
et il est ncessaire de recourir une rsolution numrique.
Le premier travail consiste remplacer le problme continu de type (7.7), (7.8) par
un problme discrtis approch o les inconnues sont en nombre ni. On utilise par
exemple une discrtisation par dirences nies ou lments nis.

7.2.

159

ORIGINE DES PROBLMES DE VALEURS PROPRES

Ainsi, on pourra remplacer (7.7), (7.8) par le problme discrtis

Ui+1 + Ui1 2Ui = U , i = 1, ..., N


i
h2

U0 = 0, UN+1 = 0

(7.9)

l
correspondant une subdivision rgulire de pas h = N +1
de l'intervalle [0, 1] et utilisant l'approximation par dirences nies 3 points de la drive seconde

u (x)

u (x + h) + u (x h) 2u (x)
.
h2

On est donc ramen au problme de

1
0
Ah = 2
h
...

.
..
0

la recherche des valeurs propres de la matrice

1 0
0
..
..
.
2
1
.

.
..
..
..
..
.
.
.
. ..

..
..
..
..
.
.
.
. 0

..
..
..
.
.
. 1
0
1 2

Dans ce cas simple, on peut d'ailleurs calculer explicitement les valeurs propres de Ah ,
soit :
4
k
hk = 2 sin2
1kN
h
2 (N + 1)
associes aux vecteurs propres

( )
ki
U k = Uik Uik = sin
.
N +1
On constate que pour k x,

lim hk = k = k 2 2 .
h0

7.2.2 Vibration d'une membrane


La version bidimensionnelle du problme prcdent consiste dterminer les vibrations
propres d'une membrane xe un contour rigide . L'quation aux drives partielles
s'crit
[ 2
]
2u
2u
2 u
(t, x, y) =
(t, x, y) + 2 (t, x, y) , (x, y)
t2
x2
y
o est l'intrieur du contour et

u (t, x, y) = 0 sur .
Le problme de valeurs propres associ s'crit
{ [ 2
]
2
xu2 + yu2 = u sur
u = 0 sur .

(7.10)

La discrtisation de (7.10) conduit la recherche des valeurs propres de la matrice de


2
2
discrtisation de l'oprateur Laplacien x
2 + y 2 .

160

CHAPITRE 7.

CALCUL DE VALEURS PROPRES ET VECTEURS PROPRES

7.2.3 Problmes de valeurs propres gnraliss


Le plus souvent la discrtisation des oprateurs aux drives partielles intervenant dans
les problmes de la physique conduit des problmes de valeurs propres gnralises
du type
Au = Bu
(7.11)
o A et B sont des matrices. Si B est diagonale, on est encore dans la situation prcdente. Cependant, le plus souvent B est une matrice simple mais non diagonale ; elle
sera en gnral symtrique dnie positive et creuse. En thorie, on peut se ramener au
cas prcdent en remplaant (7.11) par le systme quivalent

B 1 Au = u
Mais ceci dtruit en gnral les proprits structurelles de A et B . Par exemple B 1 A
n'est pas en gnral symtrique si A et B le sont.
On prfrera commencer par une factorisation de Cholesky de B , soit B = C tC o C
est triangulaire infrieure. Alors, on crit (7.11) sous la forme

C 1 Au = tCu
ce qui quivaut

C 1 A (tC) X = X
t
Cu = X.
1

On a donc rsoudre un problme de valeurs propres matrice symtrique C 1 A (tC)


puis rsoudre un systme triangulaire pour obtenir les vecteurs propres u partir de
X.

7.2.4 Systme mcanique


Le calcul des frquences fondamentales de petits mouvements, au voisinage d'une
position d'quilibre, d'un systme mcanique ayant un nombre ni N de degrs de
libert conduit une quation direntielle du type

M u (t) + Su (t) + Ru (t) = 0


o u (t) est un vecteur dont les composantes sont les N degrs de libert du systme
et M, S, R des matrices relles d'ordre N . Ici M est la matrice de l'nergie cintique
ou matrice de masse, R la matrice de rappel ou matrice de rigidit et S la matrice
d'amortissement.
Si on cherche des solutions de la forme u (t) = et u o u et tels que
( 2
)
M + S + R u = 0,
ceci est un nouveau problme gnralis de valeurs propres. A chaque solution corres2
pondra une priode fondamentale T = m
. La partie relle de correspond au terme
d'amortissement.
On se ramne la situation prcdente en considrant les matrices d'ordre 2N .
[
]
[
]
I 0
0 I
A =
B =
.
0 M
R S
Si (, u
e) est solution de A u
e+B u
e = 0 en posant u
e = (u, v) on a :
{
u v = 0
soit 2 M u + Su + Ru = 0.
M v + Ru + Sv = 0

7.3.

MTHODE DE LA PUISSANCE ITRE ET DE LA PUISSANCE INVERSE

7.2.5 Autres exemples


Citons maintenant sans dtailler d'autres problmes d'origines trs diverses qui conduisent
vouloir calculer des valeurs propres :
 En analyse numrique, on a vu qu'on avait souvent besoin de dterminer le rayon
spectral d'une matrice (convergence des mthodes itratives, calcul du conditionnement).
 L'tude du comportement des suites rcurrentes linaires, qui interviennent dans
de nombreux domaines partir du moment o on eectue la modlisation d'un
phnomne discret, ncessite la dtermination de la plus grande valeur propre d'une
matrice (exemples : matrice de transition en biologie, chanes de Markov).
 Dans le mme ordre d'ides, l'tude de la stabilit des systmes direntiels conduit
rechercher les valeurs propres de la matrice du systme ou de son linaris.
 Les techniques statistiques d'analyse de donnes, l'analyse en composante principale
par exemple, conduisent rechercher les plus grandes valeurs propres de la matrice
des donnes. Ces techniques sont employes en conomie, gographie, sciences humaines,...
On peut trouver encore d'autres exemples. L'un des faits frappants dans l'inventaire
ci-dessus est que, suivant le type de questions, on ne cherchera qu'une valeur propre, ou
quelques valeurs propres, ou toutes les valeurs propres. De mme, on a parfois besoin
des vecteurs propres correspondants, quelquefois non. Le choix de la mthode employe,
parmi celles qu'on va dcrire dans ce chapitre, sera donc trs dpendant de ce qu'on
veut.
7.3

Mthode de la puissance itre et de la puissance

inverse

Commenons par un algorithme simple trs souvent utilis quand il s'agit seulement de
trouver quelques valeurs et vecteurs propres d'une matrice A.

7.3.1 Mthode de la puissance itre


Considrons d'abord la suite dnie par

Xn+1 = AXn .
Supposons que A soit diagonalisable et soit e1 , e2 , ...eN une base de vecteurs propres.
Notons 1 , ..., N les valeurs propres associes dans le mme ordre. Ecrivons enn

X0 = 1 e1 + 2 e2 + ... + N eN
la dcomposition de X0 suivant la base (ei ) . Alors

Xn = 1 n1 e1 + 2 n2 e2 + ... + N nN eN .
Supposons maintenant qu'on ait rang les valeurs propres i de telles faon que :

|N | > |N1 | |N2 | ... |1 | .


Alors

[
(
)n
( )n ]
N1
1
Xn = nN N eN +
eN1 + . . . +
e1 .
N
N

(7.12)

161

162

CHAPITRE 7.

Puisque, pour i < N , limn

i
N

)n

CALCUL DE VALEURS PROPRES ET VECTEURS PROPRES

= 0, on voit que pour n grand

Xn nN N eN .
Donc
 pour n grand, Xn donne la direction du vecteur propre eN
 si la j -ime composante de eN est non nulle, on a

N lim
n

(Xn+1 )j
(Xn )j

Nous venons de dcrire peu de chose prs la mthode de la puissance itre permettant
de calculer la plus grande valeur propre de A et le vecteur propre associ. La seule
modication apporter vient du fait que comme Xn peut tendre vers l'inni , on
ne peut numriquement l'utiliser tel quel. Il faut donc procder une normalisation
chaque tape.

Algorithme de la puissance itre :

X0 choisi
Yn+1 = AXn
Xn+1 = Yn+1 / Yn+1 2

n+1 = tXn Yn+1 .

Proposition 7.2

On suppose A diagonalisable, ses valeurs propres vriant


|1 | |2 | . . . |N1 | < |N | .

On note X0 = 1 e1 + ... + N eN o e1 , ..., eN sont des vecteurs propres respectivement


associs 1 , ..., N et on suppose N = 0. Alors
{
limn n+1 = N
(7.13)
limn Xn+1 n N = 0
o N est un vecteur colinaire eN et =




linaire de rapport NN1 .

N
|N | .

De plus la convergence est au moins

Dmonstration :

Posons Zn = An X0 . On vrie par rcurrence que Xn =


D'aprs (7.12), on a :
(
)
)n
N
1 (

i
n
Zn = N N eN +
i ei ,
N
i=1
soit

)n )
(
(
N1
Zn = nN N eN +
n
N
o n est un vecteur born quand n . On en dduit


(
)
N1 n
n


Zn 2 = |N | |N | eN 2 +
n
N
o n est une suite borne de rels. Ainsi


)n [
(
]
N1 n
N eN
N
n
+
Xn =
|N |
|N | eN 2
N

Zn
Zn 2 .

7.3.

MTHODE DE LA PUISSANCE ITRE ET DE LA PUISSANCE INVERSE

o n est une suite borne de vecteurs. Ceci montre le deuxime point de (7.13) avec
= N / |N | et N = N eN / |N | eN 2 . D'aprs les calculs ci-dessus, on a
(
(
(
)
(
)n )
)n
N1
N 1
.
N+1 = n N +
n , n N N +
An
N
N
Puisque N , N = 1, on en dduit

N+1 = N +

N1
N

)n
n

o n est une suite borne de rels. Ceci montre le deuxime point de (7.13). La vitesse
de convergence rsulte des estimations ci-dessus.

Remarque 7.3

 La convergence est montre sous l'hypothse que la composante du


vecteur initial selon le vecteur propre eN soit non nulle. C'est videmment invriable
en pratique. Cependant, on constate que les erreurs d'arrondis sont en gnral susantes pour crer une composante non nulle selon eN qui est ensuite amplie. Ceci
fait que la mthode converge pratiquement toujours.
 Si la matrice A est relle et X0 rel, les vecteurs Xn et n restent rels. Ceci est
compatible avec l'hypothse faite : en eet, comme N est de module suprieur
celui de toutes les autres valeurs propres, elle est ncessairement relle.
 On peut se demander ce qui se passe dans cet algorithme lorsque

|N | = |N1 | > |N2 | ... |1 | .


On a alors

Zn = N N eN +

N1
N

)n

])
[
N2 n


N 1 eN 1 + O
.
N

L'analyse de ce cas est renvoye en exercice.

7.3.2 Mthode de la puissance inverse


Nous pouvons appliquer la mthode prcdente la matrice A1 ; comme les valeurs
propres de A1 sont les inverses de celles de A, on a ainsi un procd pour obtenir
la valeur propre de A de plus petit module et le vecteur propre correspondant sous
l'hypothse que A est diagonalisable et

|1 | < |2 | ... |N | .
Plutt que calculer explicitement A1 , on prfre eectuer une factorisation de la matrice A (par exemple de type LU ou de type Choleski si elle est symtrique). Les itrs
successifs s'obtiennent alors par la rsolution du systme AYn+1 = Xn . Plus gnralement, ce procd nous permet d'aborder le calcul de n'importe quelle valeur propre
e. Il sut d'appliquer la
de A dont on connait une valeur susamment approche
e
mthode de la puissance inverse la matrice translate A I.

Algorithme de la puissance inverse avec translation

X0 donn
e n+1 = Xn
AYn+1 Y
X
=
Y

n+1
n+1 / Yn+1 2

e
n+1 = + 1/tXn Yn+1 .

163

164

CHAPITRE 7.

CALCUL DE VALEURS PROPRES ET VECTEURS PROPRES





e

e

Si A est diagonalisable et si
i <
j i = j d'aprs la proposition 7.2,
(
)1
1
e
tend vers la valeur propre de plus grand module de A I
qui n'est
e
n+1
1
autre que
et donc n tend vers i . On vrie que Xn tend vers un vecteur propre
e
i
correspondant.

Remarque 7.4

 La mthode ci-dessus permet en fait de trouver toutes les valeurs


propres simples (et mme multiples, cf. l'exercice 7.1) d'une matrice diagonalisable.
 La convergence dans l'algorithme prcdent est linaire de rapport



e

i

.
max

j=i e
j
e. Prenant par exemple
On peut acclrer la vitesse de convergence en faisant varier
f
n = n chaque tape, on acclre trs srieusement la convergence.
 Cette technique peut tre aisment tendue au problme de valeurs propres gnralis :
AX = BX.

Algorithme de la puissance inverse gnralis

e valeur approche de
X0 choisi,

e n+1 = BXn
AYn+1 BY

Xn+1 = Yn+1 / Yn+1 2

e + 1/tXn Yn+1 .
n+1 =

Remarque 7.5

Comme il a dj t signal plus haut, il est prfrable de travailler


e plutt que B 1 A pour prserver les structures particulires de
avec la matrice A B
A et B.

7.4

Mthode de Jacobi

Cette mthode s'applique aux matrices symtriques relles. Elle permet d'en trouver
simultanment toutes les valeurs propres et tous les vecteurs propres. Elle s'applique
bien aux matrices pleines.
Principe : On construit des matrices orthogonales k telles que les matrices Ak dnies
par
{
A0 = A
Ak+1 = tk Ak k
convergent vers une matrice diagonale. On lit alors les valeurs propres de A sur la
diagonale de Ak pour k assez grand. Les vecteurs propres de A sont les vecteurs colonnes
de

Ok = 1 2 ...k .

7.4.

165

MTHODE DE JACOBI

Les matrices k seront des matrices de

..
0
.
1

..
.
..

..
0
1
.

cos

..

.
1

.
..
=
0

..

.
0

sin

..

..

0
.

..
.

p-ime colonne

rotation, soit du type

..

..
.
..
.
..
.
sin
..
.
..
.
..
.

cos
..
.
..
.
..
.

1
..


p-ime ligne

q -ime ligne

q -ime colonne

Si A est symtrique, examinons B = tA. On a

bij =

=1

Ainsi

ak kj =

N
N

i kj ak .

k=1 =1

k=1

si i = p, q et j = p, q bij = aij
si i = p et j = p, q bpj = cos apj sin apj
si i = q et j = p bqj = sin apj + cos aqj

pour i = j = p bpp = cos2 app + sin2 aqq sin 2apq

pour i = j = q bqq = sin2 app + cos2 aqq + sin 2apq

pour i = p, j = q bpq = cos 2apq + sin22 (app aqq )

le reste est obtenu par symtrie.


Au vu de l'expression de bpq , il apparait que si apq = 0, on peut choisir pour que
bpq = 0, il sut de prendre tel que

cot 2 =

Lemme 7.1

aqq app

, .
2apq
4
4

Si est choisi selon (7.14), on a

b2ij =
a2ij
i,j

b2ii =

(7.14)

(7.15)

i,j

a2ii + 2a2pq

(7.16)

Remarque 7.6

Au vu de ce lemme, on voit que si apq = 0, la diagonale de B est


globalement plus dominante que celle de A. Notons que par dirence

b2ij =
a2ij 2a2pq .
i=j

i=j

166

CHAPITRE 7.

CALCUL DE VALEURS PROPRES ET VECTEURS PROPRES

La rptition de ce type d'oprations devrait creuser de plus en plus la partie hors


diagonale des matrices successives.

Dmonstration du lemme 7.1 : Pour (7.15) on utilise

(
) 2
(
) 2
bij , trace tAA =
aij .
trace tBB =
i,j

i,j

Mais :
Donc

B = tA = tBB = ttAA.
(
)
(
)
(
)
trace tBB = trace ttAA = trace tAA .

Pour (7.16), on remarque que


[
] [
bpp bpq
cos
=
bqp bqq
sin

sin
cos

][

app
aqp

apq
aqq

][

cos
sin

sin
cos

]
.

par le mme raisonnement que ci-dessus, on a

b2pp + b2qq + 2b2pq = a2pp + a2qq + 2a2pq .


Si on choisit pour que bpq = 0, comme les autres lments diagonaux de B sont
identiques ceux de A, on en dduit (7.16).

Remarque 7.7

Dans la pratique, on vite de faire appel aux fonctions transcendantes


pour le calcul de B en fonction de A. On utilise un calcul reposant sur les formules
trigonomtriques classiques : si t = tan

cot 2 =

1 t2
1
t2
2
, cos2 =
,
sin

=
.
2t
1 + t2
1 + t2

Ainsi, puisqu'on peut supposer ||

4,

posant

aqq apq
2apq

(7.17)

la valeur t est calcule comme la racine de plus petit module de

t2 + 2t 1 = 0.
Puis on calcule

c=

1
, s = tc
1 + t2

bpi = capi saqi i = p, q

bqi = caqi sapi i =


p, q
b
=
a

ta

pp
pp
pq

bqq = aqq + tapq

(7.18)
(7.19)

(7.20)

Algorithme de Jacobi classique

On pose A0 = A
On dtermine l'lment akpq de Ak ralisant le plus grand module parmi

les lments hors diagonaux.

On calcule Ak+1 selon les formules (7.17)-(7.20) o Ak joue le rle de A et


Ak+1 celui de B.

7.4.

167

MTHODE DE JACOBI

Proposition 7.3
vers l'inni.

Les lments hors diagonaux de Ak tendent vers 0 lorsque k tend


Notons mk = maxi=j akij . Le couple (p, q) est choisi pour que
akpq = mk . D'aprs (7.15), (7.16), on a

Dmonstration
:

(
)2 ( k )2
ak+1
=
aij 2m2k .
ij
i=j

Puisque

i=j

akij

)2

(
)
N 2 N m2k ,

i=j

on en dduit

ak+1
ij

)2

i=j

Donc la suite

i=j

)
k+1 2

aij

(
1

2
N (N 1)

( k )2
aij .

i=j

converge de faon gomtrique vers 0.

(
)
La diagonale Dk de Ak converge vers une matrice D = diag (i)
o est une permutation sur {1, 2, ..., N } .

Proposition 7.4

Dmonstration : On a, puisque A et Ak sont semblables et par dnition de D


det (A I) = det (Ak I) = det (D I)
et d'aprs la proposition 7.3

lim det (Dk I) = det (D I) .

En particulier les racines du premier polynme convergent vers celles du second. Reste
vrier qu'il n'y a pas change entre deux racines d'une itration l'autre. Or, on
vrie directement l'aide des formules (7.20) que Dk converge vers D. En eet

ak+1
akii
ii
k+1

app akpp
k+1

aqq akqq

Proposition 7.5
la matrice

= 0 si i = p, q

t akpq akpq k 0

t akpq akpq k 0.

On suppose que toutes les valeurs propres de A sont distinctes. Alors


Ok = 1 2 ...k

converge vers une matrice orthogonale dont les vecteurs colonnes sont vecteurs propres
de A.
La dmonstration de ce dernier point est laiss au lecteur.

Remarque 7.8

La dtermination de akpq comme indique dans la mthode classique


est relativement coteuse si la taille de la matrice est importante. On lui prfre souvent
les choix suivants :
Mthode de Jacobi cyclique : on annule successivement tous les lments hors diagonaux
par un balayage cyclique par exemple ligne par ligne de la gauche jusqu' la diagonale.
Bien sr, si un lment est nul, on passe au suivant.
Mthode de Jacobi avec seuil : on procde au mme balayage, mais on omet d'annuler
les lments infrieurs un certain seuil qu'on diminue chaque balayage.
On dmontre que ces procds donnent lieu aux mmes rsultats de convergence que
prcdemment.

168

7.5

CHAPITRE 7.

CALCUL DE VALEURS PROPRES ET VECTEURS PROPRES

Mthode de Givens-Householder

Elle est particulirement bien adapte la recherche des valeurs propres d'une matrice
symtrique relle qui sont situes dans un intervalle prslectionn ou de rang donn.
Par contre, elle ne fournit pas les vecteurs propres correspondants.

7.5.1 Principe
Il y a deux tapes :
1) Etant donne A symtrique, on dtermine une matrice orthogonale tel que tA
soit tridiagonale : ceci se fait en un nombre ni d'oprations l'aide de matrices dites
de Householder.
2) On est alors ramen au calcul des valeurs propres d'une matrice tridiagonale symtrique : pour cela, on utilise une mthode de bissection, dite de Givens.

7.5.2 Description de la mthode de Givens


Soit

b1

c1

BN = 0

c1
..
..

0
..
.

..
..

0
..
..

.
cN1

0
cN1
bN

On note PN () = det (BN I) le polynme caractristique de BN . Ces polynmes ont


la proprit remarquable de satisfaire une formule simple de rcurrence 3 termes et
de constituer ce que l'on appelle une suite de Sturm. Cette proprit a pour consquence
une disposition particulire des zros de PN par rapport ceux de PN1 .

Proposition 7.6
P0 ()
=
P1 ()
=
N 2, PN () =

1
b1
(bN )PN1 () c2N1 PN2 ()

(7.21)

Ceci se dmontre aisment en dveloppant det (BN I) suivant la dernire ligne.

Proposition 7.7

Les racines de PN () sont toutes relles, distinctes et spares par


celles de PN1 () . De plus, lim PN () = +, N 1.

Ainsi les racines de P1 , P2 , ..., sont disposes suivant le shma suivant : Ceci se dmontre
aisment par rcurrence l'aide de (7.21). Les dtails sont laisss au lecteur. On en
dduit la consquence suivante sur le nombre de racines de Pi () infrieures un
nombre rel .
Notation : On note N (i, ) le nombre de changements de signes dans la suite
{+, P1 () , P2 () , ..., Pi ()} avec la convention qu'il n'y a pas de changement de signe
lorsqu'un lment est nul.

Proposition 7.8

Pour i 1 et R, N (i, ) est gal au nombre de racines de Pi ()


qui sont strictement infrieures .

Ceci se dmontre par rcurrence. On peut se convaincre du bien-fond de ce rsultat


l'aide du dessin ci-dessus. On en dduit :

7.5.

169

MTHODE DE GIVENS-HOUSEHOLDER

10

P4
5

P3
P1

0
P2
5

10
1

0.5

0.5

1.5

2.5

3.5

Figure 7.1  Les racines des polynmes P1 , P2 , P3 , P4 sont entrelaces


Algorithme de Givens :

Soit 1 ... N les valeurs propres de BN . Supposons


qu'on veuille calculer k pour un certain k {1, ..., N } .
(i) On dtermine un intervalle [a0 , b0 ] dans lequel on est sr de trouver k .
0
(ii) On prend c0 := a0 +b
et on calcule N (N, c0 ) .
2
 si N (N, c0 ) k, alors k [a0 , c0 ] et on pose a1 := a0 , b1 := c0
 si N (N, c0 ) < k, alors k ]c0 , b0 ] et on pose a1 := c0 , b1 := b0
1
(iii) On recommence alors la mme opration avec c1 = a1 +b
2 , puis avec a2 , b2 , c2 , etc.
On construit ainsi une suite de segments emboits [ai , bi ] dont l'intersection est prcisment la valeur cherche k . Aux erreurs d'arrondi prs, on peut donc obtenir k avec
une prcision arbitraire.

Remarque 7.9

les valuations successives des Pj se font bien sr l'aide de la formule


de rcurrence (7.21).

Reste maintenant dcrire une technique de tridiagonalisation des matrices symtriques. Elle est en fait un cas particulier de la mise sous forme Hessenberg d'une
matrice soit

.. . .

.
.

0 ...

o aij = 0 si j < i 1. En eet, on remarque qu'une matrice de Hessenberg symrique


est tridiagonale.
Nous allons ici dcrire en dtail cette technique car elle sera doublement utilise au
paragraphe suivant (factorisation QR), d'une part parce qu'on met souvent une matrice
sous forme Hessenberg avant de calculer sa factorisation QR pour diminuer le cot de

170

CHAPITRE 7.

CALCUL DE VALEURS PROPRES ET VECTEURS PROPRES

calcul, d'autre part parce que l'outil est le mme, savoir l'utilisation de matrices de
Householder.

Dnition 7.2

On appelle matrice de Householder une matrice Hv de la forme


Hv = I 2

o v CN et v = tv .

Remarque 7.10
de v . Par contre

Noter que v v = tvv =

vv = [v1 v2 ...vN ]

v1
v2
..
.

vN

i=1

vv
v v
|vi | est le carr de la norme euclidienne
2

|v1 |
v2 v 1
..
.

v1 v 2
2
|v2 |

... v1 v N
... v2 v N
..
.

vN v 1

...

... |vN |

De plus, si on introduit le vecteur unitaire u =

v
v2 ,

on a Hv = Hu = I 2uu .

 On vrie que ces matrices sont unitaires et hermitiennes. Ces matrices ont une
interprtation gomtrique simple. Supposons par exemple u rel et N = 3. Alors Hu
est la matrice de la symtrie orthogonale par rapport au plan orthogonal u.

u
x
u=(x.u)u

Hu(x)=x2 u

Figure 7.2  Hu (x) est le symtrique de x par rapport au plan orthogonal u.


En eet le transform X de x dans la symtrie orthogonale par rapport au plan orthogonal u est caractris par

X x
et donc X

= 2u o = tux
( )
( )
= x 2u tux = x 2 utu x = Hu x.

 Diverses factorisations de matrices reposent sur l'utilisation de telles matrices de


symtries et plus particulirement de la proprit suivante.

Thorme 7.2

Soit a = (a1 , ..., aN ) RN avec


N

i=2

|ai | = 0.

7.5.

171

MTHODE DE GIVENS-HOUSEHOLDER

Alors il existe une matrice de Householder Hv telle que Hv a ait ses (N 1) dernires
composantes nulles. Plus prcisment, si e1 , ..., eN est la base canonique de RN , on a
Hv a = ke1 ,

Hvba = ke1

k = sgn (a1 ) a2 , v = a + ke1 , vb = a ke1 .

(7.22)
(7.23)

Remarque 7.11 L'intrt du Thorme 7.2 dans les techniques de factorisation est
immdiat. En eet, si a est un vecteur-colonne d'une matrice M , on fait apparatre
des zros dans M en multipliant M par Hv puisque la colonne a est remplace par la
colonne Hv a qui a des zros partout sauf sur la premire composante. Ceci sera utilis
de faon essentielle dans la factorisation QR.
Nous laissons au lecteur la vrication du Thorme 7.2. Nous allons plutt interprter
gomtriquement le Thorme 7.2. Supposons a R3 . La relation (7.22) exprime que a
n'est pas colinaire e1 . On peut alors dterminer aisment une symtrie orthogonale
transformant a en un vecteur colinaire e1 . On voit qu'il y a deux solutions : les
symtries orthogonales par rapport aux plans bissecteurs de l'angle (a, e1 ). Ils sont
orthogonaux aux vecteurs v = a + a2 e1 et vb = a a2 e1 et on a

Hv a = a2 e1 , Hvba = a2 e1
ce qui donne bien les relations (7.22), (7.23) dans le cas rel.

Calcul pratique : (dans le cas rel)

Calculer a2 , v := a a2 e1

Calculer = 12 (tvv) = a2 (a2 a1 )


et choisir + ou pour que soit le plus grand possible.

Pour appliquer H un vecteur b, calculer tvb et H b = b vb v.


v
v

7.5.3 Mise sous forme Hessenberg d'une matrice


Principe : On dtermine des matrices de Householder H1 , H2 , ..., HN2 telles que AN1 =
HN2 ...H1 AH1 ...HN2 soit une matrice de Hessenberg. Puisque les matrices Hi sont
hermitiennes (tH = H = H 1 ), AN1 est semblable A et a donc les mmes valeurs
propres.
Si, de plus, A est symtrique relle et que les Hi sont relles, AN1 est symtrique
et donc tridiagonale. Comme cas particulier, nous allons donc obtenir la technique de
tridiagonalisation annonce au dbut du paragraphe qui constitue la premire tape de
la mthode de Givens-Householder.
Dcrivons maintenant le calcul de Hk1 . Supposons que Ak1 = Hk2 ...H1 AH1 ...Hk2
soit pour k 2 de la forme :


...
...

...
...

.
.
.
.
..

.. . . . .
..
.

.
.

Ak1 =
k ime ligne
0

..
..

.
.

..

.
0 ... 0

...
...
k ime colonne

172

CHAPITRE 7.

CALCUL DE VALEURS PROPRES ET VECTEURS PROPRES

(
)
k1
k1
Considrons le vecteur a = ak1
constitu par la queue de la
k,k1 ak+1,k1 , ..., aN,k1
(k 1)-ime colonne de Ak1 . Soit Hv l'une des matrices de Householder de dimension
N k + 1 associes au vecteur a de RN k+1 par le thorme 7.2 et donc telle que Hv a
soit colinaire ek . Posons alors
]
[
Ik1 0
Hk1 =
0
Hv
o Ik1 est la matrice unit de dimension (k 1). Si on note
]
[ k1
A1
Ak1
2
Ak1 =
Ak1
Ak1
4
3
une multiplication eectue par blocs montre que :
[
] [ k1
] [ k1
Ik1 0
A1
Ak1
A1
2
Hk1 Ak1 =
=
0
Hv
Ak1
Ak1
Hv Ak1
3
4
3

[
Ak = Hk1 Ak1 Hk1 =

Ak1
1
Hv Ak1
3

Ak1
2
Hv Ak1
4

][

Ik1
0

0
Hv

]
=

Ak1
2
Hv Ak1
4
Ak1
1
Hv Ak1
3

Ak1
Hv
2
Hv Ak1
Hv
4

En particulier Hv Ak1
est de la forme
3

Hv Ak1
=

0
0
..
.
0

0
..
.

et donc Ak a la mme structure que Ak1 , k tant remplac par k + 1. Finalement,


AN1 est une matrice de Hessenberg.

Remarque 7.12

L'application du thorme 7.2 ncessite que a soit non colinaire


ek . Si ce n'est pas le cas, le travail est dj fait et on passe immdiatement l'tape
suivante (on a alors Hk = I ).
Si A est symtrique relle, les Hi sont relles. Dans ce cas, on se limitera bien sr
au calcul des lments sur et au-dessous de la diagonale, le reste s'en dduisant par
symtrie.
7.6

La mthode

QR

C'est probablement la mthode la plus couramment utilise pour trouver toutes les
valeurs propres d'une matrice quelconque, notamment non symtrique. L'ensemble des
vecteurs propres peut tre galement obtenu.
Commenons par un rsultat de factorisation :

Thorme 7.3 Soit A une matrice coecients complexes (respectivement rels).


Alors, il existe Q unitaire (respectivement orthogonale) et R triangulaire suprieure
telle que A = QR.
Dmonstration et algorithme de construction de Q et R.

On utilise des matrices de Householder H1 , H2 , ..., HN1 telles que R = HN1 HN2 ...H1 A
1
soit triangulaire suprieure. Posant alors Q = (HN1 HN2 ...H1 ) = H1 H2 ...HN1 on
obtient la factorisation voulue.

7.6.

LA MTHODE

173

QR

La construction des matrices successives Hk repose sur


Ak = Hk1 Hk2 ...H1 A de la forme suivante pour k 1 :


...
...
0

.
.
.
.
..

.. . . . .
..
.
.
.
.

Ak =

..
..

.
.

..

le thorme 7.2. Supposons

k -ime ligne

...
...
k -ime colonne
(
)
Notons a = akk,k , akk+1,k , ..., akN,k la queue de la k -ime colonne de Ak .
Soit Hv l'une des matrices de Householder de dimension N k + 1 associes au vecteur
a selon le thorme 7.2 et donc telle que Hv a soit colinaire ek . Posons alors :
[
]
Ik1 0
Hk =
0
Hv
0 ...

o Ik1 est la matrice unit de dimension k 1. Si on note


]
[ k
A1 Ak2
Ak =
0
Ak3
la dcomposition par blocs correspondants de Ak , une multiplication par blocs donne :
]
[ k
A1 Ak2
Ak+1 = Hv Ak =
0
Hv Ak4

Hv Ak4 est de la forme :

..

.
0

Compte tenu de Hv A = 0, la matrice

..
.

Donc Ak+1 a la mme forme que Ak avec k remplac par k+1. Itrant jusqu' k = N 1,
on obtient une matrice triangulaire.

Remarque 7.13 Si a est colinaire ek , on passe bien sr directement l'tape suivante en posant Ak+1 := Ak .
Une nouvelle mthode directe de rsolution d'un systme linaire :
Soit rsoudre AX = b. Appliquant la dcomposition ci-dessus, ce systme quivaut
:
HN1 ...H1 AX = HN1 ...H1 b
soit

RX = HN1 ...H1 b
o R est triangulaire suprieure. On peut alors le rsoudre par remonte. On obtient
ainsi une nouvelle mthode de rsolution directe pour les systmes linaires.
Pour N grand, le nombre d'oprations lmentaires de la factorisation QR est de l'ordre
de 34 N 3 soit deux fois plus important que pour une factorisation LU de Gauss. En

174

CHAPITRE 7.

CALCUL DE VALEURS PROPRES ET VECTEURS PROPRES

contrepartie, il faut noter qu'aucune stratgie du pivot n'est ncessaire et surtout,


comme les facteurs Hk sont unitaires, le conditionnement de R est gal celui de
A. (si H unitaire, cond2 (HA) = cond2 (A) voir le chapitre prcdent). Dans certaines
situations dlicates, ceci peut constituer un avantage dterminant de cette mthode de
rsolution sur celle de Gauss.

7.6.1 Algorithme QR de recherche de valeurs propres


Etant donne A, on forme les suites de matrices Ai , Qi , Ri de la faon suivante :

A0 := A
Pour i = 0, 1, ...

(1) On eectue la dcomposition Ai = Qi Ri avec Qi unitaire et Ri


(7.24)

triangulaire suprieure
(2) Ai+1 := Ri Qi
1
On remarque que Ri = Q1
i Ai et donc Ai+1 = Qi Ai Qi , ainsi Ai+1 est semblable
Ai et, par rcurrence, tous les Ai sont semblables A (et ont donc les mmes valeurs
propres).
Ainsi, si Ai tend vers une matrice triangulaire lorsque i devient grand, on pourra lire
sur la diagonale les valeurs propres de A. C'est ce qui se produit au moins dans le cas
frquent suivant.

Thorme 7.4

On suppose les valeurs propres de A toutes de modules dirents, soit


|1 | > |2 | > ... > |N | .

Il existe donc une matrice inversible P telle que P 1 AP soit la matrice diagonale
diag (1 , 2 , ..., N ) ; on fait de plus l'hypothse technique que P admet une factorisation
LU .
Alors la suite de matrices Ak dnie par (7.24) vrie

j<iN

iN

lim (Ak )ij = 0

lim (Ak )ii = i .

Remarque 7.14 (1) L'hypothse technique ci-dessus n'est pas vraiment essentielle. Si
elle n'est pas satisfaite, la mthode QR converge cependant, mais les i ne sont plus
ranges dans l'ordre dcroissant des modules.
(2) Si les modules des valeurs propres ne sont pas tous dirents, (Ai ) tend (en gnral)
vers une matrice triangulaire par blocs, un bloc correspondant un module. Cette
situation se prsente en particulier pour des matrices relles ayant des valeurs propres
non relles (elles sont alors conjugues deux deux).
(3) On montre facilement que si A est de Hessenberg ou une matrice bande hermitienne,
alors les Ai ont la mme structure. Il en rsulte qu'on commence toujours par rduire
une matrice sous forme Hessenberg (ou sous une forme tridiagonale si A est hermitienne)
avant d'appliquer l'algorithme QR. Le cot de calcul est alors considrablement rduit.
(4) L'algorithme QR permet aussi le plus souvent l'obtention des vecteurs propres. Il
est diciles de donner des noncs susamment gnraux, mais on peut s'en convaincre
l'aide du raisonnement approximatif suivant. Notons k = Q1 Q2 ...Qk . On a alors :
Ak = 1
k Ak .

7.6.

LA MTHODE

175

QR

Supposons que pour k grand, Ak = T soit exactement triangulaire. Alors :

Ak = k T
En particulier

Ak e1 = k T e1 = 1 k e1
et k e1 , c'est--dire le premier vecteur colonne de k , est vecteur propre
( de
) A pour la
valeur propre de 1 . Ensuite, on vrie que pour i 2, le vecteur q i = qji j=1,...,N est
vecteur propre pour i s'il vrie

i
qj = 0 j = i + 1, ..., N
qi = 1 (
)
ii
i
qj = tj,j+1 qj+1
+ ... + tji qii / (j i )

j = i 1, ...1.

Si on ne s'intresse qu' quelques vecteurs propres, on peut aussi utiliser la mthode


de la puissance itre avec translation une fois dtermine la valeur propre.
(5) Si la matrice initiale A est relle, les matrices Ai sont relles et ne peuvent converger
vers une matrice triangulaire que si toutes les valeurs propres sont relles. Pour atteindre
les valeurs propres complexes, on peut procder une translation d'argument complexe
pour sparer les modules. Il faut alors travailler en arithmtique complexe. Certains
algorithmes couplant deux translations complexes conjugues successives permettent
de s'en passer. Nous renvoyons la littrature spcialise pour une description de ces
mthodes plus sophistiques.
(6) Algorithme QR avec translations : dj voqu au point (5) ci-dessus, il permet
surtout d'acclrer trs sensiblement la vitesse de convergence de l'algorithme. En g( )k
nral, la convergence est linaire : les lments Aij tendent vers 0 comme ji
sous
les hypothses du thorme 7.4. Si la matrice A est sous forme Hessenberg, la vitesse
i
de convergence est donc rgie par les rapports i1
. On s'arrange donc pour eectuer
des translations pour diminuer ces rapports. Ainsi, chaque tape, on choisit un rel
sk et Ak+1 est dtermin comme suit

Ak sk I
Ak+1

= Qk R k
= Rk Qk + sk I = Q1
k Ak Qk .

On peut choisir sk pour que le rapport |N sk | / |N1 sk | soit aussi petit que possible. Un choix frquent consiste choisir pour sk l'une des valeurs propres de la matrice

akN1,N1
akN,N1

akN1,N
akN,N

Pour des matrices tridiagonales symtriques, ceci conduit souvent une convergence
cubique de akN,N1 vers 0. Lorsque ce terme est jug susamment petit, on peut poursuivre les calculs en laissant tomber la N -ime ligne et la N -ime colonne de Ak .
(7) Pour terminer, insistons sur le fait que la mthode QR applique avec les amliorations voques ci-dessus (rduction pralable des matrices, translations appropries)
est une mthode trs performante. Mme pour une matrice symtrique, les expriences
montrent qu'elle est environ 10 fois plus rapide que la mthode de Jacobi lorsqu'on ne
calcule que les valeurs propres et encore 4 fois plus rapide si on calcule la fois valeurs
propres et vecteurs propres.

176
7.7

CHAPITRE 7.

CALCUL DE VALEURS PROPRES ET VECTEURS PROPRES

Exercices du chapitre 7

Exercice 7.1

Que se passe-t-il dans la mthode de la puissance itre lorsque N1 =


N , N1 = N , puis N1 = N (ce cas correspond celui d'une matrice relle dont
la valeur propre de plus grand module est complexe).

Exercice 7.2
Exercice 7.3

Vrier les relations (7.22), (7.23).

Exercice 7.4

Eectuer les deux premires

2
A= 3
1

relle.

matrice

crire un algorithme de tridiagonalisation d'une matrice symtrique


itrations de la mthode de Jacobi pour la

3 1
2 2 .
2 3

Exercice 7.5 On reprend la suite {+, P1 () , P2 () , ..., Pi ()} qui intervient dans la
mthode de Givens et on note M (i, ) le nombre de paires conscutives de mme signe
dans cette suite. Montrer que pour tout entier i, M (i, ) + N (i, ) = i et en dduire
que M (i, ) reprsente le nombre de racines du polynme Pi qui sont .

Vous aimerez peut-être aussi