Académique Documents
Professionnel Documents
Culture Documents
Analyse Numrique
IECL -
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.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
2.4
2.5
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.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
4.4.2
4.5
4.6
4.7
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
(ou infrieure)
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
5.2
5.3
5.4
5.5
5.6
5.7
5.8
5.9
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
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
6.2
6.3
6.4
6.5
6.6
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
7.6
7.7
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
171
172
174
176
Chapitre 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.
Arithmtique machine
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.
Exemple 1.1
1.2.
ARITHMTIQUE MACHINE
3, 1415
XN
= 4
XD
10 ( 3, 1515) 0, 927
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
a
b
c
: = 0, 23371258.104
: = 0, 33678429.102
: = 0, 33677811.102
(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.
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
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.
Dnition 1.1
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.
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.
(
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:
x0
x1
x2
x3
x4
: = 12345
: = x0 + 1
: = x1
: = x0
: = x2 x3
13
14
CHAPITRE 1.
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
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...
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
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
Exercice 1.4
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.
Chapitre 2
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
17
18
CHAPITRE 2.
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] .
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.
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
Remarque 2.2
tervalle [a0 , b0 ] .
2.2.
19
Y (x1 ) = 0
soit
x1 = x0 f (x0 )
x0 x1
.
f (x0 ) f (x1 )
xn1
xn+1
xn
xn+1
Pour n = 0, 1, 2, ...
xn xn1
.
= xn f (xn )
f (xn ) f (xn1 )
20
CHAPITRE 2.
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
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' :
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.
() f (x) = 0
par une quation
() g (x) = x
2.2.
21
f(xn)
xn+1
xn
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
Pour n = 0, 1, 2, ...
xn+1 = g (xn ) .
Proposition 2.1
x , alors
22
CHAPITRE 2.
y=x
x0
x1
x2
x+2
Thorme 2.1
(2.3)
2.2.
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 x | K n |x0 x | n.
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
23
24
CHAPITRE 2.
pour tout n assez grand, on dit que la convergence est au moins d'ordre p.
Remarque 2.6
est linaire.
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.
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
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
Thorme 2.2
f (xn )
n 0
f (xn )
Remarque 2.8
x1
x0
x1
Exemple : f (x) = x2
xn+1 = xn
f (xn )
1
= xn ;
f (xn )
2
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.
g (x) = x
f (x)
f (x)
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 :
1
|x x | , si |x x | 2 .
2
x0
xn+1
[x 2 , x + 2 ]
f (xn )
= g (xn ) = xn
f (xn )
xn+1 := xn f (xn )
soit encore
xn+1 x =
et, en utilisant f (x ) = 0
f (xn )f (x )
xn x
f (xn1 )f (x )
xn1 x
f (xn ) f (xn1 )
]
.
2.2.
27
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 :
f [xn1 , x , xn ]
.
f [xn1 , xn ]
(2.5)
f [xn1 , xn ] = f (n ) o n [xn1 , xn ] .
(2.6)
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 ] =
(2.8)
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
(2.10)
(1+ 5)
2
Soit alors p la racine
= 1, 618... (le nombre
2
) de p p 1 = 0, soit p =
( positive
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.
n+1
1p
n n1 =
pn
Ainsi
n
p
n1
)1p
car p (1 p) = 1.
pn1
Y1
Yn+1
1
,
p0
= Yn1p
Thorme 2.3
xn xn1
n 1
f (xn ) f (xn1 )
Inconvnients :
2.2.
29
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.
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.
p2
30
CHAPITRE 2.
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.
x + x = g(x) + x
(2.12)
2.2.
31
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.
xn+1 x
= k (xn x ) ,
xn+2 x
= k (xn+1 x ) .
x = xn +
on a :
xn+1 xn
1k
2
x = xn
(xn+1 xn )
.
xn+2 + xn 2xn+1
xn
2
xn
= xn+1 xn
= xn+1 xn = (xn+2 xn+1 ) (xn+1 xn ) ,
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.
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
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
Pour n = 0, 1, 2, ...
yn := g (xn ) , zn := g (yn )
2
(yn xn )
xn+1 := xn
zn 2yn + xn
2.2.
33
Remarque 2.11
xn+1
= (xn ) avec
(x)
(g (x) x)
.
g (g (x)) 2g (x) + x
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.
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
(2.14)
est pair
(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
par S.D.
Remarque 2.14
36
CHAPITRE 2.
d'o :
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)
bk bk+1 = ak
bn = an
pour k = 1, . . . , n 1 ,
pour k = n
b0 = a0
pour k = 0
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.
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 .
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
Remarque 2.16
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.
Pr (x) =
P (x)
.
(x 1 ) (x 2 ) ... (x r )
xi+1 := xi
Pr (xi )
Pr (xi )
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) :
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.
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.
ri+1
si+1
,
B
B
si
B (ri , si )
r
r=ri , s=si
.
(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
P (x)
Q (x)
bn := an
A
:= a1 + rb2 + sb3
B := a0 + rA + sb2 .
(2.21)
2.3.
39
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 )
40
soit
CHAPITRE 2.
avec
Ainsi
xi+1 := xi +
2f (xi )
1
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 )
(
{
}1 )
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
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
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.
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
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
(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 :
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
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.
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.
f (xn ) par
f (xn ) f (xn1 )
.
xn xn1
(Fn Bn n )(n )T
Bn+1 = Bn +
n 2
Remarque 2.22
Exercices du chapitre 2
Exercice 2.1 Etudier la convergence des mthodes de point xe suivantes (on cherche
approcher
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
44
CHAPITRE 2.
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
i = 0, 1, ...n
P (xi ) = f (xi )
(3.1)
f (xi ) Li (x)
(3.2)
i=0
o
Li (x) =
k=0 k=i
(x xk )
.
(xi xk )
Remarque 3.1
(3.3)
45
46
CHAPITRE 3.
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.
(x x0 )
(x x1 )
+ f (x1 )
.
(x0 x1 )
(x1 x0 )
P1 (x) = f (x0 ) +
f (x1 ) f (x0 )
(x x0 ) .
x1 x0
(3.4)
(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
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 :
f [x0 , x1 , ...xi ]
i=0
i1
(x xk )
(3.5)
k=0
f [xi ] = f (xi )
(3.6)
(3.7)
3.1.
47
INTERPOLATION DE LAGRANGE
n1
(x xk ) =
k=0
n1
f [x0 , x1 , ..., xi ]
i=0
n2
n1
k=0
k=0
(x xk ) + ann
(x xk ).
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 ).
ann =
1
1
f [x1 , ..., xn ]
f [x0 , x1 , ..., xn ] .
xn x0
xn x0
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.
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
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.
Algorithme 3.3 :
(x) := 1 P0 (x) = d0
De n = 1 N
[
de
i=n1 0
d
:=
(d
di )/(xn xi )
i
i+1
[
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
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 :
n ( )
s
i i f0
(3.9)
i=0
o on pose
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.
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
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
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
Lemme 3.1
f (n) ()
.
n!
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.
(3.14)
3.1.
51
INTERPOLATION DE LAGRANGE
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)!
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)
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
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.
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
3.2
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
Remarque 3.10
Thorme 3.4
(3.17)
3.2.
53
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 :
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
T0 (x) 1
T1 (x) x
(3.19)
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
54
CHAPITRE 3.
{
}
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
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
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
2
a+b
(y
)).
ba
2
xi =
a+b ba
(2i + 1)
+
cos
, i = 0, 1, ..., n.
2
2
2(n + 1)
(3.20)
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
Thorme 3.7
o n (x) =
)
inf
deg P n
f P
|Li (x)| .
i=0
Remarque 3.12
inf
deg P n
inf
deg P n
lim 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)
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
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
3.3.
57
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 :
|f (xk ) (c1 + c2 xk )| .
0kp
2
|f (xk ) (c1 + c2 xk )|
(3.21)
0kp
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
(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 ),
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 .
58
CHAPITRE 3.
P
2
c11+c22
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 .
c1 =
m2 f mf
,
m2 m2
c2 =
f mf
.
m2 m2
Remarque 3.13
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.
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 :
Remarque 3.14
valle [a, b], on a :
0=
k=0
(
) (
)
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
1
2
59
60
CHAPITRE 3.
ou
P, Q =
(3.28)
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
(avec di =
Pi , Q
).
Pi , Pi
(3.31)
(3.32)
(3.33)
Pi (x)
o Pbi (x) :=
(polynme normalis),
Ai
Dmonstration :
3.3.
Q, Pk =
k1
di Pi , Pk = 0.
i=0
.
i =
Pbi , Pbi
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
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.
n=1
Pn+1 (x) =
Pn+1 (x) =
1
(x 2n 1)Pn (x) + (n + )Pn1 (x).
n+1
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
=
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.
Thorme 3.8
ci =
Remarque 3.16
i = 0, ..., k.
2
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
2
2i+1 .
P, Q =
n=1
63
64
CHAPITRE 3.
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
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
1
a0 = 2 f (x)dx
(3.36)
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,
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.
2
1.5
1
0.5
0
0.5
1
1.5
2
0
2
1.5
1
0.5
0
0.5
1
1.5
2
0
Remarque 3.20
65
66
CHAPITRE 3.
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=
2
f fn 2 =
(f (x) fn (x)) dx
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.
wN = ei2/N ,
wq = ei2/Q ,
Z = [Z1 , ..., ZN ]
Zbj :=
(j1)(k1)
Zk wN
j = 1, ..., N
k=1
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
morceaux
67
68
CHAPITRE 3.
Thorme 3.10
o on dnit
f [xi1 + h] f [xi1 ]
= f (xi1 )
h0
h
3.4.
f [xi ] := f (xi )
f [x0 , x1 , ..., xk ] :=
formule usuelle si xk = x0
limh0 f [x0 , ..., xk1 , xk + h] si x0 = xk .
(3.42)
si =
(3.43)
Pi (xi ) = Pi+1
(xi ) = si .
69
70
CHAPITRE 3.
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)
+Ci (x xi1 ) (x xi )
avec
/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)
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
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
Exercice 3.3
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
150 200
12.6 5.57
72
CHAPITRE 3.
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.
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.
75
DRIVATION NUMRIQUE
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
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
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.
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
(4.8)
(4.9)
76
CHAPITRE 4.
f (xi )
(4.11)
Remarque 4.1
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
Pi (x)
(4.12)
(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 ]).
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
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).
xi1
xi
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
1
f (x) dx h
f (xi ) + (f (x0 ) + f (xn )) .
2
a
i=1
78
CHAPITRE 4.
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
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
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
Pi (xi1 ) =
Pi (xi1 ) =
f (xi1 ) ,
f (xi1 ) ,
Pi (xi ) = f (xi )
Pi (xi ) = f (xi ) .
4.4.
79
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
4.4
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) =
(4.16)
(x x0 ) (x x1 ) ... (x xN ) .
(4.17)
Ainsi
f (x) dx
E (f ) =
PN (x) dx =
(4.18)
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
E (f ) = f [x0 , x1 , ..., xN , ]
N (x) dx.
a
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
E (f ) =
a
E (f ) =
(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
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).
(x a) dx =
a
(b a)
f () .
2
= 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
x0 =
a+b
2
0 (x) = x
a+b
.
2
4.4.
81
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
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
a+b
x0 = a, x1 =
, x2 = b
2
a+b
2 (x) = (x a) x
2
)
(x b) .
)
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.
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.
x0 = x1 = a, x2 = x3 = b
3 (x) = (x a) (x b) .
|E (f )|
M4
5
(b a)
720
|E (f )|
M4 4
h (b a) .
720
1
0
ex dx.
2
1
0
ex dx 1
2
erreur
0, 25318
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
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
4.5.
83
o w est une fonction poids qui, dans la pratique, contiendra la singularit (ainsi w (x) =
1 dans l'exemple ci-dessus).
x
g (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 ) =
Supposons que
N (x) w (x) dx = 0.
a
Si de mme
N +1 (x) w (x) dx = 0
a
(4.31)
84
CHAPITRE 4.
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
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 ) =
(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)!
(4.34)
I (PN ) =
g (xi ) Ai , avec
i=0
Ai =
li (x) =
j=0,j=i
x xj
.
xi xj
(4.35)
x=
b+a ba
+
t
2
2
4.5.
85
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
P0 (x) =
P1 (x) =
1
x
P2 (x)
1
1
1
x2 , 0 = , 1 = .
3
3
3
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.
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
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)
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
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)
f (a) =
o lim 1 (h) =
h0
h0
Par dirence
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.
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)
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
on obtient
1
15C4 h4 = Dh1 f D2h
f + h4 (h)
Dh2 f = Dh1 f +
1
) 16Dh1 f D2h
1 ( 1
f
1
f =
Dh f D2h
.
15
16 1
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
4.6.
Remarque 4.6
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
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.
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 =
)
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 .
TN1 = TN +
TN TN/2
.
41
(4.48)
(
)
f (x) dx = TN1 + C21 h4 + C31 h6 + ... + Ck1 h2k + O h2k+2 .
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
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
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
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.
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
yN (t) = f (t, y1 (t) , ..., yN (t))
i = 1, ..., N.
(5.2)
93
94
CHAPITRE 5.
(
ce qui est un systme de la forme (5.2) avec N = 2 et f (t, u1 , u2 ) =
u2
g (t, u1 , u2 )
)
.
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
..
.
0
yi (t) = y0i ei t si A =
i
..
.
0
(5.4)
diagonale, le systme se
y (t) = etA y0
o etA est la matrice dnie par :
tA
n n
t A
=
.
n!
n=0
y = y2
y (0) = y0
(5.5)
5.1.
95
y = y 3
y (0) = y0
1
(5.6)
= 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
Thorme 5.1
96
CHAPITRE 5.
(5.8)
Remarque 5.1
f (t, y1 ) f (t, y2 ) , y1 y2 L (M ) y1 y2
(5.9)
Thorme 5.2
(5.10)
Alors le problme (5.7) admet une solution et une seule sur [0, [.
Remarque 5.2
zienne en x, soit
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).
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
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
f1 (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)
..
.
..
.
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
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.13)
98
CHAPITRE 5.
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 ]
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
en = y (tn ) yn .
3.5
5.2.
99
Dnition 5.1
0nN
Remarque 5.3
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
Dnition 5.3
(5.18)
h0
N
1
n = 0.
n=0
Remarque 5.4
(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.
(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)
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
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
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
0nN
(5.27)
5.2.
101
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
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.
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 :
(5.30)
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,
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 :
Exemple 3 :
(5.32)
Ce problme continu est trs stable par rapport y0 puisque y(t) = y0 et et donc
yn+1 = yn hyn = (1 h) yn
5.3.
103
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).
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)
|yn | |y0 | .
Par ailleurs, on montre que cette mthode converge avec la mme vitesse que la prcdente.
5.3
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
(5.36)
N =0
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 :
h2n (3)
y (cn )
2
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
Mthode de Crank-Nicholson :
yn+1 = yn + hn
]
1
1
f (tn+1 , yn+1 ) + f (tn , yn )
2
2
y (t) = y (t) .
On a alors
yn+1 = yn + h [yn+1 (1 ) yn ]
(5.38)
5.3.
105
1 h (1 )
yn
1 + h
(
)n
1 h (1 )
yn =
y0 .
1 + h
yn+1 =
1 <
Ceci quivaut
0<
1 h (1 )
< 1.
1 + h
h
2 ou 0 < h 2 + h.2.
1 + h
si <
1
2
2
12
(5.39)
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
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
106
CHAPITRE 5.
Runge-Kutta d'ordre 2
ou
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)
Runge-Kutta d'ordre 4
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)
(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
on en dduit
)
( )
1
(ft + fy ) b (ft + fy ) + O h3n .
2
5.4.
107
CONTRLE DU PAS
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)| 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.
yb (tn + h) = y (tn + h) Cn
( )p+1
(
)
h
+ O hp+2 .
2
(5.48)
(5.49)
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
avec le pas 2h si Dn (h) < h.
(5.50)
Remarque 5.9
( )
p+1
h = n h Cn h
2p+1
soit
h=
h
2
h
2Dn (h)
( )p+1
h
Dn (h)
h
) p1
.
5.5.
109
Remarque 5.10
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 ) +
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.
Pn (tni ) = fni
i = 0, ..., r.
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.
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!
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
yn+1 = yn + h
bi,r fni .
i=0
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
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
s+i1
Qn (tn+1 + sh) =
i fn+1 .
i
i=0
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.
yn+1 = yn + h
bi,r fni
i=1
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
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.
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.
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.
113
114
CHAPITRE 5.
)
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
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
n n1
.
yn (1) yn1 (1)
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
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
c'est--dire
(
(
)
(
) )
1
1
yn+2 2yn+1 + yn = h2 n+2 +
2 + n+1 +
+ n
2
2
(5.66)
116
CHAPITRE 5.
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
y = y 2 y (0) = y0
(5.67)
y = y 3
(5.68)
y (0) = y0
Exercice 5.3
Exercice 5.4
y (tn )
Ceci conduit au schma
y (tn+1 ) y (tn1 )
, h = tn+1 tn1 , n.
2h
yn+1 = yn1 2hyn .
Exercice 5.5
Exercice 5.6
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
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
117
118
CHAPITRE 6.
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
{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.
a1
0
A=
.
..
0
la diagonale principale :
0
0
.
..
..
.
. ..
..
..
.
. 0
0
aN
a11 a12
..
0
.
A=
.
.
.. ...
..
0
0
a1N
..
..
.
aNN
Dans ce cas on utilisera toujours une mthode directe de rsolution par remonte soit :
........................................
(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
xN = bN /aNN
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.
{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.
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.
121
a11
a21
..
.
ab1
A=
.
..
.
..
0
a12
a1b
a22
..
.
a2b
..
.
a2,b+1
..
.
ab2
..
.
..
.
..
.
..
.
0
abb
..
.
ab,b+1
..
.
..
..
..
..
..
..
.
aN,Nb+1
..
.
..
.
..
.
..
.
..
.
..
.
0
..
.
0
..
.
..
.
..
.
..
.
aNN
M =
0
ab1
..
.
..
.
..
.
ab2
aN,Nb+1
a21
aNN
a11
a22
a12
a23
a1b
a2,b+1
ab,2b1
0
..
.
..
.
0
{
i=I
.
j =J I +b
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
15
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)
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
.
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)
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.
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
AX = b
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.
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
{
.
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.
125
AX = B
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
appp
..
Ap = .
apNp
appN
..
.
.
p
aNN
appp
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.
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)
Remarque 6.5
A, savoir
(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.
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)
U =
Si nous notons
a111
0
..
.
..
.
..
.
..
.
0
L=
a112
a222
..
.
l11
l21
..
.
l22
lN1
a223
..
.
..
appp
..
.
..
.
0
..
..
..
.
..
.
0
lNN
p=1
p
apN
..
.
N
aNN
(noter lii = 1)
A = LU.
0
..
.
aij =
a11N
a22N
..
.
..
.
lip appj .
127
128
CHAPITRE 6.
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
min(i,j)1
min(i,j)
= a1ij .
p=1
Puisque
a1ij
(6.8)
min(i,j)
1iN
lip upj = aij
.
1jN
p=1
lii = 1, i = 1, ..., N
pour r = 1, ..., N
r1
urj = arj
lrk ukj j = r, ..., N
.
(6.9)
k=1
r1
lir = ir
i = r + 1, ..., N
urr
6.2.
u11
l21 . . .
M =
.
..
lN1
..
u1N
..
.
..
.
uNN
AX = B
dans l'ordre
Remarque 6.8
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
Soit
A=
b1
c1
a2
b2
..
c2
..
0
..
.
..
.
..
.
0
..
.
.
..
..
.
.
.
..
.
..
.
..
.
..
.
..
.
..
..
..
..
0
.
.
.
.
..
..
..
0
..
.
..
.
..
.
.
aN
cN 1
bN
129
130
CHAPITRE 6.
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)
w1 =
d1
dk ak wk1
, wk =
, k = 2, 3, ..., N (descente)
b1
bk ak zk1
(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
zk =
ck
bk
Ak2
ak ck1 det
det Ak1
ck det Ak1
d'aprs (6.11).
det Ak
6.2.
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)
[
A=
A(k)
]
.
vei = vi , 1 i k
On a
vei = 0, k + 1 i N.
vA(k) v =t veAv = 0 = v = 0,
131
132
CHAPITRE 6.
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 :
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 :
Remarque 6.11
u11
1
..
l21 1
.
0
..
.
..
..
..
.
.
.
.
.
.
..
.
.
.
.
.
.
.. ...
.
.
.
..
..
..
.
.
.
.
.
..
.
..
.
.
.
lN1 lN,N1 1
0
ukk
..
.
..
.
0
uNN
6.2.
133
AX = B
= B 1tC.
b11 0
..
..
.
.
B=
.
..
bN1
de Cholesky
..
.
..
.
0
..
.
0
bNN
(6.14)
k=1
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
b2ik = aii
k=1
134
CHAPITRE 6.
Dnition 6.1
x = || x (homognit)
x + y x + y (ingalit triangulaire).
(
x2
)1/2
x2i
i=1
x1
|xi |
i=1
max |xi | .
1iN
(
xp =
i=1
)1/p
|xi |
, 1 p < .
6.3.
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.
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
135
136
CHAPITRE 6.
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
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)
Remarque 6.14
AF =
1/2
a2ij
= [trace (A A)]
1/2
i,j
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
(
)
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 | .
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
AX = b.
(6.16)
b A X .
X
b
A1
A
.
X
b
(6.18)
138
CHAPITRE 6.
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
maxi |i (A)|
, i valeur propre de A.
mini |i (A)|
cond2 (A) =
N
1
(iv)
N (A)
,
1 (A)
Remarque 6.15
6.3.
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
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
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
u2
b2
cond2 (A)
.
u2
b2
139
140
CHAPITRE 6.
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
M X k+1 = N X k + b.
a11 a12
a21 a22
E
aN1
a1N
=DEF
aN,N1 aNN
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
(
)
DX k+1 = EX k+1 + F X k + b
ou
X k+1 = (D E)
)
F Xk + 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.
A11
A15
A22
A33
A=
A44
A51
A55
142
CHAPITRE 6.
.
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.
X k+1 = BX k + d
(6.20)
Dnition 6.4
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.
Thorme 6.3
et seulement si
(6.21)
(
)
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
Lemme 6.1
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).
Lemme 6.2
(6.25)
( ( ))1/k
k
1/k
(B) = B k
B
(6.26)
Dmonstration :
(B)
(B)+
Bk
k
( (B) + )
< 1 . On en dduit
= 0.
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.
Dnition 6.5
Proposition 6.2
que si
0 < < 2.
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
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
i = 1, ..., N
|aii | >
|aij |
(6.28)
j=i
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
Corollaire 6.1
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
Jij =
aij
.
aii
| 0| = ||
|aij |
i=j
|aii |
<1
146
CHAPITRE 6.
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
||
|akj | <
j>k
|akj | + ||
j<k
|akj |
j=k
Remarque 6.21
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
6.4.
147
MTHODES ITRATIVES
1.2
1
0.8
0.6
0.4
0.2
0
0
0.5
1.5
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
148
CHAPITRE 6.
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 )
= fi i = 1, ..., N
h2
u0 = uN+1 = 0
(6.30)
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
.
N +1
=
(
)=
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)
.
RB
RJ
2
2
2
,
R
, RL
.
L
1
2
2
2N
N
N
n
n
n
2 2
N pour Jacobi
2
2
N pour Gauss-Seidel
2
150
CHAPITRE 6.
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
Nombre d'oprations
k 42 N 3 log N
k 22 N 3 log N
k 1 N 2 log N
Remarque 6.24
u (ih, jh)
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 :
= fi,j i, j = 1, ..., N
h2
U0,j = UN +1,j := 0, j = 0, ..., N + 1
6.5.
151
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
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
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.
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
1t
Y AY t bY.
2
(6.40)
1t
(Y X) A (Y X) .
2
(Y X) A (Y X) > 0 si Y = X,
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.
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
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.
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
Thorme 6.7
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.
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
Exercice 6.4
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.
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
Rappels
(
)
X RN ou CN , X = 0, AX = X
(7.1)
(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
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
Proposition 7.1
Dmonstration : Supposons A = P 1 AP
la base canonique de RN , soit
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
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
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.
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)
(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
ce qui, par sparation des variables, quivaut l'existence d'une constante telle que
158
CHAPITRE 7.
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
= k =
k2 2
, k = 1, 2, ...
l2
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
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
1
0
Ah = 2
h
...
.
..
0
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
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)
160
CHAPITRE 7.
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
7.3.
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.
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
( )n ]
N1
1
Xn = nN N eN +
eN1 + . . . +
e1 .
N
N
(7.12)
161
162
CHAPITRE 7.
i
N
)n
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.
X0 choisi
Yn+1 = AXn
Xn+1 = Yn+1 / Yn+1 2
Proposition 7.2
N
|N | .
Dmonstration :
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.
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
Zn = N N eN +
N1
N
)n
])
[
N2 n
N 1 eN 1 + O
.
N
|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.
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.
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
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.
e valeur approche de
X0 choisi,
e n+1 = BXn
AYn+1 BY
e + 1/tXn Yn+1 .
n+1 =
Remarque 7.5
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
..
0
.
1
..
.
..
..
0
1
.
cos
..
.
1
.
..
=
0
..
.
0
sin
..
..
0
.
..
.
p-ime colonne
..
..
.
..
.
..
.
sin
..
.
..
.
..
.
cos
..
.
..
.
..
.
1
..
p-ime ligne
q -ime ligne
q -ime colonne
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
cot 2 =
Lemme 7.1
aqq app
, .
2apq
4
4
b2ij =
a2ij
i,j
b2ii =
(7.14)
(7.15)
i,j
a2ii + 2a2pq
(7.16)
Remarque 7.6
b2ij =
a2ij 2a2pq .
i=j
i=j
166
CHAPITRE 7.
(
) 2
(
) 2
bij , trace tAA =
aij .
trace tBB =
i,j
i,j
Mais :
Donc
B = tA = tBB = ttAA.
(
)
(
)
(
)
trace tBB = trace ttAA = trace tAA .
sin
cos
][
app
aqp
apq
aqq
][
cos
sin
sin
cos
]
.
Remarque 7.7
cot 2 =
1 t2
1
t2
2
, cos2 =
,
sin
=
.
2t
1 + t2
1 + t2
4,
posant
aqq apq
2apq
(7.17)
t2 + 2t 1 = 0.
Puis on calcule
c=
1
, s = tc
1 + t2
ta
pp
pp
pq
(7.18)
(7.19)
(7.20)
On pose A0 = A
On dtermine l'lment akpq de Ak ralisant le plus grand module parmi
7.4.
167
MTHODE DE JACOBI
Proposition 7.3
vers l'inni.
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
(
)
La diagonale Dk de Ak converge vers une matrice D = diag (i)
o est une permutation sur {1, 2, ..., N } .
Proposition 7.4
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.
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
168
7.5
CHAPITRE 7.
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.
b1
c1
BN = 0
c1
..
..
0
..
.
..
..
0
..
..
.
cN1
0
cN1
bN
Proposition 7.6
P0 ()
=
P1 ()
=
N 2, PN () =
1
b1
(bN )PN1 () c2N1 PN2 ()
(7.21)
Proposition 7.7
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
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
Remarque 7.9
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 ...
170
CHAPITRE 7.
calcul, d'autre part parce que l'outil est le mme, savoir l'utilisation de matrices de
Householder.
Dnition 7.2
o v CN et v = tv .
Remarque 7.10
de v . Par contre
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 |
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
X x
et donc X
= 2u o = tux
( )
( )
= x 2u tux = x 2 utu x = Hu x.
Thorme 7.2
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
(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.
Calculer a2 , v := a a2 e1
...
...
...
...
.
.
.
.
..
.. . . . .
..
.
.
.
Ak1 =
k ime ligne
0
..
..
.
.
..
.
0 ... 0
...
...
k ime colonne
172
CHAPITRE 7.
(
)
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
..
.
Remarque 7.12
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 :
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
...
...
0
.
.
.
.
..
.. . . . .
..
.
.
.
.
Ak =
..
..
.
.
..
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 ...
..
.
0
..
.
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.
A0 := A
Pour i = 0, 1, ...
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
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
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
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.
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.
Exercices du chapitre 7
Exercice 7.1
Exercice 7.2
Exercice 7.3
Exercice 7.4
2
A= 3
1
relle.
matrice
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 .