Vous êtes sur la page 1sur 87

Analyse numrique

Thomas Cluzeau
cole Nationale Suprieure dIngnieurs de Limoges
16 rue datlantis, Parc ester technopole
87068 Limoges CEDEX
cluzeau@ensil.unilim.fr
http://www.unilim.fr/pages_perso/thomas.cluzeau

Table des matires


1 Arithmtique des ordinateurs et analyse derreurs
1.1 Larithmtique flottante . . . . . . . . . . . . . . . . . . .
1.1.1 Le systme des nombres virgule flottante . . . . .
1.1.2 Reprsentation effective des rels et sa formalisation
1.1.3 Unit derreur darrondi, estimation derreurs . . .
1.1.4 Modle de larithmtique flottante . . . . . . . . . .
1.2 Lanalyse derreurs . . . . . . . . . . . . . . . . . . . . . .
1.2.1 Non-associativit . . . . . . . . . . . . . . . . . . .
1.2.2 Erreurs darrondi sur une somme . . . . . . . . . .
1.2.3 Erreurs darrondi sur un produit . . . . . . . . . . .
1.2.4 Phnomnes de compensation . . . . . . . . . . . .
1.2.5 Phnomnes dinstabilit numrique . . . . . . . . .
1.2.6 Erreur amont et erreur aval . . . . . . . . . . . . .
1.2.7 Outils thoriques de lanalyse derreurs . . . . . . .

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

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

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

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

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

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

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

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

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

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

7
7
7
9
10
10
10
10
11
11
11
12
13
13

2 Rsolution dun systme dquations linaires (Partie 1) : mthodes directes


15
2.1 Introduction et motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.1.1 Objet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.1.2 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.1.3 Rsolution dun systme triangulaire . . . . . . . . . . . . . . . . . . 17
2.1.4 Les mthodes directes tudies . . . . . . . . . . . . . . . . . . . . . . 18
2.2 Mthode de Gauss et factorisation LU . . . . . . . . . . . . . . . . . . . . . 19
2.2.1 Description de la mthode . . . . . . . . . . . . . . . . . . . . . . . . 19
2.2.2 Point de vue numrique : stratgies de choix du pivot . . . . . . . . 21
2.2.3 Lien avec la factorisation LU dune matrice . . . . . . . . . . . . . . . 23
2.2.4 Cot de lalgorithme . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.3 Mthode de Cholesky . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.4 Mthode de Householder et factorisation QR . . . . . . . . . . . . . . . . . . 29
2.4.1 Transformation (lmentaire) de Householder . . . . . . . . . . . . . 29
2.4.2 Principe de la mthode de Householder . . . . . . . . . . . . . . . . . 30
2.4.3 Exemple de rsolution dun systme linaire par la mthode de Householder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3

2.4.4

Factorisation QR dune matrice . . . . . . . . . . . . . . . . . . . . .

3 Conditionnement dune matrice pour la rsolution dun systme


3.1 Normes matricielles . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1.1 Normes vectorielles . . . . . . . . . . . . . . . . . . . . . . .
3.1.2 Normes matricielles et normes subordonnes . . . . . . . . .
3.2 Conditionnement dune matrice . . . . . . . . . . . . . . . . . . . .
3.2.1 Exemple classique . . . . . . . . . . . . . . . . . . . . . . . .
3.2.2 Dfinition du conditionnement . . . . . . . . . . . . . . . . .
3.2.3 Estimation thorique de lerreur a priori . . . . . . . . . . .
3.2.4 Estimation thorique de lerreur a posteriori . . . . . . . . .

linaire
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .

4 Rsolution dun systme dquations linaires (Partie 2)


ratives
4.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2 Notions gnrales . . . . . . . . . . . . . . . . . . . . . . . .
4.2.1 Modle gnral dun schma itratif . . . . . . . . . .
4.2.2 Convergence . . . . . . . . . . . . . . . . . . . . . . .
4.2.3 Vitesse de convergence . . . . . . . . . . . . . . . . .
4.3 Les mthodes itratives classiques . . . . . . . . . . . . . . .
4.3.1 Principe . . . . . . . . . . . . . . . . . . . . . . . . .
4.3.2 Mthode de Jacobi . . . . . . . . . . . . . . . . . . .
4.3.3 Mthode de Gauss-Seidel . . . . . . . . . . . . . . . .
4.3.4 Mthode de relaxation . . . . . . . . . . . . . . . . .
4.3.5 Rsultats de convergence dans des cas particuliers . .
4.4 Mthode du gradient conjugu . . . . . . . . . . . . . . . . .
4.4.1 Mthodes du gradient . . . . . . . . . . . . . . . . .
4.4.2 Mthode de la plus forte pente . . . . . . . . . . . . .
4.4.3 Gradient conjugu . . . . . . . . . . . . . . . . . . .
4.4.4 Gradient conjugu avec prconditionnement . . . . .

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

31
33
33
33
33
34
34
35
37
38

: mthodes it.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

39
39
41
41
42
43
44
44
45
46
47
47
48
49
51
51
55

.
.
.
.
.
.
.

59
59
60
63
63
63
65
65

6 Intgration numrique
6.1 Introduction et mthodes classiques . . . . . . . . . . . . . . . . . . . . . . .
6.2 Formalisation de lintgration approche . . . . . . . . . . . . . . . . . . . .

67
67
70

5 Interpolation polynomiale
5.1 Le problme considr . . . . . . . . . . . . . . . . .
5.2 La mthode dinterpolation de Lagrange . . . . . . .
5.3 Effectivit de linterpolation : interpolant de Newton
5.3.1 Base dinterpolation de Newton . . . . . . . .
5.3.2 Expression de linterpolant de Newton . . . .
5.3.3 Algorithme de calcul des diffrences divises .
5.4 Erreur dinterpolation . . . . . . . . . . . . . . . . .

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

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

.
.
.
.
.
.
.

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

.
.
.
.
.
.
.

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

.
.
.
.
.
.
.

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

.
.
.
.
.
.
.

.
.
.
.
.
.
.

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

.
.
.
.
.
.
.

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

.
.
.
.
.
.
.

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

.
.
.
.
.
.
.

6.3
6.4
6.5

Formules de Newton-Ctes . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Stabilit des mthodes dintgration . . . . . . . . . . . . . . . . . . . . . . .
Formules dintgration composes . . . . . . . . . . . . . . . . . . . . . . . .

7 Rsolution dquations et de systmes dquations


7.1 Mthode de dichotomie . . . . . . . . . . . . . . . .
7.2 Mthode du point fixe . . . . . . . . . . . . . . . .
7.3 Mthode de Newton . . . . . . . . . . . . . . . . .
7.4 Mthode de la scante . . . . . . . . . . . . . . . .
7.5 Systmes dquations non linaires . . . . . . . . .

non
. . .
. . .
. . .
. . .
. . .

linaires
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

71
72
72
75
76
77
80
82
83

Chapitre 1
Arithmtique des ordinateurs et analyse
derreurs
Dans tout ce cours, nous manipulerons des nombres rels. Lobjet de ce premier chapitre est
de dcrire comment ces nombres rels sont reprsents dans un ordinateur.

1.1

Larithmtique flottante

1.1.1

Le systme des nombres virgule flottante

Thorme 1.1. Soit un entier strictement suprieur 1. Tout nombre rel x non nul peut
se reprsenter sous la forme
X dk
x = sgn(x) e
,
k

k1
o sgn(x) {+, } est le signe de x, les dk sont des entiers tels que 0 < d1 1 et
0 dk 1 pour k 2, et e Z. De plus, cette criture est unique (sauf pour les dcimaux
: 2, 5 = 2, 499999 . . . ).
Dordinaire, nous utilisons le systme dcimal, i.e., = 10 et les chiffres 0, 1, 2, 3, 4, 5, 6, 7,
8, 9 pour les dk . Nous avons par exemple :
3
0, 0038 = 0, 38.102 = + 102 ( 10
+ 1082 ).
Remarque : en Matlab, on peut crire 0.38e 2 au lieu de 0.38 10(2).

1
7

1
= 0, 142857 . . . = + 100 ( 10
+ 1042 + 1023 + 1084 + ). Notons que le dveloppement
dcimal dun nombre rationnel est priodique (ici, 17 = 0, 142857142857142857 . . .).

1
2 = 1, 4142 . . . = 101 ( 10
+
3
= 3, 14159 . . . = + 101 ( 10
+

1
102

4
102

4
103

1
103

+
7

1
104

4
104

+ ).

+ ).

Historiquement, le choix = 10 est li une particularit anatomique de la race humaine


(nous avons 10 doigts). Les ordinateurs utilisent quant eux = 2 (numration binaire),
= 8 (numration octale), ou encore = 16 (numration hexadcimale).
Remarquons que lon perd lunicit si on autorise d1 = 0 : en effet, on a par exemple :
3
0, 0038 = 0, 38.102 = + 102 ( 10
+
3
1 0
= 0, 038.10
= + 10 ( 10 +

8
)
102
3
+ 1083 ).
102

On dfinit lensemble F R par :


F = {y R | y = e (

d1 d2
dt
+ 2 + + t ), emin e emax },

ou encore
F = {y R | y = m et , emin e emax }.
3
Ceci correspond aux deux critures 0, 0038 = + 102 ( 10
+

8
)
102

= + 38.104 avec e = 2,

t = 2, e t = 4. Le nombre m sappelle la mantisse et on utilise la notation m = d1 d2 . . . dt .


Notons que 0
/ F.
Pour y 6= 0, on a m et = e ( d1 +

d2
2

dt
)
t
dtk k

+ +

Dautre part, m = d1 d2 . . . dt = d1 t1 + +
montr que
t1 m < t .

car d1 1. Do m t1 .

+ + dt1 + dt < t . On a donc

F est un systme de nombres virgule flottante (floating point number system) not
F (, t, emin , emax ). Il dpend de quatre paramtres :
1. la base (chiffres utiliss 0, 1, . . . , 1),
2. la prcision t (nombre de chiffres utiliss pour reprsenter la mantisse),
3. emin et emax qui dfinissent le domaine des exposants.
Par exemple, pour F (2, 3, 1, 3), on obtient les nombres reprsents en rouge sur la figure
ci-dessous :
0, 25
0

0, 5

On constate que lcart entre deux nombres conscutifs est multipli par 2 chaque
puissance de 2.
Dans le standard IEEE 754 utilis par Matlab, on a = 2 et :
8

en simple prcision : t = 24, emin = 125, emax = 128,


en double prcision : t = 53, emin = 1021, emax = 1024.
Dfinition 1.2. On appelle epsilon machine et on note M la distance de 1 au nombre flottant
suivant.
Par exemple, pour F (2, 3, 1, 3), on a M = 0, 25. Dans Matlab, cest eps.
Proposition 1.3. Pour F (, t, emin , emax ), on a M = 1t .
Dmonstration. On a 1 =

= 1t 10 . . . 0 . Le nombre suivant dans le systme de nombres

virgule flottante F (, t, emin , emax ) est alors 1t 10 . . . 1 = 1t ( t1 + 1) = 1 + 1t .


Lemme 1.4. Dans le systme de nombres virgule flottante F (, t, emin , emax ), lcart |y x|
entre un nombre flottant x (non nul) et un nombre flottant y (non nul) adjacent vrifie
1 M |x| |y x| M |x|.
Dmonstration. On a x = m et , donc |y x| = 1 et . Or t1 m < t donc m t < 1
et m 1t 1. Il vient donc m t et < 1 et m 1t et do le rsultat puisque
M = 1t .

1.1.2

Reprsentation effective des rels et sa formalisation

Reprsentation physique : par exemple, en simple prcision 32 bits (bit = binary digit),
8 bits sont rservs lexposant et 24 bits (dont 1 pour le signe) la mantisse. En double
prcision 64 bits, 11 bits sont rservs lexposant et 53 bits (dont 1 pour le signe) la mantisse.
Arrondi :
1. par troncature : par exemple avec 3 chiffres, 0, 8573 . . . devient 0, 857.
2. au plus prs : 0, 8573 . . . devient 0, 857.
3. au reprsentant le plus proche dont la dernire dcimale est paire (rounding to even) :
0, 8573 . . . devient 0, 858.
Formalisation :
Dfinition 1.5. Soit G = G(, t) = {y R | y = m et } sans conditions sur lexposant e.
Lapplication fl : R G, x 7 fl(x) est appele opration darrondi.
tant donn un domaine F (, t, emin , emax ), il y a alors dpassement de capacit si :
1. |fl(x)| > max{|y| | y F }. On parle d overflow .
2. |fl(x)| < min{|y| | y F }. On parle d underflow .
Sinon, x est dans le domaine de F .
9

1.1.3

Unit derreur darrondi, estimation derreurs

Dfinition 1.6. Soit x un rel et x une valeur approche de x. Lerreur absolue e est dfini
par e = |xx|. Lerreur relative est | xe |. Le pourcentage derreur est lerreur relative multiplie
par 100.
En pratique, on ne connait en gnral pas la valeur exacte x (cest le cas dans la plupart
des mesures physiques) mais on peut souvent avoir une ide de lerreur maximale e que lon
a pu commettre : dans ce cas, on majore la quantit | xe |.
Thorme 1.7 (Estimation de lerreur darrondi). Soit x un rel. Si x est dans le domaine
F (, t, emin , emax ), alors il existe R avec || < u = 12 1t = 12 M tel que fl(x) = x (1 + ).
Dmonstration. Admis pour ce cours.
Lerreur relative sur larrondi est gale || < u : le nombre u sappelle unit derreur
darrondi.
Par exemple, dans le standard IEEE 754 utilis par Matlab, on a u = 224 5, 96.108
en simple prcision et u = 253 1, 11.1016 en double prcision.

1.1.4

Modle de larithmtique flottante

Le modle suivant de larithmtique flottante est celui utilis par le standard IEEE.

Modle Standard : Soit x, y F (, t, emin , emax ). Pour op {+, , , , }, on dfinit


x op y = fl(x op y) = (x op y) (1 + ) avec || < u = 12 1t = 12 M .
Nous allons maintenant nous intress aux erreurs faites par op .

1.2
1.2.1

Lanalyse derreurs
Non-associativit

En gnral, contrairement op, lopration op nest pas associative. Ceci est d aux erreurs
darrondi. Par exemple, supposons que les rels soient calculs avec 3 chiffres significatifs
et arrondis la dcimale la plus proche et cherchons calculer la somme x + y + z avec
x = 8, 22, y = 0, 00317 et z = 0, 00432.
x + y = 8, 22 donc (x + y) + z = 8, 22,
y + z = 0, 01 donc x + (y + z) = 8, 23.
10

1.2.2

Erreurs darrondi sur une somme

Supposons que lon souhaite calculer une somme S = u1 + u2 + + un de n rels positifs dans
F (, t, emin , emax ). On calcule alors les sommes partielles Si par la rcurrence S0 = 0, Si =
Si1 + ui . Si lon suppose les ui connus exactement, alors les erreurs darrondi Si commises
sur le calcul des sommes partielles Si vrifient Si Si1 + (Si1 + ui ) = Si1 + Si o
|| < u. Lerreur globale sur S = Sn vrifie donc
S (S2 + + Sn ),
ou encore
S (un + 2 un1 + 3 un2 + + (n 1) u2 + (n 1) u1 ).
On voit donc que pour minimiser cette erreur on a tout intrt sommer dabord les
termes les plus petits (Cf exemple de la sous-section prcdente).

1.2.3

Erreurs darrondi sur un produit

Supposons que lon souhaite calculer un produit P = u1 u2 . . . un de n rels positifs dans


F (, t, emin , emax ). On calcule alors les produits Pi par la rcurrence P0 = 1, Pi = Pi1 ui . Si
lon suppose les ui connus exactement, alors les erreurs darrondi Pi commises sur le calcul
des produits Pi vrifient Pi Pi1 ui + (Si1 ui ) = Pi1 ui + Pi o || < u. Lerreur
globale sur P = Pn vrifie donc
P (k 1) Pn .
On voit donc que contrairement au cas de laddition, la majoration de lerreur ne dpend
pas de lordre des facteurs.

1.2.4

Phnomnes de compensation

Les phnomnes de compensation sont ceux qui se produisent lorsque lon tente de soustraire
des nombres trs proches. Nous illustrons ces phnomnes sur deux exemples et donnons des
astuces pour les contourner.

Exemple 1 : On considre lexpression E = x + 1 x avec x > 0. Sous Matlab, en


calculant E pour x = 109 , on va obtenir 1, 5811.105 mais pour x = 1016 , on va obtenir 0 !
1
Si lon remarque que E = x+1+
, alors, en utilisant cette nouvelle formule, on trouvera
x
5
9
E = 1, 5811.10 pour x = 10 et E = 5, 000.109 pour x = 1016 .
Exemple 2 : On considre lquation du second degr x2 1634 x + 2 = 0. Supposons
que les calculs soient effectus
avec 10 chiffres significatifs. Les formules habituelles donnent
2
0 = ( 1634
)

2
=
667487,
0 = 816, 9987760, do les solutions
2
x1 =

1634 0
+ = 817 + 816, 9987760 = 1633, 998776,
2
11

1634 0
= 817 816, 9987760 = 0, 0012240.
2
On voit donc quen procdant ainsi on a une perte de 5 chiffres significatifs sur x2 . Pour y
remdier, on peut utiliser la relation x1 x2 = 2 et calculer
x2 =

x2 =

1.2.5

2
2
=
= 0, 001223991125.
x1
1633, 998776

Phnomnes dinstabilit numrique

Les phnomnes dinstabilit numrique sont des phnomnes damplification derreur darrondi. Ils se produisent en gnral pour des calculs rcurrents ou itratifs. Nous illustrons ces
phnomnes sur deux exemples.
Exemple 1 : On considre lintgrale
Z 1
xn
dx,
In =
0 10 + x

n N,

que lon cherche valuer numriquement. Un calcul direct montre que I0 = ln( 11
). De plus,
10
on a

Z 1
Z 1
x
10
1
n1
In =
x
dx =
1
xn1 dx = 10 In1 .
10 + x
n
0 10 + x
0
On peut donc calculer successivement les valeurs de In en utilisant la rcurrence I0 = ln( 11
),
10
1
In = n 10 In1 . Numriquement, cela conduit des rsultats trs mauvais. Cela provient
du fait que lerreur darrondi In sur le calcul de In vrifie In 10 In1 , si lon nglige
lerreur darrondi sur n1 . On voit donc que lerreur croit exponentiellement : lerreur sur I0
est multiplie par 10n sur In . Par consquent cette formule de rcurrence ne peut pas nous
permettre de calculer la valeur de I36 par exemple. Pour remdier ce problme, on peut
renverser la rcurrence cest--dire considrer la formule :


1 1
In1 =
In .
10 n
Toujours en ngligeant lerreur darrondi sur n1 , on obtient alors In1
lencadrement 10 10 + x 11 pour x [0, 1], on montre que

1
10

In . En utilisant

1
1
In
.
11 (n + 1)
10 (n + 1)
1
Lapproximation In 11 (n+1)
nous permet alors de calculer une valeur de dpart pour notre
1
rcurrence renverse. Par exemple, si lon part de I46 11 (46+1)
, on obtiendra pour I36 une
10
erreur relative meilleure que 10 .

On constate ici limportance du coefficient damplification derreur pour ce genre de calcul.


12

Exemple 2 : On considre la suite dfinie par :

u = 2,

0
u1 = 4,

un = 111 1130 + 3000 ,

un1 un1 un2


introduite par J.-M. Muller. On peut alors montrer que la limite de cette suite est gale 6
et malgr cela, quelque soit le systme et la prcision utiliss, cette suite semblera tendre
vers 100. Lexplication de ce phnomne trange est assez simple : la solution gnrale de la
1130
3000
rcurrence un = 111
+
est donne par :
un1 un1 un2
100n+1 + 6n+1 + 5n+1
,
100n + 6n + 5n
o , et dpendent des valeurs initiales u0 et u1 . Par consquent, si 6= 0, la suite
converge vers 100 et sinon (si =
6 0) la suite converge vers 6. Dans notre exemple, les valeurs
initiales u0 = 2 et u1 = 4 correspondent = 0, = 3 et = 4. Par consquent, la
limite exacte de la suite est 6. Mais cause des erreurs darrondi, mme les premiers termes
calculs seront diffrents des termes exacts et donc la valeur de correspondant ces termes
calculs sera trs petite mais non-nulle ce qui suffira faire en sorte que la suite converge
vers 100 au lieu de 6.
un =

1.2.6

Erreur amont et erreur aval

Considrons un problme que lon rsout laide dun algorithme numrique et appelons f la
fonction qui fait correspondre lentre x de lalgorithme la solution algbrique y = f (x). En
pratique, compte tenu des erreurs darrondis, tant donne une entre x, nous allons obtenir
une sortie y qui sera distincte de la solution algbrique y = f (x). Lerreur aval est alors la
diffrence entre le rsultat y obtenu et la solution algbrique y. Lerreur amont ou erreur
inverse est le plus petit x tel que la solution algbrique f (x + x) correspondant lentre
x + x soit gale y. Ces deux erreurs sont lies par le conditionnement (voir Chapitre 3) :
lerreur aval tant du mme ordre que lerreur amont multiplie par le conditionnement.
Lerreur amont est en gnral plus intressante que lerreur aval car elle nous renseigne sur le
problme qui est rellement rsolu par lalgorithme numrique. De plus, en pratique, nous ne
connaissons en gnral quune valeur approche de lentre (par exemple obtenue par une
mesure).

1.2.7

Outils thoriques de lanalyse derreurs

Considrons la formule (x y) + z pour trois rels x, y et z dun domaine F (, t, emin , emax ).


On a alors :
fl((x y) + z) = [fl(x y) + z] (1 + 1 )
= [(x y) (1 + 2 ) + z] (1 + 1 )
= (x y) (1 + 2 ) (1 + 1 ) + z (1 + 1 ),
13

daprs le thorme 1.7, avec de plus |i | < u, pour i = 1, 2.


Lemme 1.8. Si
Qkpour tout i = 1, . . . , k, on a |i | < u et si k u < 1, alors il existe k tel que
ku
|k | 1k
et
i=1 (1 + i ) 1 + k .
u
Dmonstration. La dmonstration se fait par rcurrence.
Q
En utilisant la notation < k > = ki=1 (1 + i ) avec < j > . < k >=< j + k >, on a
alors
fl((x y) + z) = (x y) < 2 > +z < 1 >
2u
u
(x y) (1 + 12
) + z (1 + 1u
).
u

14

Chapitre 2
Rsolution dun systme dquations
linaires (Partie 1) : mthodes directes
Beaucoup de problmes se rduisent la rsolution numrique dun systme dquations
linaires. Il existe deux grandes classes de mthodes pour rsoudre ce type de systmes :
1. les mthodes directes qui dterminent explicitement la solution aprs un nombre fini
doprations arithmtiques,
2. les mthodes itratives qui consistent gnrer une suite qui converge vers la solution
du systme.
Remarquons que les mthodes itratives ne sappliquent que dans le cas de systmes
coefficients dans R ou C mais pas dans le cas des corps finis Fp . Notons quil existe aussi des
mthodes intermdiaires telles que les mthodes de Splitting ou de dcomposition incompltes,
et des mthodes probabilistes comme celle de Monte-Carlo qui ne seront pas abordes dans
ce cours.
Dans ce deuxime chapitre nous nous intressons aux mthodes directes. Les mthodes
itratives seront abordes au chapitre 4.

2.1
2.1.1

Introduction et motivation
Objet

On considre un systme (S) de

a1,1 x1

a2,1 x1
(S)
..

a x
n,1 1

n quations n inconnues de la forme


+ a1,2 x2 +
+ a2,2 x2 +

+ a1,n xn = b1 ,
+ a2,n xn = b2 ,
..
.

+ an,2 x2 +

+ an,n xn = bn .

Les donnes sont les coefficients ai,j du systme qui appartiennent un corps K avec K = R
ou C ainsi que les coefficients du second membre b1 , . . . , bn . Les inconnues sont x1 , . . . , xn qui
15

appartiennent K. Un systme est dit homogne si son second membre est nul cest--dire si
tous les bi sont nuls. Nous crirons ce systme sous forme matricielle
(S) A x = b,

avec A =

a1,1 a1,2 . . . a1,n


..
..
.
a2,1
.
..
..
..
.
.
.
an,1 . . . . . . an,n

Mnn (K), x =

x1
.. Kn et b =

.
xn

b1
.. Kn .
.
bn

Dans tout ce chapitre, on supposera que la matrice A est inversible !

2.1.2

Motivation

Le lecteur peut se demander pourquoi le problme de la rsolution dun tel systme se pose
alors que les formules de Cramer nous donnent la solution dun tel systme (S) :


a1,1 . . . a1,(i1) b1 a1,(i+1) . . . a1,n


..
..
..
.
.
.

an,1 . . . an,(i1) bn an,(i+1) . . . an,n
.
i {1, . . . , n}, xi =
det(A)
Pour comprendre le problme, essayons de compter le nombre doprations ncessaires
pour calculer la solution en utilisant ces formules de Cramer. Nous devons calculer n + 1
dterminants de taille n. On sait que le dterminant de A est donn par la formule
X
det(A) =
 a(1),1 a(2),2 a(n),n ,
Sn

o Sn est lensemble des permutations de {1, . . . , n} et  est la signature de la permutation


( {1, 1}). Lensemble Sn contient n! lments donc le calcul de det(A) se ramne n! 1
additions et n! (n 1) multiplications soit au total n! 1 + n! (n 1) = n n! 1 oprations
virgule flottante. Comme nous avons n + 1 dterminants calculer, le nombre doprations
ncessaires pour rsoudre le systme laide des formules de Cramer est de (n + 1) (n n! 1)
oprations virgule flottante qui est quivalent quand la dimension n tend vers linfini
n (n + 1)!. Essayons dvaluer cette
quantit lorsque n = 100. Pour ceci on peut utiliser la
n+ 12 n
formule de Stirling n! n
e
2 qui est trs prcise pour valuer la factorielle :
100.101! =
'
'
'
'

100.101.100!

100.101.100100,5 .e100 . 2
100.101.100100,5.1043,43 . 2
1020544 .100,57 . 2
9, 4.10161 .
16

(log10 (e) ' 0, 4343)

Par exemple, avec ordinateur fonctionnant 100 megaflops (flops = oprations virgule
flottante par secondes - floating point operations per second), il faudrait environ 3.10146
annes pour rsoudre notre systme !
On en dduit donc quil est impossible dutiliser les formules de Cramer pour des systmes
de grande taille. En pratique, on utilise les mthodes directes pour des systmes de dimension
peu leve (n 100). Pour de trs grands systmes qui peuvent par exemple apparaitre en
conomie ou pour lapproximation dquations aux drives partielles (voir Chapitre 4), on
prfre les mthodes itratives.

2.1.3

Rsolution dun systme triangulaire

Lide des mthodes directes est de se ramener la rsolution dun (ou de deux) systme(s)
triangulaire(s).
Supposons que A soit une matrice triangulaire suprieure. Le

a1,1 x1 + a1,2 x2 + + a1,n xn

a2,2 x2 + + a2,n xn
(S)
..

an,n xn

systme scrit alors :


= b1 ,
= b2 ,
..
.
= bn .

Puisque A est suppose inversible, aucun des ai,i nest nul et on peut rsoudre ce systme
en utilisant lalgorithme de substitution rtrograde (ou substitution arrire) suivant :
Entres : A = (ai,j )1i,jn Mnn (K) triangulaire suprieure et b = (bi )1in Kn .
Sortie : x = (xi )1in Kn tel que A x = b.
1. xn =

bn
an,n

2. Pour i de n 1 1 par pas de 1, faire :




P
xi = a1i,i bi nj=i+1 ai,j xj ;
3. Retourner x = (xi )1in Kn .
Exemple : On considre le systme triangulaire suprieur

5 x3
= 1,

x1 + 2 x2 +
4 x2 16 x3 = 52 ,
(S)

17 x3 = 17
.
8
En rsolvant la troisime quation, on trouve x3 = 18 . La deuxime quation donne alors
x3
x2 = 5/2+16
= 18 et finalement la premire quation fournit x1 = 12 x12 5 x3 = 18 .
4

17

De faon analogue, lorsque A est triangulaire infrieure, on obtient lalgorithme de


substitution progressive (ou substitution avant).
Proposition 2.1. La rsolution dun systme dquations linaires triangulaire se fait en n2
oprations virgule flottante.
Dmonstration. Calculer xn ncessite 1 opration (division), calculer xn1 ncessite 3 oprations (une multiplication, une soustraction et une division), et calculer xi ncessite 2 (n i) + 1
oprations (n i multiplications, (n i 1) additions, 1 soustraction et 1 division). Au total,
le nombre doprations est donc
n
X

(2 (n i) + 1) = 2

i=1

n
X

(n i) + n = 2

i=1

n1
X
j=0

j+n=2

(n 1) n
+ n = n2 .
2

Proposition 2.2. Soient A, B Mnn (K) deux matrices triangulaires suprieures. On a


alors les rsultats suivants :
1. A B est triangulaire suprieur ;
2. Si A et B sont diagonale unit (i.e., nont que des 1 sur la diagonale), alors A B est
diagonale unit ;
3. Si A est inversible, alors A1 est aussi triangulaire suprieure ;
4. Si A est inversible et diagonale unit, alors A1 est aussi diagonale unit.
Dmonstration. Exercice.

2.1.4

Les mthodes directes tudies

Dans la suite de ce chapitre, nous allons considrer les trois mthodes directes suivantes pour
la rsolution de (S) : A x = b :
1. Mthode de Gauss : le principe est de rduire le systme (M A) x = M b avec M A
triangulaire suprieure sans calculer explicitement M . On se ramne donc la rsolution dun systme triangulaire suprieur. Cette mthode est associe la factorisation
A = L U de la matrice A avec L triangulaire infrieure (Lower) et U triangulaire
suprieure (Upper). tant donne une telle factorisation A = L U , on peut rsoudre le
systme A x = b en rsolvant successivement les deux systmes triangulaires L y = b
puis U x = y.
En Matlab, on peut appliquer la mthode de Gauss pour rsoudre (S) : A x = b en
tapant x = A \ b (attention, le symbole entre la matrice A et le vecteur colonne b est
backslash et non un slash !) et calculer la factorisation LU dune matrice en
utilisant [L,U]=lu(A).

18

2. Mthode de Cholesky associe la factorisation de Cholesky A = RT R avec R triangulaire suprieure. Cette mthode est valable pour une matrice A symtrique et
dfinie positive (voir Dfinitions 2.14 et 2.16). On rsout alors A x = b en rsolvant
successivement les systmes triangulaires RT y = b puis R x = y.
En Matlab, on peut calculer la factorisation de Cholesky dune matrice A en tapant
R=chol(A). On obtient un message derreur lorsque A nest pas symtrique dfinie
positive.

3. Mthode de Householder associe la factorisation A = Q R avec R triangulaire


suprieure et Q orthogonale (voir Dfinition 2.20). La matrice Q est un produit de n 1
matrices de Householder Hi (voir Dfinition 2.19). Le systme A x = b scrit alors
Hn1 H2 H1 A x = Hn1 H2 H1 b que lon rsout facilement grce au fait que le
produit Hn1 H2 H1 A est une matrice triangulaire suprieure.
En Matlab, on calcule la factorisation QR dune matrice A en tapant [Q,R]=qr(A).

2.2
2.2.1

Mthode de Gauss et factorisation LU


Description de la mthode

On considre le systme linaire (S) : A x = b en supposant toujours que A est inversible et


(1)
on pose b(1) = b et A(1) = A = (ai,j )1i,jn . Le systme (S) scrit alors A(1) x = b(1) que lon
note S (1) .

tape 1 : Puisque A est inversible, quitte changer la premire ligne de A(1) avec une
(1)
(1)
autre, on peut supposer que a1,1 6= 0. Le nombre a1,1 est le premier pivot de llimination de
(1)

Gauss. Pour i = 2, . . . , n, on multiplie la premire quation de (S (1) ) par gi,1 =

ai,1

(1)

a1,1
(1)

et on

retranche lquation obtenue la ime quation de (S (1) ). La ime ligne Li de (S ) devient


donc Li gi,1 L1 . On obtient alors un nouveau systme (S (2) ) : A(2) x = b(2) avec :
(2)
a1,j

(2)

ai,1
(2)
ai,j

(2)

b1

(2)
bi

=
=
=
=
=

(1)

a1,j , j = 1, . . . , n,
0, i = 2, . . . , n,
(1)
(1)
ai,j gi,1 a1,j , i, j = 2, . . . , n,
(1)
b1 ,
(1)
(1)
bi gi,1 b1 , i = 2, . . . , n.
19

La matrice A(2) et le vecteur b(2) sont donc de la forme :

A(2)

(1)

(1)

(1)

a1,1 a1,2 . . . a1,n


0 a(2) . . . a(2)

2,2
2,n

..
..

= 0
.
.
..
..
..
.
.
.
(2)
(2)
0 an,2 . . . an,n

b(2) =

(1)

b1
(2)
b2
..
.
(2)

bn

tape k : On a ramen le systme (S (k) ) : A(k) x = b(k) avec

A(k)

(1)

(1)

a1,1
. . . . . . a1,k
(2)
(2)
0 a2,2
a2,k
(3)
(3)
0
0 a3,3
a3,k
..
..
.. ..
..
.
.
.
.
.
(k)
0 ... 0
0
ak,k
..
..
(k)
.
.
0 ak+1,k
..
..
..
..
.
.
.
.
(k)
0 ... 0
0
an,k
(k)

(1)

(k)

...
...
...

a1,n
(2)
a2,n
(3)
a3,n
..
.

...

ak,n
(k)

. . . ak+1,n
..
.
...

(k)

an,n

(k)

On peut alors se ramener au cas ak,k =


6 0 et ak,k est le kime pivot de llimination de Gauss.
(k)

Par le mme principe qu ltape 1 et en utilisant gi,k =

ai,k

(k)

ak,k

pour i > k, on obtient alors

(S (k+1) ) : A(k+1) x = b(k+1) avec

A(k+1)

(1)

(1)

a1,1
. . . . . . a1,k+1
...
(2)
(2)
0 a2,2
a2,k
...
(3)
(3)
0
0 a3,3
a3,k
...
..
..
..
.. ..
.
.
.
.
.
(k)
0 ... 0
0
ak,k
...
..
..
(k+1)
.
.
0
0
ak+1,k+1
..
..
..
..
..
.
.
.
.
.
(k+1)
0 ... 0
0
0
an,k+1
20

(1)

(k)

...
...
...

a1,n
(2)
a2,n
(3)
a3,n
..
.

...

ak,n
(k+1)

. . . ak+1,n
..
.
(k+1)

. . . an,n

tape n 1 : Le systme (S (n) ) : A(n) x = b(n) obtenu est triangulaire suprieure avec

A(n)

(1)

(1)

a1,1
. . . . . . a1,n
(2)
(2)
0 a2,2
a2,n
(3)
(3)
0
0 a3,3
a3,n
..
..
... ... ...
.
.
(n)
0 ... 0
0 an,n

et peut donc tre rsolu par lalgorithme de substitution rtrograde de la sous-section 2.1.3.
Exemple : Considrons le systme suivant :

x1 + 2 x2 + 5 x3 = 1,
(1)
(S) = (S ) 3 x1 + 2 x2 x3 = 12 ,

5 x2 + 3 x3 = 1.
(1)

(1)

(1)

Le premier pivot de llimination de Gauss est donc a1,1 = 1 et on a g2,1 = 3, g3,1 = 0. La


premire tape fournit donc

(S

(2)

x1 +

2 x2 + 5 x3 = 1,
4 x2 16 x3 = 52 ,
5 x2 + 3 x3 = 1.
(2)

(2)

Le second pivot de llimination de Gauss est donc a2,2 = 4 et on a g3,2 = 54 . On


obtient donc le systme

(S

(3)

x1 +

2 x2 +
4 x2

5 x3
= 1,
16 x3 = 52 ,
17 x3 = 17
.
8

On rsout alors ce systme triangulaire suprieur par lalgorithme de substitution rtrograde pour trouver : x1 = x2 = x3 = 18 (voir lexemple de la sous-section 2.1.3).

2.2.2

Point de vue numrique : stratgies de choix du pivot

Au cours de lexcution de llimination de Gauss, si on tombe sur un pivot nul, alors on


permute la ligne en question avec une ligne en dessous pour se ramener un pivot non nul
(ceci est toujours possible car A est suppose inversible). Cependant, certains choix de pivots
peuvent savrer plus judicieux que dautres.
21

Exemple :
Considrons le systme (S) : A x = b o


1
A=
,
1 1


b=

1
2


,

avec rel non nul. On suppose de plus 6= 1 de sorte que A est inversible. La solution
1

de ce systme est alors donne par x1 = 1


, x2 = 12
. Supposons maintenant que est
1
trs petit (0  < 1) et appliquons llimination de Gauss dcrite dans la sous-section
prcdente. Le premier pivot est alors et g2,1 = 1 . La premire tape transforme donc le
systme (S) en (S (2) ) : A(2) x = b(2) avec




1

1
(2)
(2)
, b =
.
A =
2 1
0 1 1
La deuxime quation entrane 1 x2 1 do x2 1 et la premire nous donne alors
x1 0 ce qui est faux. Lerreur ne provient pas seulement du fait que est trs petit car
si on multiplie la premire ligne par une puissance de 10 quelconque, on va trouver la mme
erreur. Notons x2 = x2 + x2 o |x2 | est lerreur absolue sur x2 . On a alors
x1 =

1 x2
1 x2 x2
=

et on voit donc que lerreur x1 = 1 x2 sur x1 est trs amplifie par rapport celle sur x2 .
Lanomalie provient du dsquilibre entre les coefficients de x1 et x2 de la ligne du pivot.
Pour y remdier, changeons maintenant les deux lignes de notre systme et appliquons
llimination de Gauss avec 1 comme premier pivot. On obtient alors




1
1
2
(2)
A =
, b=
,
0 1
1 2
qui entrane alors x2 1 et x1 1 ce qui est correct.
limination de Gauss pivot partiel
(k)

ltape k, on change les lignes k et k 0 (k 0 k) de A(k) de telle sorte que : |ak,k | =


(k)

max{|ai,k |, i k}.
Par exemple, pour le systme (S) de la sous-section prcdente, ltape 1, on va permuter
les lignes 1 et 2 et considrer

3 x1 + 2 x2 x3 = 2 ,
x1 + 2 x2 + 5 x3 = 1,
(S 0 ) :

5 x2 + 3 x3 = 1.
22

limination de Gauss pivot total


ltape k, on change la fois les lignes k et k 0 (k 0 k) et les colonnes k et k 00 (k 00 k) de
(k)
(k)
telle sorte que : |ak,k | = max{|ai,j |, i k, j k}.
Attention ! Si on fait des changes de colonnes cela modifie lordre des composantes du
vecteur solution x donc il faut penser rtablir le bon ordre des composantes la fin.
Par exemple, pour le systme (S) de la sous-section prcdente, ltape 1, on va permuter
les colonnes 1 et 3 et considrer

5 x3 + 2 x2 + x1 = 1,
0
x3 + 2 x2 + 3 x1 = 12 ,
(S ) :

3x + 5x
= 1.
3
2

2.2.3

Lien avec la factorisation LU dune matrice

Dfinition 2.3. Soit A Mnn (K). On appelle factorisation LU de A une factorisation


A = L U avec L Mnn (K) triangulaire infrieure et U Mnn (K) triangulaire suprieure.
Lemme 2.4. Avec les notations de
Gauss, on a A(k+1) = Gk A(k) o

1
(0)
..

(0)
1

Gk =
0 . . . 0 gk+1,k
.
..
..
..
.
.
0 ... 0
gn,k

la sous-section 2.2.1, ltape k de llimination de

0
..
.

0 ... 0
,
1
(0)

..

.
(0)
1
0
..
.

...

(k)

gi,k =

ai,k

(k)

, i = k + 1, . . . , n.

ak,k

On a de plus b(k+1) = Gk b(k) .


Dmonstration. Il suffit deffectuer le produit Gk A(k) et de vrifier que lon retrouve A(k+1) .
Dfinition 2.5. Soit A Mnn (K). Les mineurs fondamentaux Dk , k = 1, . . . , n de A sont
les dterminants des sous-matrices de A formes par les k premires lignes et les k premires
colonnes de A : Dk = det ((ai,j )1i,jk ) pour k = 1, . . . , n.
Thorme 2.6. Soit A Mnn (K) une matrice carre inversible. Les proprits suivantes
sont quivalentes :
(i) Llimination de Gauss seffectue sans permutation de lignes ;
(ii) Il existe L Mnn (K) triangulaire infrieure inversible et U Mnn (K) triangulaire
suprieure inversible telles que A = L U ;
(iii) Tous les mineurs fondamentaux de A sont non nuls.
23

Dmonstration. Pour la suite de ce cours, la partie de la dmonstration qui nous intresse


est limplication (i) (ii) qui nous permettra de calculer la factorisation LU de A. Daprs
le lemme 2.4, on a A(n) = Gn1 Gn2 G1 A. La matrice Gn1 Gn2 G1 tant inversible,
on peut donc crire A = (Gn1 Gn2 G1 )1 A(n) . Les matrices Gk tant triangulaires
infrieures, la proposition 2.2 affirme que (Gn1 Gn2 G1 )1 est aussi triangulaire infrieure.
De plus, par construction A(n) est triangulaire suprieure do le rsultat en posant L =
(Gn1 Gn2 G1 )1 et U = A(n) .
Corollaire 2.7. Soit A Mnn (K) une matrice carre inversible. La matrice A admet une
factorisation LU si et seulement si tous ses mineurs fondamentaux sont non nuls.
Le lemme suivant nous permet dexpliciter la matrice L de la factorisation LU de A
obtenue partir de llimination de Gauss.
Lemme 2.8. Avec les notations prcdentes, on a

1
0

g2,1 1

1
(Gn1 Gn2 G1 ) =
g3,1 g3,2
.
..
..
.
gn,1 gn,2

...
...
1
...

...
..

.
...

. . . gn,n1

0
..
.
..
.

0
1

Dmonstration. Faire le calcul.


Corollaire 2.9. Soit A Mnn (K) une matrice carre inversible. Si tous les mineurs
fondamentaux de A sont non nuls, alors avec les notations prcdentes, llimination de Gauss
fournit la factorisation LU de A suivante :

(1)

(1)
1
0 ...
... 0
. . . . . . a1,n
a1,1
..

..
(2)
(2)
.
g2,1 1
a2,n
. 0 a2,2

(3)
(3)
..
...

a3,n
0 a3,3
A=
.
g3,1 g3,2 1
0
.
.
.
.

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

.
.
.
0 .
(n)
0 ... 0
0 an,n
gn,1 gn,2 . . . gn,n1 1
On remarque que la matrice L obtenue est diagonale unit.
Exemple : En reprenant lexemple de la sous-section 2.2.1, on trouve :

1 0 0
1 2
5
1 2 5
3 2 1 = 3 1 0 0 4 16 .
0 45 1
0 0 17
0 5 3
|
{z
} |
{z
}|
{z
}
A

24

Proposition 2.10. Soit A Mnn (K) une matrice carre inversible admettant une factorisation LU. Alors il existe une unique factorisation LU de A avec L diagonale unit.
Dmonstration. Si A admet une factorisation LU, alors lexistence dune factorisation LU avec
L diagonale unit est claire daprs le corollaire 2.9. Supposons maintenant que A admette
deux factorisations LU : A = L1 U1 et A = L2 U2 avec L1 et L2 diagonale unit. Lgalit
1
L1 U1 = L2 U2 implique U1 U21 = L1
est triangulaire
1 L2 . Daprs la proposition 2.2, U1 U2
1
suprieure et L1 L2 est triangulaire infrieure diagonale unit. La seule possibilit pour
que ces deux matrices soient gales est donc U1 U21 = L1
1 L2 = In ce qui implique L1 = L2
et U1 = U2 .
Lorsque A admet une factorisation LU, la rsolution du systme dquations linaires
(S) : A x = b se ramne la rsolution de deux systmes linaires triangulaires. En effet :

L y = b,
A x = b L U x = b
U x = y.
En pratique, on rsout donc dabord L y = b puis connaissant y on rsout U x = y.
Dfinition 2.11. On appelle matrice de permutation associe une permutation Sn , la
matrice P = (i(j) )1i,j,n o ij = 1 si i = j et ij = 0 si i 6= j.
Par exemple si lon considre la permutation, :
la matrice de permutation lmentaire

0 0 1 0
0 1 0 0

P =
0 0 0 0
1 0 0 0
0 0 0 1

(1, 2, 3, 4, 5) 7 (3, 2, 5, 1, 4), on obtient


0
0
1
0
0

Multiplier une matrice A gauche (resp. droite) par une matrice de permutation revient
alors permuter les lignes (resp. les colonnes) de la matrice. Par exemple, en multipliant
une matrice gauche par la matrice P ci-dessus, la troisime ligne devient la premire, la
seconde ligne reste inchange, la cinquime ligne devient la troisime . . . . Les matrices de
permutation sont orthogonales (voir Dfinition 2.20) cest--dire que Sn , P1 = PT .
Le corollaire 2.7 nous donne une condition ncessaire et suffisante pour quune matrice
inversible admette une factorisation LU. Lorsque cette factorisation LU nexiste pas, on peut
tout de mme utiliser le thorme suivant :
Thorme 2.12. Soit A Mnn (K) une matrice carre inversible. Il existe une matrice de
permutation P telle que P A admette une factorisation LU.
Dmonstration. Admis pour ce cours.
25

Notons que dans ce cas, on a :



A x = b P A x = P b L U x = P b

L y = P b,
U x = y.

En pratique, on rsout donc dabord L y = P b puis connaissant y on rsout U x = y.

2.2.4

Cot de lalgorithme

Rsolution dun systme via llimination de Gauss


Nous allons nous intresser au nombre doprations virgule flottante ncessaires la
rsolution dun systme (S) : A x = b en utilisant llimination de Gauss puis en rsolvant le
systme triangulaire A(n) x = b(n) .
Soit A Mnn (K) une matrice carre inversible et supposons que A admette une
factorisation LU. ltape k de llimination de Gauss, on doit faire n k divisions pour
(k+1)
(k+1)
calculer les gi,k puis nous avons (nk)2 coefficients ai,j calculer et (nk) coefficients bi
.
Cela ncessite donc (n k) (n k + 1) multiplications puis (n k) (n k + 1) soustractions.
Au total, pour toute llimination de Gauss, nous aurons donc faire
Pn1
Pn1
Pn1
Pn1
k=1 (n k) + 2
k=1 (n k) (n k + 1) =
k=0 k + 2
k=0 k (k + 1)
Pn1 2
P
= n (n1)
+ 2 ( n1
k=1 k )
k=1 k +
2
n (n1)
2

+ 2 ( n (n1)
+ n (n1)6(2 n1) )
2


= n (n 1) 3+6+26(2 n1)


n (n1) (4 n+7)
=
 3 62

4 n +3 n 7 n
=
6
=

oprations virgule flottante. Daprs la proposition 2.1, la rsolution dun systme triangulaire
cote n2 oprations virgule flottantes
la rsolution du systme (S) par cette
au total,
 3 donc
2
3
2
mthode cotera G(n) = n2 + 4 n +36n 7 n = 4 n +96n 7 n oprations virgule flottante.
3

Lorsque n tend vers linfini, on a G(n) 2 3n oprations virgule flottante. Notons que
daprs ce qui prcde, cette estimation reprsente aussi le cot asymptotique du calcul de la
factorisation LU dune matrice. On a donc obtenu :
Lemme 2.13. Soit A Mnn (K) une matrice carre inversible. Rsoudre un systme linaire
(S) : A x = b via llimination de Gauss ncessite un nombre doprations virgule flottante
3
quivalent 2 3n lorsque n tend vers linfini. Ce cot asymptotique est aussi celui du calcul de
la factorisation LU de A.
Pour comparer avec le rsultat obtenu en utilisant les formules de Cramer, si lon suppose
que n = 100, alors cela donne environ 6, 6.105 oprations virgule flottante et avec un
26

ordinateur fonctionnant 100 megaflops, cela prendra moins de 7 millimes de secondes. Cela
ne se fait donc pas la main mais votre ordinateur personnel pourra le faire en quelques
(dizaines de) secondes.
Faut-il inverser une matrice ?
Nous admettrons qutant donne la factorisation LU de A, le cot du calcul de linverse A1
3
de A lorsque n tend vers linfini est de 4 3n oprations virgule flottante. Au total, lorsque n
tend vers linfini, il faut donc 2 n3 oprations virgule flottante pour calculer linverse de
A. Daprs ce qui prcde cela signifie donc quasymptotiquement (i.e., lorsque n tend vers
linfini), il faut 3 fois plus doprations virgule flottante pour calculer linverse de A que
pour rsoudre le systme linaire A x = b en utilisant llimination de Gauss. Cela implique
quil ne faut pas calculer linverse dune matrice pour rsoudre un systme linaire.
Cas de la rsolution de plusieurs systmes de mme matrice A
Soit A Mnn (K) une matrice carre inversible et supposons que lon ait rsoudre K
systmes linaires avec la mme matrice A et N seconds membres b[1] , . . . , b[K] . Si lon applique
llimination de Gauss chacun de ces systmes pour les rsoudre, alors daprs ce qui prcde
3
2
cela nous cotera K 4 n +96n 7 n oprations virgule flottante. Si maintenant on calcule une
fois pour toute une factorisation LU de A (via llimination de Gauss) etque lon rsout
 ensuite
3
2
successivement les 2 K systmes triangulaires cela ne nous coutera que 4 n +36n 7 n + 2 K n2
oprations virgule flottante ce qui est asymptotiquement meilleur. Notons que si lon calcule
une fois pour toute linverse A1 de A et que lon rsout ensuite chaque systme en posant
x[i] = A1 b[i] cela coutera 2 n3 oprations pour le calcul de linverse puis n (2 n 1) oprations
pour calculer chacun des K produits A1 b[i] soit au total 2 n3 + 2 K n2 ce qui est moins
avantageux que dutiliser la factorisation LU.

2.3

Mthode de Cholesky

La mthode de Cholesky est une alternative llimination de Gauss qui sapplique aux
matrices symtriques et dfinies positives.
Dfinition 2.14. Une matrice A Mnn (K) est dite symtrique si elle est gale sa
transpose, i.e., AT = A.
Dfinition 2.15. Soit K = R ou C. Le produit scalaire canonique sur Kn est dfini comme
lapplication h. , .i : Kn Kn K, (u, v) 7 hu, vi qui vrifie :
P
Si K = R, hu, vi = v T u = ni=1 ui vi (produit scalaire euclidien),
P
Si K = C, hu, vi = v T u = ni=1 ui vi (produit scalaire hermitien).
Dfinition 2.16. Une matrice A Mnn (K) est dite dfinie positive, resp. semi dfinie
positive si pour tout x Rn non nul, on a hA x, xi > 0, resp. hA x, xi 0.
27

On montre facilement les proprits suivantes :


1. Une matrice dfinie positive est inversible ;
2. Si A Mnn (K) est inversible, alors AT A est symtrique et dfinie positive ;
3. Si A = (ai,j )1i,jn Mnn (K) est dfinie positive, alors ai,i > 0 pour tout i = 1, . . . , n.
Thorme 2.17 (Caractrisation des matrices symtriques dfinies positives). Une matrice
relle A Mnn (R) est symtrique dfinie positive si et seulement si il existe une matrice
L = (li,j )1i,jn Mnn (R) triangulaire infrieure inversible telle que A = L LT . De plus, si
pour tout i = 1, . . . , n, li,i 0, alors L est unique.
Dmonstration. Admis pour ce cours.
Remarquons que si L est triangulaire infrieure, alors LT est triangulaire suprieure de
sorte que la factorisation de Cholesky A = L LT peut tre vue comme un cas particulier de
la factorisation LU dune matrice tudie dans la section prcdente.
On donne maintenant lalgorithme de Cholesky qui tant donne une matrice carre relle
A symtrique et dfinie positive calcule une matrice L telle que A = L LT . On admettra que
cet algorithme est correct.
Entre : A = (ai,j )1i,jn Mnn (R) symtrique et dfinie positive.
Sortie : L = (li,j )1i,jn Mnn (R) tel que A = L LT .

1. l1,1 = a1,1 ;
2. Pour i de 2 n par pas de 1, faire :
li,1 =

ai,1
l1,1

3. Pour j de 2 n par pas de 1, faire :


Pour i de 1 j 1 par pas de 1, faire :

lj,j

li,j = 0 ;
q
P
2
= aj,j j1
k=1 lj,k ;

Pour i de j + 1 n par pas de 1, faire :


li,j =

ai,j

Pj1

k=1 li,k lj,k

lj,j

4. Retourner L = (li,j )1i,jn Mnn (R).


Notons que dans ce cas, comme pour la factorisation LU, on a :

L y = b,
T
A x = b L L x = b
LT x = y.
En pratique, on rsout donc dabord L y = b puis connaissant y on rsout LT x = y.
28

Proposition 2.18. Lalgorithme de Cholesky dcrit ci-dessus ncessite n extractions de


3
racines carres et un nombre doprations virgule flottante quivalent n3 lorsque n tend
vers linfini.
Dmonstration. Admis pour ce cours.
On voit donc que cet algorithme requiert asymptotiquement presque (cela dpendra
de la mthode utilise pour le calcul des racines carres qui peut-tre plus ou moins rapide)
deux fois moins doprations virgule flottante que celui calculant la factorisation LU via
llimination de Gauss. Par consquent, il est conseill de lutiliser lorsque A est relle
symtrique et dfinie positive.

2.4

Mthode de Householder et factorisation QR

Dans cette section, on suppose que A Mnn (R) est une matrice relle inversible.

2.4.1

Transformation (lmentaire) de Householder

Dfinition 2.19. On appelle matrice (lmentaire) de Householder une matrice H de la


forme Hu = In 2 u uT , o u Rn est un vecteur unitaire cest--dire p
de norme 1 pour la
n
norme associe au produit scalaire canonique sur R dfinie par kuk = hu, ui.
T
Par exemple, pour n = 3, on peut considrer le vecteur u = 16 1 1 2
qui vrifie

2 1
2
1
1 2 2 .
bien kuk = 1. On obtient alors la matrice de Householder Hu = 3
2 2 1
Dfinition 2.20. Une matrice A Mnn (K) est dite orthogonale si elle est relle, i.e.,
A Mnn (R) et si A AT = AT A = In .
Par exemple que les matrices de permutation (voir Dfinition 2.11) sont orthogonales.
Proposition 2.21. Toute matrice de Householder H est symtrique et orthogonale.
Dmonstration. Facile vrifier.
Proposition 2.22. Pour tout vecteur u Rn tel que kuk = 1, on a Hu u = u. De plus, si
v Rn est orthogonal u, i.e., hu, vi = 0, alors Hu v = v.
Dmonstration. Facile vrifier.
Gomtriquement, la matrice Hu reprsente donc la symtrie orthogonale par rapport au
plan uT orthogonal u.
Lemme 2.23. Soit x et y deux vecteurs de Rn tels que x 6= y et kxk = kyk. Alors il existe
un vecteur unitaire u Rn tel que Hu x = y.
Dmonstration. Prendre u =

xy
.
kxyk

29

2.4.2

Principe de la mthode de Householder

La mthode de Householder pour la rsolution dun systme linaire A x = b est base sur les
deux propositions suivantes que nous admettrons.
Proposition 2.24. Soit v un vecteur non nul de Rn . Alors il existe une matrice de Householder H et un rel tels que H v = e1 , o e1 = (1, 0, . . . , 0)T est le premier vecteur de la
base canonique de Rn .
Proposition 2.25. Soit u = (ui ) un vecteur unitaire de Rn tel que u1 = = up = 0 pour
p < n. On dcompose alors u en deux blocs : u = (0 z)T avec z Rnp . La
 matricede
Ip 0
Householder Hu se dcompose alors par blocs de la manire suivante : Hu =
.
0 Hz

2.4.3

Exemple de rsolution dun systme linaire par la mthode


de Householder

Considrons le systme linaire suivant

2 x1
x1
(S) :

2 x1

:
+ x2 + 2 x3 = 1,
+ x2 + 2 x3 = 1,
+ x2 + x3 = 1.

tape 1 : On considre le vecteur obtenu partir de la premire colonne de la matrice A


de (S), i.e., a1 = (2 1 2)T . Le but de cette tape est de trouver la matrice H apparaissant
dans la proposition 2.24 et correspondant v = a1 de sorte quen multipliant la matrice
A du systme (S) gauche par H on obtienne des zros sous le premier coefficient. Pour
ceci, en concordance avec la preuve du lemme 2.23, on introduit le vecteur v1 = kaa11 k
T
et on considre la matrice
e1 = 13 (1 1 2)T , le vecteur u1 = kvv11 k = 16 1 1 2

2 1
2
1
1 2 2 . On a alors :
lmentaire de Householder Hu1 = 3
2 2 1

x1
9 5
8
5
4 x2 = 1 .
(S) : A x = b Hu1 A x = Hu1 b 0 1
0 1 1
x3
1
tape 2 : On se place maintenant dans R2 et on considre le vecteur a2 = (1 1)T
auquel nous allons appliquer la mme technique quau vecteur a1 ltape prcdente. On
utilisera ensuite la proposition 2.25 pour obtenir une matrice de Householder de la bonne
taille. On pose alors z20 = kaa22 k e01 o e01 = (1, 0) est le premier vecteur de la base canonique


0
1
1
z
1
de R2 et z2 = kz20 k . On considre ensuite la matrice de Householder Hz2 = 2
2
1 1
30

puis u2 =

0 z2

T


et Hu2 =

1 0
0 Hz2


(Voir Proposition 2.25). On a alors :


9 5
8
5
x1

2 52 x2 = 2 ,
A x = b Hu2 Hu1 A x = Hu2 Hu1 b 0
x3
0 0 32
0

do en rsolvant ce systme triangulaire x = (0 1 0)T .

2.4.4

Factorisation QR dune matrice

Dfinition 2.26. Soit A Mnn (R) une matrice carre relle inversible. On appelle factorisation QR de A une factorisation de la forme A = Q R avec Q Mnn (R) orthogonale et
R Mnn (R) triangulaire suprieure.
En gnralisant la mthode explique dans la sous-section prcdente pour une matrice
carre relle inversible quelconque de taille n, on obtient n 1 matrices de Householder
H1 , . . . , Hn1 telles que le produit R = Hn1 Hn2 H1 A est triangulaire suprieure. On
pose alors Q = (Hn1 Hn2 H1 )1 de sorte que A = Q R. La matrice Q ainsi dfini tant
orthogonale, on a obtenu une factorisation QR de A. On obtient alors le rsultat suivant :
Thorme 2.27. Pour toute matrice relle A Mnn (R), il existe une matrice orthogonale
Q Mnn (R) produit dau plus (n 1) matrices de Householder et une matrice triangulaire
suprieure R Mnn (R) telles que A = Q R.
Proposition 2.28. La mthode de Householder pour rsoudre un systme linaire ncessite
3
un nombre doprations virgule flottante quivalent 4 3n lorsque n tend vers linfini.
Dmonstration. Admis pour ce cours.
Le cot de cette mthode est donc relativement lev compar llimination de Gauss
ou la mthode de Cholesky. Cependant un avantage de cette mthode est quelle est plus
stable numriquement que les deux mthodes cites prcdemment.
Notons enfin que la factorisation QR dune matrice existe aussi pour des matrices rectangulaires et quelle est utilise pour des problmes de moindres carrs.
Factorisation QR et moindres carrs linaires. Le problme des moindres carrs linaires est le suivant : tants donn une matrice A Mmn (R) et un vecteur b Rm ,
minimiser la quantit kA x bk22 .
Ce problme peut tre rsolu en utilisant la factorisation QR de la matrice A Mmn (R)
en procdant comme suit : la matrice A tant rectangulaire (on supposera ici m > n), on
partitionne les matrices Q et R de la manire suivante :


R1
A = (Q1 Q2 )
,
0
31

o Q1 Mmn (R), Q2 Mm(mn) (R) et R1 Mnn (R). En remplaant A par sa factorisation QR, on a :
kA x bk22 = kQ R x bk22 .
On admettra quen appliquant une transformation orthogonale au vecteur des rsidus A x b
on ne modifie pas la norme euclidienne du vecteur et que le problme de minimisation conduit
au mme rsultat. On multiplie alors le rsidu par QT et on est ramen minimiser


 T  2
T





Q1
Q Q R x QT b 2 = R x QT b 2 = R1
,
x

b
0

2
2
QT2
2
ce qui revient minimiser




R1 x QT1 b 2 + QT2 b 2 .
2
2
On rsout
le systme triangulaire R1 x = QT1 b et la somme des rsidus au carr corres alors

2
pond QT2 b 2 .
Dans les problmes qui apparaissent en conomtrie ou statistique, on est aussi intress
kA x bk22
par la matrice des variances et covariances 2 (AT A)1 , o 2 =
. Pour obtenir
mn
cette matrice, on a donc besoin dvaluer le rsidu la solution x trouve et de calculer
linverse de AT A. Si on possde la factorisation QR de A, alors AT A = RT QT Q R = RT R
car Q est orthogonale. On doit donc inverser la matrice RT R. De plus, avec les notations
dT d
prcdentes, si on note d = QT2 b, on peut crire 2 =
.
mn
Remarque : cela nentre pas dans le cadre de ce cours mais il existe une mthode efficace
et numriquement stable pour calculer linverse de matrices de la forme AT A.

32

Chapitre 3
Conditionnement dune matrice pour la
rsolution dun systme linaire
3.1
3.1.1

Normes matricielles
Normes vectorielles

Soit E un espace vectoriel sur K = R ou C.


Dfinition 3.1. On appelle norme sur E une application k.k : E R+ telle que :
x E, (kxk = 0 x = 0) ;
K, x E, k xk = || kxk ;
(x, y) E 2 , kx + yk kxk + kyk.
Les exemples classiques de normes sur Rn sont les normes k.k1 , k.k2 et k.k dfinies par :
x = (xi )1in Rn ,

kxk1 =

n
X

|xi |,

kxk2 =

i=1

3.1.2

n
X

! 21
|xi |2

= hx, xi 2 ,

i=1

kxk = max |xi |.


1in

Normes matricielles et normes subordonnes

Dfinition 3.2. Une norme k.k sur Mnn (K) est une norme matricielle si elle vrifie :
(A, B) Mnn (K)2 , kA Bk kAk kBk.
Lexemple fondamental est celui des normes dites subordonnes qui sont associes une
norme vectorielle.
Thorme et Dfinition 3.3. Soit k.k une norme vectorielle sur Kn . Pour toute matrice
xk
A Mnn (K), on dfinit k.kM : Mnn (K) R+ par kAkM = supxKn \{0} kA
. Alors k.kM
kxk
est une norme matricielle. Elle est dite norme subordonne la norme vectorielle k.k.
33

Dans la suite on notera indiffremment k.k pour une norme vectorielle ou une norme
matricielle.
Dmonstration. On utilise le lemme suivant qui dcoule de la dfinition dune norme subordonne :
Lemme 3.4. Soit k.k la norme subordonne une norme vectorielle k.k. Alors, pour tout
vecteur x Kn et pour toute matrice M Mnn (K), on a kM xk kM k kxk.
Soit (A, B) Mnn (K)2 et x 6= 0. On a :
kAk kB xk
kAk kBk kxk
kA B xk

.
kxk
kxk
kxk
do le rsultat.
Les normes subordonnes respectivement aux normes vectorielles k.k1 , k.k2 et k.k de Rn
sont donnes par : A = (ai,j )1i,jn Mnn (K) :
kAk1 = max

1jn

n
X

|ai,j |,

p
kAk2 = (A A ),

kAk = max

i=1

1in

n
X

|ai,j |,

j=1

o A = A dsigne la matrice adjointe de A et (M ) dsigne le rayon spectral dune matrice


M , i.e., le maximum des modules des valeurs propres de M .
Notons que ces trois normes matricielles sont quivalentes : pour A Mnn (K), on a :

1
kAk2 kAk1 n kAk2 ,
n

3.2
3.2.1

1
kAk kAk2 n kAk ,
n

1
kAk1 kAk n kAk1 .
n

Conditionnement dune matrice


Exemple classique

Cet exemple est du R. S. Wilson.

10
7
A=
8
7

Considrons le systme linaire (S) : A x = b avec

32
7 8 7

5 6 5
, b = 23 .
33
6 10 9
31
5 9 10

Remarquons tout dabord que la matrice A est symtrique, que son dterminant vaut 1 et
que la solution de (S) est donne par x = (1 1 1 1)T .

34

Premier cas : b est perturb. Perturbons lgrement le second membre b et considrons

32, 1
22, 9

b0 =
33, 1 .
30, 9
Si on rsout le systme (S 0 ) : A x0 = b0 , on trouve x0 = (9, 2 12, 6 4, 5 1, 1)T . La
petite perturbation sur le second membre b entrane donc une forte perturbation sur
la solution du systme.
Dune manire gnrale, on considre les deux systmes A x = b et A (x + x) = b + b.
On a donc A x = b de sorte que x = A1 b et on obtient la majoration suivante de lerreur
absolue sur la solution : kxk kA1 k.kbk. Or A x = b donc kbk kAk.kxk. Finalement,
on obtient une majoration de lerreur relative sur la solution en fonction de lerreur relative
sur la donne :
kbk
kxk
kA1 k.kAk.
.
kxk
kbk
Notons que cette majoration est optimale dans le sens o il nexiste
pas

 de borne plus
1 0
petite qui soit valable pour tout systme. En effet, prenons A =
, b = (1 0)T ,
0 12
et b = (0 12 )T . La solution de A x = b est alors x = (1 0)T et celle de A x = b est
= 1, kbk
= 21 . Or kA1 k.kAk = 2 donc la borne est atteinte.
x = (0 1)T . On a donc kxk
kxk
kbk
Deuxime cas : A est perturbe. De faon analogue, si on perturbe lgrement la
matrice A et que lon considre

10
7
8, 1 7, 2
7, 08 5, 04
6
5
,
A00 =
8
5, 98 9, 89
9
6, 99 4, 99
9
9, 98
alors la solution du systme (S 00 ) : A00 x00 = b est x00 = (81 107

34 22)T .

Dune manire gnrale, on considre les deux systmes A x = b et (A + A) (x + x) = b.


Il vient donc x = A1 A (x + x) do
kxk
kAk
kA1 k.kAk.
.
kx + xk
kAk

3.2.2

Dfinition du conditionnement

Dfinition 3.5. Soit k.k une norme matricielle subordonne et A une matrice inversible. Le
nombre Cond(A) = kA1 k.kAk sappelle le conditionnement de A relatif la norme k.k.
35

Ce nombre mesure la sensibilit de la solution par rapport aux donnes du problme.


Une matrice est bien conditionne si Cond(A) 1 et mal conditionne si Cond(A)  1. Le fait
que les normes matricielles k.k1 , k.k2 et k.k soient quivalentes implique la mme proprit
dquivalence pour les conditionnements associs : pour toute matrice A Mnn (K), on a :
1
Cond2 (A) Cond1 (A) n Cond2 (A),
n

1
Cond (A) Cond2 (A) n Cond (A),
n

1
Cond1 (A) Cond (A) n2 Cond1 (A).
2
n
Des exemples de matrices bien conditionnes sont les matrices de la forme

4 1 0 ... 0

. . ..
. .
1 4 1

.
.

.. .. 0
A= 0 1
,

. .
.. . . . . . . . . 1
0 ...

qui vrifient que, quelque soit la dimension n de A, Cond (A) 3. Inversement, les matrices
de Hilbert Hn et les matrices de Vandermonde Vn respectivement dfinies par


 i1 !
1
j
Hn =
, Vn =
,
i + j 1 1i,jn
n
1i,jn

sont trs mal conditionnes : leur conditionnement pour la norme k.k vrifie :
n Cond(Hn ) Cond(Vn )
2
27
8
4
2, 8.104
5, 6.102
6
2, 9.107
3, 7.104
Proposition
3.6. Soit A une matrice relle et considrons la norme matricielle subordonne
p
kAk2 = (A A ). On a
s
Cond2 (A) = kA1 k2 .kAk2 =

(A AT )
,
(A AT )

o (M ) dsigne le minimum des modules des valeurs propres de M . En particulier, si A est


(A)
symtrique, alors on obtient Cond2 (A) = (A)
.
Dmonstration. Admis pour ce cours.
36

3.2.3

Estimation thorique de lerreur a priori

Premier cas : b est perturb


Thorme 3.7. Soit A Mnn (R) inversible et b Rn tels que A x = b et A (x+x) = b+b
avec x 6= 0. Alors on a :
1
kbk
kxk
kbk
.

Cond(A).
,
Cond(A) kbk
kxk
kbk
Dmonstration. La majoration a dj t prouve. La minoration sobtient directement
partir des ingalits kbk kAk.kxk et kxk kA1 k.kbk.
Deuxime cas : A est perturbe
Thorme 3.8. Soit A Mnn (R) inversible, b Rn et A Mnn (R) tels que kA1 k.kAk <
1. Alors A + A est inversible. De plus si on suppose A x = b et (A + A) (x + x) = b avec
x 6= 0, alors on a :
Cond(A). kAk
kxk
kAk

.
kxk
1 Cond(A). kAk
kAk
Dmonstration. On a (A + A) = A (In + A1 A) avec par hypothse kA1 Ak < 1. Le
lemme suivant (admis pour ce cours - la preuve nest pas difficile) implique que (A + A) est
inversible.
Lemme 3.9. Soit k.k une norme matricielle subordonne et B Mnn (R) une matrice telle
1
que kBk < 1. Alors la matrice In + B est inversible et on a : k(In + B)1 k 1kBk
.
On a de plus (A + A)1 = (In + A1 A)1 A1 . Maintenant, Si A x = b et (A + A) (x +
x) = b, alors (A + A) x = A.x do x = (In + A1 A)1 A1 A.x. On a donc
kxk
kIn + A1 A)1 k.kA1 k.kAk,
kxk
do daprs le lemme 3.9 ci-dessus,
Cond(A). kAk
kxk
1
kAk
1

.kA k.kAk
.
kxk
1 kA1 Ak
1 Cond(A). kAk
kAk

37

Troisime cas : A et b sont perturbs


Thorme 3.10. Soit A Mnn (R) inversible, b Rn et A Mnn (R) vrifiant
kA1 k.kAk < 1. Si lon suppose que A x = b et (A + A) (x + x) = b + b avec x 6= 0,
alors on a :


Cond(A)
kxk
kbk kAk

+
.
kxk
kbk
kAk
1 Cond(A). kAk
kAk

Dmonstration. Exercice : on utilise les mmes techniques que pour les preuves prcdentes.

3.2.4

Estimation thorique de lerreur a posteriori

tant donn un systme linaire A x = b, on va maintenant estimer, en fonction du conditionnement, lerreur commise sur la solution rellement calcule. Soit x la solution exacte et
y la solution obtenue par la machine. On pose r = A y b ; r sappelle le rsidu. On a alors
le rsultat suivant :
Thorme 3.11. Avec les notations prcdentes, si x 6= 0, alors
ky xk Cond(A).

krk
.kxk.
kbk

Dmonstration. On a r = A y b = A( y x) do y x = A1 r et ky xk kA1 k.krk


krk
kbk
ce qui implique ky xk Cond(A). kAk
. Or A x = b implique kAk kxk
do le rsultat.
On voit donc que si le conditionnement est grand, lerreur relative peut tre grande. Cette
majoration nest pas trs facile utiliser car le conditionnement est en gnral inconnu. Soit
C une approximation de A1 (que lon peut par exemple calculer via la mthode dlimination
de Gauss) et posons R = A C In . On a alors le rsultat suivant :
Thorme 3.12. Avec les notations prcdentes, si kRk < 1, alors
ky xk

krk.kCk
.
1 kRk

Dmonstration. On a vu dans la preuve prcdente que ky xk kA1 k.krk. Il suffit alors


de remarquer que A1 = C (In + R)1 et dutiliser le lemme 3.9.

38

Chapitre 4
Rsolution dun systme dquations
linaires (Partie 2) : mthodes itratives
4.1

Motivation

Les mthodes itratives deviennent indispensables ds que la taille n du systme est trs grande.
En effet, les mthodes directes exigent un nombre doprations virgule flottante de lordre
de n3 lorsque n tend vers linfini ce qui les rend lentes pour de grandes valeurs de n. De tels
systmes apparaissent par exemple dans les techniques de rsolution numrique dquations
aux drives partielles. Les matrices des systmes obtenus sont en gnral creuses (cest-dire quelles ont beaucoup de 0) et (semi) dfinies positives. Voici un exemple classique.
tant donne une fonction f : R2 R, on se propose de trouver une solution approche
u : R2 R du problme suivant :

u = f,
u
= 0,

(x, y) =]0, 1[]0, 1[,


(x, y) ,

o
u = xu2 + yu2 dsigne le laplacien de la fonction u et la frontire de .
Pour ce faire, on se donne un rel h > 0, on effectue une discrtisation de =]0, 1[]0, 1[ de
pas h (i.e., on quadrille laide de petits pavs daire h2 ) et on cherche une fonction
1
tage u (dpendante
de h) telle que u tende vers u lorsque h tend vers 0. On pose h = n+1
P
et on crit u = i,j ui,j i,j o, pour 1 i, j n, i,j est la fonction caractristique du pav
Pi,j =](i 12 ) h, (i + 12 ) h[](j 12 ) h, (j + 12 ) h[. On note alors xi,j = (i h, j h) les nuds du
quadrillage et Pi,j est donc le pav de centre xi,j .
39

y
1


P2,3

x2,3

h
1

En se basant sur la dfinition de la drive dune fonction, pour h suffisamment petit, on


a les approximations par diffrences finies suivantes :
u(x + h2 , y) u(x h2 , y)
u

,
x
h

2 u
u(x + h, y) 2 u(x, y) + u(x h, y)

.
x2
h2

De mme,
u(x, y + h2 ) u(x, y h2 )
u
2 u
u(x, y + h) 2 u(x, y) + u(x, y h)

.
2
y
h
y
h2
P
En dcomposant f sous la forme i,j fi,j i,j , notre problme se ramne alors chercher les
ui,j , 1 i, j n satisfaisants les quations suivantes :

4 ui,j ui1,j ui+1,j ui,j1 ui,j+1 = h2 fi,j , 1 i, j n,
u0,j = un+1,j = ui,0 = ui,n+1 = 0,
1 i, j n.
Ce schma numrique est dit implicite par opposition un schma explicite pour lequel il
est possible dordonner les inconnues de sorte que chacune dentre elles puisse tre dtermine
explicitement en fonction des prcdentes (systme triangulaire). Les schmas numriques
implicites ont lavantage dtre numriquement stables ce qui nest pas toujours le cas pour
40

les schmas explicites.


On remarque que ces quations forment
forme matricielle. Pour ceci, on pose

4 1 0

1 4 1

.
M =
0 1 . .
. .
.. ...
..
0 ... 0

un systme linaire que nous allons crire sous


... 0
.
..
. ..
...
0
..
. 1
1 4

Mnn (R),

Xj = (u1,j u2,j . . . un,j )T pour 1 j n, X = (X1T X2T . . . XnT )T ainsi que


Fj = (f1,j f2,j . . . fn,j )T pour 1 j n, F = (F1T F2T . . . FnT )T . En dfinissant de
plus X0 = Xn+1 = 0, le systme prcdent scrit
Xj1 + M Xj Xj+1 = h2 Fj ,

1 j n,

ce qui conduit

A X = h2 F,

In

...
...

In M In

..
..
A=
.
.
0 In
.
..
..
..
..
.
.
.
0
...
0 In

0
..
.

0
Mn2 n2 (R).

In
M

La matrice A est symtrique relle et on peut montrer quelle est dfinie positive donc en
particulier inversible. En pratique, on a donc rsoudre un systme linaire tridiagonal par
blocs de grande taille (notons que faire tendre h vers 0 quivaut faire tendre n vers linfini)
rsoudre. Notons quil existe des mthodes efficaces (e.g., lalgorithme de Thomas qui est
une simplification de lalgorithme de Gauss dans le cas particulier des systmes tridiagonaux)
pour rsoudre les systmes linaires tridiagonaux.

4.2

Notions gnrales

On rappelle que les mthodes itratives ne sappliquent que dans le cas de systmes
coefficients dans R ou C mais pas dans le cas des corps finis Fp .

4.2.1

Modle gnral dun schma itratif

On considre une matrice A Mnn (K) inversible, un vecteur b Kn et un systme linaire


(S) : A x = b.
41

Le principe gnral dune mthode itrative pour rsoudre (S) est de gnrer une suite de
vecteurs qui converge vers la solution A1 b. Pour ce faire lide est dcrire le systme (S)
sous une forme quivalente permettant de voir la solution comme le point fixe dune certaine
fonction, e.g. :
(S) B x + c = x,
(4.1)
avec B Mnn (K) et c Kn bien choisis cest--dire I B inversible et c = (I B) A1 b.
Par exemple, si A = M N pour deux matrices M, N Mnn (K) avec M inversible, on peut
choisir B = M 1 N et c = M 1 b. Dans la suite on supposera toujours que B Mnn (K) et
c Kn sont choisis tels que I B inversible et c = (I B) A1 b (e.g., mthode itrative
consistante). On se donne alors un vecteur x(0) Kn et on construit une suite de vecteurs
x(k) Kn laide du schma itratif
x(k+1) = B x(k) + c,

k = 1, 2, . . . .

(4.2)

Si la suite (x(k) )kN est convergente, alors elle converge vers la solution A1 b de (S). En effet,
si elle existe, la limite x est un point fixe de la fonction x 7 B x + c, i.e., vrifie x = B x + c
qui est quivalent A x = b daprs (4.1).
La mise en oeuvre pratique dune mthode itrative de la forme (4.2) ncessite la donne
dun point de dpart x(0) (en gnral, sauf si lon possde des informations a priori sur la
solution, on choisit le vecteur nul) et dune tolrance sur la solution que lon cherche calculer.
On calcule ensuite les itrs x(k) , k = 1, 2, . . . en utilisant la formule (4.2) jusqu ce que le
rsidu b A x(k) soit plus petit que la tolrance.

4.2.2

Convergence

Dfinition 4.1. La mthode itrative (4.2) pour rsoudre A x = b est dite convergente si
pour toute valeur initiale x(0) Kn , on a limk+ x(k) = A1 b.
Lemme 4.2. Si la mthode itrative (4.2) est convergente et si on note x = A1 b la solution,
alors
x(k) x = B k (x(0) x).
Dmonstration. On a c = (In B) A1 b = (In B) x do x(k+1) = B x(k) + (In B) x ou
encore x(k+1) x = B(x(k) x) do le rsultat.
Remarquons que x(k) x reprsente lerreur la k-ime itration de sorte que la formule
ci-dessus permet destimer cette erreur en fonction de lerreur initiale.
Le rsultat suivant nous donne des critres pour tester la convergence de la mthode
itrative (4.2).
Thorme 4.3. Les assertions suivantes sont quivalentes :
(i) La mthode itrative (4.2) est convergente ;
42

(ii) Pour tout y Kn , limk+ B k y = 0 ;


(iii) Pour toute norme matricielle k.k sur Mnn (K), on a limk+ kB k k = 0.
Dmonstration. Admis pour ce cours.
En pratique, les caractrisations prcdentes de la convergence dune mthode itrative
ne sont pas faciles vrifier. On utilise plutt le rsultat suivant :
Thorme 4.4. Les assertions suivantes sont quivalentes :
(i) La mthode itrative (4.2) est convergente ;
(ii) (B) < 1, o (B) dsigne le rayon spectral de la matrice B, i.e., le maximum des
modules des valeurs propres de B ;
(iii) Il existe une norme matricielle k.k sur Mnn (K) subordonne une norme vectorielle
sur Kn telle que kBk < 1.
Dmonstration. Admis pour ce cours.

4.2.3

Vitesse de convergence

Lgalit x(k) x = B k (x(0) x) donne prcdemment implique que cest la norme des
puissances de la matrice B qui va nous renseigner sur la vitesse de convergence de la mthode
itrative. Nous dfinissons ici les outils permettants de comparer les vitesses de convergence
de diffrentes mthodes itratives.
Dfinition 4.5. Considrons le schma itratif (4.2) convergent. Soit k.k une norme matricielle sur Mnn (K) et soit k un entier tel que kB k k < 1 (lexistence dun tel k dcoule du
thorme 4.3). On appelle taux moyen de convergence associ la norme k.k pour k itrations
de (4.2) le nombre positif

 k1 
k
.
Rk (B) = ln kB k
Dfinition 4.6. Considrons deux mthodes itratives consistantes et convergentes :
(1) x(k+1) = B1 x(k) + c1 ,

k = 1, 2, . . . ,

(2) x(k+1) = B2 x(k) + c2 ,

k = 1, 2, . . . .

kB1k k

kB2k k

Soit k un entier tel que


< 1 et
< 1. On dit que (1) est plus rapide que (2)
relativement la norme k.k si Rk (B1 ) Rk (B2 ).
En pratique le calcul des Rk (B) est trop couteux car il ncessite lvaluation des B k . On
prfre donc estimer le taux asymptotique de convergence.
Dfinition 4.7. On appelle taux asymptotique de convergence le nombre
R (B) = lim Rk (B) = ln((B)).
k+

Thorme 4.8. Avec les notations prcdentes, une mthode itrative est dautant plus rapide
que son taux asymptotique de convergence est grand cest--dire que (B) est petit.
43

4.3
4.3.1

Les mthodes itratives classiques


Principe

On considre un systme linaire (S) : A x = b avec A inversible. Lide est de dduire un


schma itratif de la dcomposition de A sous la forme A = M N o M est une matrice
inversible. En pratique on suppose que les systmes de matrice M sont faciles rsoudre
(par exemple M diagonale, triangulaire, . . . ). Le systme (S) scrit alors M x = N x + b
cest--dire x = B x + c avec B = M 1 N et c = M 1 b et on considre le schma itratif
associ :
x(0) Kn , M x(k+1) = N x(k) + b.
Nous allons maintenant considrer trois exemples classiques : les mthodes de Jacobi,
Gauss-Seidel et de relaxation. Le point de dpart de chacune de ces mthodes est lunique
dcomposition de la matrice A = (ai,j )1i,jn sous la forme A = D E F avec :
D = (di,j )1i,jn diagonale, telle que di,i = ai,i et di,j = 0 pour i 6= j ;
E = (ei,j )1i,jn triangulaire infrieure stricte telle que ei,j = ai,j si i > j et ei,j = 0
si i j ;
F = (fi,j )1i,jn triangulaire suprieure stricte telle que fi,j = ai,j si i < j et fi,j = 0
si i j ;
Exemple : Considrons la matrice

2 1 1
2 2 .
A= 2
1 1 2

(4.3)

La dcomposition de A sous la forme A = D E F dcrite ci-dessus scrit alors

2 0 0
0 0 0
0 1 1
2 1 1
2
2 2 = 0 2 0 2 0 0 0 0 2 .
0 0 2
1 1 0
0 0 0
1 1 2
|
{z
} |
{z
} |
{z
} |
{z
}
A

On supposera de plus que D est inversible et on distingue les trois mthodes suivantes :
Mthode de Jacobi : M = D, N = E + F ;
Mthode de Gauss-Seidel : M = D E, N = F ;
Mthode de relaxation : M = 1 (D E), N =
non nul.

D + F avec paramtre rel

On remarque que la mthode de Gauss-Seidel est un cas particulier de la mthode relaxation


pour = 1.
44

4.3.2

Mthode de Jacobi

Description : On considre un systme linaire (S) : A x = b avec A inversible. On pose


A = M N avec M = D inversible et N = E + F . Le schma itratif scrit alors
D x(k+1) = (E + F ) x(k) + b x(k+1) = D1 (E + F ) x(k) + D1 b.
Dfinition 4.9. La matrice BJ = D1 (E + F ) sappelle la matrice de Jacobi associe A.
Mise en uvre et complexit arithmtique : On se propose destimer le nombre
(k+1)
doprations virgule flottante ncessaires pour calculer x
partir de x(k)
. On a D x(k+1) =


(E + F ) x(k) + b donc pour tout i = 1, . . . , n, D x(k+1) i = (E + F ) x(k) i + bi cest--dire

(k+1)
ai,i xi

n
X

(k)
ai,j xj

+ bi

(k+1)
xi

1
=
ai,i

j=1
j6=i

n
X

(k)
.
(
)
+
b
a
x
i
i,j
j

j=1
j6=i

(k+1)

Pour calculer xi
partir de x(k) , on a donc besoin de n 1 multiplications, n 1
additions et 1 division soit 2 n 1 oprations virgule flottante. Par consquent il nous
faudra n (2 n 1) oprations virgule flottante pour calculer x(k+1) partir de x(k) et
pour K itrations, on aura besoin de K n (2 n 1) oprations virgule flottante. Pour
comparaison, pour n = 1000, llimination de Gauss cote environ 23 n3 = 6, 6.108 oprations
virgule flottante alors que par exemple K = 100 itrations de la mthode de Jacobi cotent
approximativement 2 K n2 = 2.108 oprations virgule flottante.
Convergence : Daprs le thorme 4.4, on a le rsultat suivant :
Thorme 4.10. La mthode de Jacobi converge si et seulement si (BJ ) < 1.
Exemple : Pour la matrice A donne par (4.3), on obtient :

0 1 1
2
2
0 1 1

1
1

2 0 2
BJ = D (E + F ) = 0 2 0
= 1 0 1 .
1 1 0
1
1
0 0 21
0
2
2

1
2

0 0

Les valeurs propres de la matrices BJ sont 0 et i 2 5 . On a donc (BJ ) =


mthode de Jacobi diverge.
45

5
2

> 1 et la

4.3.3

Mthode de Gauss-Seidel

Description : On considre un systme linaire (S) : A x = b avec A inversible. On pose


A = M N avec M = D E inversible et N = F . Le schma itratif scrit alors
(D E) x(k+1) = F x(k) + b x(k+1) = (D E)1 F x(k) + (D E)1 b.
Dfinition 4.11. La matrice BGS = (D E)1 F sappelle la matrice de Gauss-Seidel
associe A.
Mise en uvre et complexit arithmtique : On se propose destimer le nombre
doprations virgule flottante ncessaires pour calculer x(k+1) partir
de x(k) . On a (D

E) x(k+1) = F x(k) + b donc pour tout i = 1, . . . , n, (D E) x(k+1) i = F x(k) i + bi cest-dire
i1
n
X
X
(k+1)
(k+1)
(k)
ai,i xi
+
ai,j xj
=
ai,j xj + bi ,
j=1

j=i+1

ce qui entrane
(k+1)

x1

1
=
a1,1

"

n
X

#
(k)

a1,j xj + b1 ,

j=2

et pour i = 2, . . . , n,
(k+1)

xi

1
=
ai,i

"

i1
X

(k)

ai,j xj + bi

j=1

n
X

#
(k)

ai,j xj

j=i+1

La complexit arithmtique de la mthode de Gauss-Seidel est la mme que celle de la


mthode de Jacobi. Cependant, on peut remarquer que la mthode de Gauss-Seidel est plus
intressante en ce qui concerne la gestion de la mmoire. En effet, on peut craser au fur et
(k)
mesure la valeur de xi et ne stocker au cours des calculs quun seul vecteur de taille n, e.g.,
(k+1)
(k+1) (k)
(k)
le vecteur (x1
. . . xi
xi+1 . . . xn )T , au lieu de deux vecteurs pour la mthode de Jacobi.
Convergence : Daprs le thorme 4.4, on a le rsultat suivant :
Thorme 4.12. La mthode de Gauss-Seidel converge si et seulement si (BGS ) < 1.
Exemple : Pour la matrice A donne par (4.3), on obtient :
1
1 0 0

2
2
0 0
0 1 1
0 1 1

2 0 0 0 2 = 12 12 0 0 0 2 ,
= (DE)1 F = 2
1 1 2
0 0 0
0 0 0
0 14 21

BGS

46

do

1
2

12

BGS = 0 12 21 .
0

12

Les valeurs propres de la matrices BGS sont 0 et 21 (de multiplicit 2). On a donc
(BGS ) = 21 < 1 donc la mthode de Gauss-Seidel converge.

4.3.4

Mthode de relaxation

On considre un systme linaire (S) : A x = b avec A inversible. Soit un paramtre


rel

1
1
non nul. On pose A = M N avec M = (D E) inversible et N = D + F . Le
schma itratif scrit alors



1
1
(k+1)
=
(D E) x
D + F x(k) + b,

qui est quivalent :


x(k+1) = (D E)1 [(1 ) D + F ] x(k) + (D E)1 b.
Dfinition 4.13. La matrice BR () = (D E)1 [(1 ) D + F ] sappelle la matrice de
relaxation associe A et est le facteur de relaxation. Si < 1, on parle de sous-relaxation,
si = 1, on retrouve la mthode de Gauss-Seidel et si > 1, on parle de sur-relaxation.
Daprs le thorme 4.4, on a le rsultat suivant :
Thorme 4.14. La mthode de relaxation converge si et seulement si (BR ()) < 1.
Exemple : Pour la matrice A donne par (4.3), on obtient :

1
1

21
2
1 2
.

12 2 + 1
BR () = ( 1)
2
2
1
( 1) 41 3 14 2 + 21 14 3 43 2 + 1
2
Les valeurs propres de la matrice BR () dpendent en gnral de donc la convergence
de la mthode de relaxation dpendra aussi de la valeur de .

4.3.5

Rsultats de convergence dans des cas particuliers

On sintresse tout dabord au cas des matrices symtriques dfinies positives.


Thorme 4.15. Soit A une matrice symtrique dfinie positive et crivons A = M N
avec M inversible et M T + N dfinie positive. Alors la mthode itrative
x(0) Kn ,

x(k+1) = M 1 N x(k) + M 1 b,

converge.
47

Dmonstration. Admis pour ce cours.


Corollaire 4.16. Soit A une matrice symtrique dfinie positive. Alors la mthode de GaussSeidel converge.
Dmonstration. Pour la mthode de Gauss-Seidel, on a M = D E et N = F . La matrice
M est inversible car A est suppose dfinie positive et est donc inversible (voir la section 2.3).
On a de plus M T + N = D E T + F . Or A tant suppose symtrique, on a E T = F do
M T + N = D. La matrice M T + N est donc dfinie positive car, pour tout i = 1, . . . , n,
hD ei , ei i = ai,i et ai,i > 0 puisque A est dfinie positive (voir la section 2.3). Le thorme
4.15 prcdent permet alors de conclure.
Considrons maintenant le cas des matrices diagonale strictement dominante.
Dfinition 4.17. Une matrice A = (ai,j )1i,jn est dite diagonale strictement dominante
si :
n
X
i = 1, . . . , n, |ai,i | >
|ai,j |.
j=1
j6=i

Par exemple, la matrice du systme linaire obtenu la fin de la section 4.1 pour
la rsolution dun systme dquations aux drives partielles est diagonale strictement
dominante.
Thorme 4.18. Soit A une matrice diagonale strictement dominante. Alors A est inversible et les mthodes de Jacobi et de Gauss-Seidel convergent toutes les deux.
Dmonstration. Admis pour ce cours.

4.4

Mthode du gradient conjugu

Il sagit dune mthode itrative qui permet de rsoudre un systme linaire (S) : A x = b
lorsque A est une matrice symtrique et dfinie positive. Dans cette mthode, la matrice A du
systme intervient une seule fois chaque itration, lorsquon calcule son produit par un vecteur. Par consquent, la mthode du gradient conjugu est particulirement bien adapte aux
systmes creux et de grande taille. Pour ce type de systmes, la mthode du gradient conjugu
est souvent plus efficace que les mthodes dj prsentes, la fois en termes de complexit
arithmtique et en termes despace mmoire ncessaire : elle est donc trs utilise en pratique.
Soit (S) : A x = b avec A Mnn (R) symtrique et dfinie positive, et b Rn . La mthode du gradient conjugu construit une suite de vecteurs (x(k) )k=0,1,... telle que x(m) = A1 b
pour un indice m n. En principe, il sagit donc dune mthode exacte. En pratique, cause
des erreurs numriques, le gradient conjugu est considr comme une mthode itrative.
Dans les applications, le nombre ditrations ncssaires pour atteindre la prcision voulue
48

est significativement plus petit que la taille n du systme, en particulier dans le cas o on
utilise des techniques de prconditionnement.
Dans la suite, le gradient conjugu sera prsent comme un cas particulier dune famille
de mthodes itratives connue sous le nom de mthodes du gradient.
Dfinition 4.19. Soit A Mnn
(R) symtrique et dfinie positive. On dfinit la fonction
n
k kA : R R+ par kxkA = xT A x.
Proposition 4.20. La fonction k kA est une norme vectorielle.
Dmonstration. En utilisant le fait que A est symtrique et dfinie positive, on montre que
la fonction k kA vrifie les trois proprits de la dfinition 3.1, avec E = Rn et K = R :
x Rn , kxkA = 0 xT A x = 0 x = 0, car A est dfinie positive ;

p
R, x Rn , kxkA = (x)T A (x) = 2 xT A x = || xT A x = ||kxkA ;
p

p
x, y Rn , kx+ykA = (x + y)T A (x + y) = xT A x + y T A y xT A x+ xT A x
= kxkA + kykA .

Dfinition 4.21. Soit A Mnn (R) symtrique et dfinie positive. On dit que les vecteurs
u et v de Rn sont A-conjugus si uT Av = 0.
On remarque que lapplication (u, v) (Rn )2 7 uT Av R est un produit scalaire sur
Rn . Deux vecteurs u et v de Rn sont donc A-conjugus sils sont orthogonaux (pour ce produit
scalaire).

4.4.1

Mthodes du gradient

On considre le problme suivant : minimiser sur Rn la fonction dfinie par


(x) =

1 T
x A x bT x,
2

o la matrice A est symtrique et dfinie positive. Lintrt de la question vient du fait que le
minimum de est atteint pour x = A1 b, et cette solution est unique. En effet, le gradient
de en x = (x1 . . . xn )T Rn est le vecteur

T

1
1
(x) =
...
= A x + AT x b = A x b,
x1 x2
xn
2
2
qui sannule seulement pour x = A1 b. Notons que dans ce calcul on a utilis le fait que A
est une matrice symtrique. Le vecteur x = A1 b est donc lunique point critique de et,
puisque A est dfinie positive, il sagit dun minimum global (admis).
49

On peut donc conclure de ce qui prcde que minimiser sur Rn et rsoudre le systme
linaire A x = b sont deux problmes quivalents.
Dfinition 4.22. Soit (S) : A x = b avec A Mnn (R) symtrique et dfinie positive, et
b Rn . La quantit r(x) dfinie par
r(x) = b A x = (x),
est appele rsidu du systme (S) en x. En particulier, on notera
r(k) = b A x(k) = (x(k) ),
le rsidu litration k.
Remarque : on rappelle que la valeur (x) du gradient de en x donne la direction
de plus forte pente pour la fonction au point x.
Les mthodes du gradient procdent gnralement en choisissant ltape k une direction
de descente pour cest--dire un vecteur p(k) Rn tel que p(k)T (x(k) ) < 0. Pour calculer
x(k+1) partir de x(k) , on minimise alors la fonction sur la droite de vecteur directeur p(k)
et passant par x(k) : on choisit donc
x(k+1) = x(k) + k p(k) ,
o k R est tel que

(4.4)

(x(k+1) ) = min (x(k) + p(k) ).


R

En drivant (x(k) + p(k) ) par rapport , on obtient





1 (k)

(k)
(k)
(k) T
(k)
(k)
(k)
(k) T
(x + p ) =
(x + p ) A (x + p ) (x + p ) b ,

2


1 (k)T
(k)
(k)T
(k)
(k)T
(k)
2 (k)T
(k)
(k)T
(k)T
=
(x
Ax + p
Ax + x
Ap + p
Ap ) x
bp
b ,
2

1 (k)T
=
p
A x(k) + x(k)T A p(k) + 2 p(k)T A p(k) p(k)T b,
2
= (x(k) + p(k) )T A p(k) bT p(k) ,


car A tant symtrique, p(k)T A x(k) = x(k)T A p(k) . En imposant


(x(k) + p(k) ) = 0, on
trouve alors
r(k)T p(k)
(b A x(k) )T p(k)
k =
=
.
(4.5)
p(k)T A p(k)
p(k)T A p(k)
En particulier, on observe que k > 0 puisque r(k)T p(k) = p(k)T (x(k) ) > 0.
Proposition 4.23. chaque itration, le rsidu r(k+1) est orthogonal la direction de
descente p(k) utilise ltape prcdente, i.e., r(k+1)T p(k) = 0.
Dmonstration. Daprs (4.4), pour k N, on a b A x(k+1) = b A x(k) k A p(k) et
donc r(k+1) = r(k) k A p(k) . Do , partir de (4.5), r(k+1)T p(k) = (r(k) k A p(k) )T p(k) =
r(k)T p(k) k p(k)T A p(k) = 0.
50

4.4.2

Mthode de la plus forte pente

Dans cette mthode, on choisit chaque itration la direction de descente


p(k) = r(k) = (x(k) ),
cest--dire la direction de plus forte pente pour au point x(k) . La proposition 4.23 implique
alors qu chaque itration, on choisit une direction de descente orthogonale la prcdente,
i.e., p(k+1)T p(k) = 0.
Thorme 4.24. Pour la mthode de la plus forte pente on a, litration k :
k

Cond2 (A) 1

(k)
kx x kA
kx x(0) kA .
Cond2 (A) + 1
Dmonstration. Admis pour ce cours.
Le choix p(k) = (x(k) ) peut paraitre intuitivement assez efficace pour minimiser vu
quon se dplace le long de la direction de plus forte dcroissance de la fonction. Pourtant, le
thorme 4.24 suggre que dans certains cas la convergence de cette mthode pourrait tre
lente, notamment si la matrice A est mal conditionne, i.e., lorsque Cond2 (A)  1 (Voir
Chapitre 3). Soient 1 n > 0 les valeurs propres de A : gomtriquement, le fait
que le nombre de conditionnement Cond2 (A) = 1 /n (voir Proposition 3.6) soit grand est
quivalent au fait que les courbes de niveau de soient des hyperellipsodes trs allongs.
Exemple : Soit A une matrice symtrique de taille 2 2 ayant pour valeurs propres
1 = e4 2 = e2 > 0, et b le vecteur (1 1)T . Le conditionnement de A est alors
Cond2 (A) 403, 43 de sorte que A est mal conditionne. La figure 4.1 montre la surface
dfinie dans R3 par la fonction : on voit que cette surface ressemble une valle au fond
assez plat.
La solution du systme est approximativement x (8, 7361 2, 3478)T . On choisit un
vecteur initial x(0) = (8 2)T assez proche de x et on effectue 10 itrations de la mthode de
(k)
la plus forte pente. La figure 4.2 montre, en chelle logarithmique, les rsidus rlatifs krkbk2k2
obtenus chaque itration : on constate que 10 itrations ne suffisent pas atteindre un
rsidu de norme infrieure 106 . Gomtriquement, ceci peut sexpliquer par le fait qu
chaque itration de la mthode de la plus forte pente on choisit une direction orthogonale
la prcdente et donc on va rebondir sur les parois de la valle, ce qui fait quon sapproche
trs lentement du minimum situ sur le fond.
Par contre, pour ce mme exemple, la mthode du gradient conjugu converge en 2
itrations avec un rsidu rlatif comparable la prcision machine (voir la section suivante).

4.4.3

Gradient conjugu

Pour la mthode du gradient conjugu, le choix de p(k) dans le schma itratif (4.4) se fait en
tenant compte des directions p(j) , j = 0, 1, . . . , k 1, calcules aux itrations prcdentes.
51

Figure 4.1 : Surface dfinie par la fonction .

log 10 du rsidu

6
1

10

11

indice du rsidu

Figure 4.2 : Rsidus rlatifs calculs chaque itration de la mthode de la plus forte pente.

52

On dfinit
p
o k R est tel que

(k)


=

r(0)
si k = 0,
(k)
(k1)
r + k p
si k 1,

(4.6)

p(k)T A p(k1) = 0.

(4.7)

La condition (4.7) revient dire que les directions de descente p(k1) et p(k) calcules
deux itrations conscutives de la mthode du gradient conjugu sont A-conjugues.
En utilisant (4.6) et (4.7), on peut crire k sous la forme
k =

r(k)T A p(k1)
.
p(k1)T A p(k1)

(4.8)

On vrifie alors que p(k) est effectivement une direction de descente pour : si r(k) 6= 0,
cest--dire x(k) 6= x , on a
p(k)T (x(k) ) = p(k)T r(k) = r(k)T r(k) k p(k1)T r(k) = r(k)T r(k) < 0.
En particulier, on constate que p(k)T r(k) = r(k)T r(k) donc lexpression (4.5) pour k devient
k =

r(k)T r(k)
.
p(k)T A p(k)

Lemme 4.25. chaque itration, le rsidu r(k) est orthogonal au rsidu r(k1) calcul
litration prcdente, i.e., r(k)T r(k1) = 0.
Dmonstration. On a la fois r(k)T r(k1) = r(k)T p(k1) k1 r(k)T p(k2) = k1 r(k)T p(k2)
et r(k)T p(k2) = r(k1)T p(k2) k p(k1)T A p(k2) = 0, do r(k)T r(k1) = 0.
Lemme 4.26. La quantit k peut scrire sous la forme
k =

r(k)T r(k)
.
r(k1)T r(k1)

Dmonstration. Pour dmontrer cette formule, on crit la quantit p(k)T r(k1) de deux manires diffrentes. On a
p(k)T r(k1) = r(k)T r(k1) + k p(k1)T r(k1) = k p(k1)T r(k1) = k r(k1)T r(k1) ,
et
p(k)T r(k1) = p(k)T r(k) + k1 p(k)T A p(k1) = p(k)T r(k) = r(k)T r(k) ,
do le rsultat.
Thorme 4.27. Soit Sk le sous-espace vectoriel de Rn engendr par les vecteurs p(0) , . . . , p(k1) .
Alors le vecteur x(k) dfini par la mthode du gradient conjugu litration k minimise la
fonction sur Sk :
(x(k) ) = min (x),
k 1.
xSk

53

Dmonstration. Admis pour ce cours.


Thorme 4.28. Soit r(0) 6= 0 et h 1 tels que r(k) =
6 0 pour tout k h. Alors pour
k, j {0, . . . , h} avec k 6= j, on a :
r(k)T r(j) = 0

et

p(k)T A p(j) = 0.

Autrement dit, dans la mthode du gradient conjugu, les rsidus forment un ensemble de
vecteurs orthogonaux et les directions de descente p(k) forment un ensemble de vecteurs
A-conjugus.
Dmonstration. Par rcurrence sur h (exercice).
Corollaire 4.29. Il existe m n tel que r(m) = 0. Autrement dit, le gradient conjugu
calcule la solution x = A1 b en au plus n itrations.
Pour rcapituler, lalgorithme du gradient conjugu se droule de la manire suivante :
Entre : A Mnn (R) symtrique et dfinie positive, b Rn , et x(0) Rn .
Sortie : x Rn tel que A x = b.
1. k = 0 ;
2. r(0) = b A x(0) ;
3. Tant que r(k) 6= 0, faire :
Si k = 0, alors faire :
p(0) = r(0) ;
Sinon faire :
k = r(k)T r(k) /r(k1)T r(k1) ;
p(k) = r(k) + k p(k1) ;
k = r(k)T r(k) /p(k)T A p(k) ;
x(k+1) = x(k) + k p(k) ;
r(k+1) = r(k) k A p(k) ;
k =k+1 ;
4. Retourner x = x(k) .
Les proprits de convergence de la mthode du gradient conjugu sont donnes par le
rsultat suivant ( comparer au thorme 4.24) :
Thorme 4.30. Pour la mthode du gradient conjugu, on a, litration k :
!k
p
Cond
(A)

1
2
kx x(k) kA 2 p
kx x(0) kA
Cond2 (A) + 1
54

Dmonstration. Admis pour ce cours.


Quelques remarques :
Dans la pratique, le critre darrt r(k) = 0 est remplac par kr(k) k2 < M kbk2 , et k est
born par kmax  n. En effet, la mthode du gradient conjugu est souvent applique
des systmes de grande taille, o on espre atteindre une bonne approximation de la
solution x aprs un nombre ditrations significativement plus petit que n.
En principe, le vecteur initial x(0) peut tre choisi de manire arbitraire, par exemple
comme le vecteur nul. videmment, le choix de x(0) a un effet sur le nombre ditrations
ncessaires pour atteindre la solution.
chaque itration, lopration la plus couteuse du point de vue de la complexit
arithmtique est la multiplication matrice-vecteur A p(k) , qui ncessite en gnral n2
oprations. On peut donc estimer quasymptotiquement le cout de la mthode du
gradient conjugu est de lordre de kmax n2 oprations. De plus, si la matrice A est
creuse, comme cest souvent le cas dans les applications (e.g., rsolution dquations
aux drives partielles par discrtisation- voir Section 4.1), le produit matrice-vecteur
A p(k) peut se faire en seulement n oprations, ce qui rend la mthode du gradient
conjugu plus avantageuse quune mthode directe comme celle de Cholesky (voir la
proposition 2.18).
Si on veut rsoudre un systme linaire A x = b o la matrice A est inversible mais nest
pas symtrique et dfinie positive, on peut toujours appliquer la mthode du gradient
conjugu au systme quivalent AT A x = AT b (mthode des quations normales).
Cependant, cette approche nest pas recommande lorsque A est mal conditionne car le
passage aux quations normales lve le conditionnement de la matrice au carr. Dans
ce cas, il existe des versions de la mthode du gradient conjugu spcialement adaptes
aux matrices non symtriques : lune des plus utilises est la mthode GMRES.

4.4.4

Gradient conjugu avec prconditionnement

Le prconditionnement est une technique qui vise acclrer la convergence dune mthode
itrative. On rappelle que, dans le cas de la mthode du gradient conjugu, la convergence
est trs rapide si la matrice A est proche de la matrice identit, ou si ses valeurs propres sont
bien regroupes (voir Thorme 4.30).
Description : On considre un systme linaire (S) : A x = b avec A symtrique et dfinie
positive. tant donne une matrice C Mnn (R) inversible, on dfinit le systme transform
: A x = b,
(S)

avec

A = C 1 A(C 1 )T ,

x = C T x,

et b = C 1 b.

On remarque que A est aussi symtrique et dfinie positive donc on peut appliquer la mthode

du gradient conjugu (S).


55


Dfinition 4.31. La matrice M = C C T est appele prconditionneur du systme (S).
Le choix du prconditionneur M est gnralement fait de sorte que :
la matrice A soit mieux conditionne que A, ou idalement proche de la matrice identit,
converge rapidement,
pour que la mthode du gradient conjugu applique (S)
M soit facilement inversible car dans lalgorithme il faut rsoudre un systme linaire
de matrice M chaque itration (voir ci-dessous), donc cette opration doit pouvoir
tre effectue de manire stable et rapide, idalement en un nombre doprations de
lordre de n.
Pour crire lalgorithme du gradient conjugu prconditionn, on observe que, si on note s(k)
le rsidu de la mthode prconditionne litration k, on a, avec les notations prcdentes,
s(k) = C 1 r(k) , et donc s(k)T s(k) = r(k)T M 1 r(k) . Si z (k) est tel que M z (k) = r(k) , alors
s(k)T s(k) = z (k)T r(k) . On obtient donc lalgorithme suivant :
Entre : A Mnn (R) symtrique et dfinie positive, b Rn , x(0) Rn , et un prconditionneur M Mnn (R) symtrique et dfini positif.
Sortie : x Rn tel que A x = b.
1. k = 0 ;
2. r(0) = b A x(0) ;
3. Tant que r(k) 6= 0, faire :
rsoudre le systme linaire M z (k) = r(k) ;
Si k = 0, alors faire :
p(0) = z (0) ;
Sinon faire :
k = z (k)T r(k) /z (k1)T r(k1) ;
p(k) = z (k) + k p(k1) ;
k = z (k)T r(k) /p(k)T A p(k) ;
x(k+1) = x(k) + k p(k) ;
r(k+1) = r(k) k A p(k) ;
k =k+1 ;
4. Retourner x = x(k) .

56

Remarque : la matrice C est utilise dans la description thorique de la mthode mais


napparait pas explicitement dans lalgorithme.
Le choix dun prconditionneur est un problme dlicat et il existe une vaste littrature
ce sujet. Ici nous prsentons deux exemples simples qui peuvent sappliquer de manire assez
gnrale.

Exemple 1 : Prconditionnement diagonal. On note A = (ai,j )1i,jn , et on choisit le


conditionneur M = (mi,j )1i,jn dfini par

ai,i si i = j,
mi,j =
0
si i 6= j.
Exemple 2 : Prconditionnement de Cholesky incomplet. On choisit M = L LT , o
L = (`i,j )1i,jn est une matrice triangulaire infrieure dfinie de la manire suivante :
v
u
i1
u
X
t
`2i,r ,
i = 1, . . . , n,
`i,i = ai,i
r=1

(
`i,j =

0 
1

`i,j

ai,j

 si ai,j = 0,
si ai,j 6= 0,
r=1 `i,r `j,r

Pj1

j = 1, . . . , i 1,

i = 2, . . . , n.

On remarque que la matrice L est dfinie de manire prserver lventuelle structure creuse
de A. Les lments non nuls de L sont calculs comme pour le facteur de Cholesky de A (voir
lalgorithme de Cholesky dans la section 2.3).

57

58

Chapitre 5
Interpolation polynomiale
5.1

Le problme considr

Dans ce chapitre, on notera Pn = Rn [x] lensemble des polynmes de degr infrieur ou gal
n et coefficients dans R. On rappelle que Pn est un espace vectoriel de dimension n + 1 sur R.
Soit (a, b) R2 avec a < b et f : [a, b] R une fonction que lon suppose continue sur [a, b].
On considre n + 1 points x0 , . . . , xn de lintervalle [a, b] tels que a x0 x1 xn b.
Le problme dinterpolation polynomiale (I)fm,n consiste chercher sil existe un polynme
Pm Pm qui concide avec f aux nuds (xi )0in , i.e., tel que, pour tout i = 0, . . . , n,
Pm (xi ) = f (xi ). Si on pose Pm (x) = 0 + 1 x + + m xm avec les i dans R, alors le
problme se ramne trouver 0 , . . . , m tels que :

f (x0 )
0
1 x0 x20 . . . xm
0
1 x1 x2 . . . xm 1 f (x1 )
1
1

(5.1)
(S) : ..
.
..
..
.. .. =

.
.
.
.
f (xm )
m
1 xn x2n . . . xm
n
|
{z
}
V

Nous avons donc un systme de n + 1 quations linaires en m + 1 inconnues.


Proposition 5.1. Le problme dinterpolation (I)fm,n admet une unique solution si et seulement si m = n et les nuds (xi )0in sont deux deux distincts.
Dmonstration. Cela dcoule
Q des proprits des matrices de Vandermonde comme V , e.g.,
lorsque n = m, det(V ) = 0i<jn (xj xi ).
Dans la suite, on sintresse au cas o le problme dinterpolation admet une unique
solution et on le notera (I)fn .
Dfinition 5.2. Soit f : [a, b] R et n + 1 nuds (xi )0in deux deux distincts. La
solution (unique) du problme (I)fn est appele polynme dinterpolation de f aux nuds
(xi )0in : ce polynme est not Pn (x ; f ).
59

Notons que mme si cela napparait pas dans la notation, Pn (x ; f ) dpend des nuds
choisis.
Ce problme dinterpolation apparat dans un contexte exprimental. Supposons que lon
souhaite calculer les valeurs dune fonction f mais quon ne connaisse pas la fonction f et quil
soit difficile den calculer des valeurs. Par exemple lorsque les valeurs de f sobtiennent par
intgration ou par rsolution dune quation non linaire ou en sommant une srie complique.
On va donc faire une table de valeurs de f pour des valeurs du paramtre x convenablement
choisies et construire une rgle de calcul qui permette dapprocher les valeurs de f en dehors de
ces valeurs discrtes. Cette rgle de calcul peut par exemple tre une formule dinterpolation.
Le mme problme apparat lorsque la fonction f est obtenue comme rsultat de mesures.
Dans ce cas, on fait un nombre fini de mesures pour des valeurs distinctes de x et on souhaite
avoir une formule pour calculer les valeurs de f en dehors des valeurs pour lesquelles on a
fait des mesures.
Notons que pour esprer la russite de ces techniques, il est naturel de supposer que lon
connaisse un minimum dinformation sur la fonction f interpoler.

5.2

La mthode dinterpolation de Lagrange


(n)

Dfinition 5.3. Pour j {0, . . . , n}, le polynme Lj


(n)

Lj (x) =

dfini par

n
Y
x xi
(x x0 ) (x xj1 ) (x xj+1 ) (x xn )
,
=
xj xi
(xj x0 ) (xj xj1 ) (xj xj+1 ) (xj xn )
i=0
i6=j

est appel interpolant de base de Lagrange ou polynme de base de Lagrange associ la


suite (xi )0in et relatif au point xj .
(n)

Proposition 5.4. Pour n N fix, les (Lj (x))0jn forment une base de lespace vectoriel
Pn que lon appelle base de Lagrange.
Proposition 5.5. Les interpolants de base de Lagrange vrifient les proprits suivantes :
1. Pour tout j = 0, . . . , n, si on note gj la fonction de [a, b] dans R dfinie par i =
(n)
0, . . . , n, gj (xi ) = ij , alors Pn (x ; gj ) = Lj (x) ;
2. Si on pose
n
Y
n+1 (x) =
(x xj ) Pn+1 ,
j=0

alors, pour tout j = 0, . . . , n,


(n)

Lj (x) =

n+1 (x)
.
0
(x xj ) n+1
(xj )
60

3. Pour tout k = 0, . . . , n, xk =

Pn

j=0

(n)

xkj Lj (x).

Dmonstration. Exercice.
La mthode dinterpolation de Lagrange consiste crire le polynme dinterpolation sur
la base de Lagrange.
Thorme 5.6. Soit f : [a, b] R et n + 1 nuds (xi )0in deux deux distincts. Le
polynme dinterpolation de f aux nuds (xi )0in scrit alors :
Pn (x ; f ) =

n
X

(n)

f (xj ) Lj (x).

j=0

P
(n)
Dmonstration. On doit montrer que le polynme Q(x) = nj=0 f (xj ) Lj (x) ainsi dfini
est solution du problme dinterpolation (I)fn . Il est clair que Q Pn , i.e., Q est de degr
(n)
infrieur ou gal n. De plus, pour tout i = 0, . . . , n, Lj (xi ) = ij o ij = 1 si i = j et
ij = 0 si i 6= j do Q(xi ) = f (xi ).
Lintrt de la base de Lagrange par rapport la base constitue des monmes est que
nous navons pas besoin de rsoudre un systme linaire de la forme (5.1) pour crire le
polynme dinterpolation. Lexpression de celui-ci dans la base de Lagrange scrit facilement.
Par exemple si on choisit les nuds 1, 0, 1, on obtient :
P2 (x ; f ) = f (1)
= f (1)
=

(x 0) (x 1)
(x + 1) (x 1)
(x + 1) (x 0)
+ f (0)
+ f (1)
,
(1 0) (1 1)
(0 + 1) (0 1)
(1 + 1) (1 0)
x (x + 1)
x(x 1)
f (0) (x2 1) + f (1)
,
2
2

f (1) 2 f (0) + f (1) 2 f (1) f (1)


x +
x + f (0).
2
2

Exemple : Si on considre la fonction f : [4, 4] R, x 7 |x|. Alors le polynme


dinterpolation de f relatif aux nuds (xj )0j8 = (4, 3, 2, 1, 0, 1, 2, 3, 4) se dcompose
P
(8)
sur la base de Lagrange sous la forme P8 (x ; f ) = 8j=0 |xj | Lj (x) et en dveloppant on
obtient :
533 2
43 4
11 6
1
P8 (x ; f ) =
x
x +
x
x8 .
420
144
360
1008
Le graphe ci-dessous montre en bleu la courbe de f et en rouge celle de linterpolant de
Lagrange P8 (x ; f ).
61

x
3

(n)

Dun point de vue efficacit pratique, on ne dveloppe les Lj (x) pour crire le polynme
dinterpolation dans la base monomiale. Si lon veut valuer le polynme dinterpolation en
un point, on utilise la formule

Pn (x ; f ) = n+1 (x)

n
X
j=0

f (xj )
,
0
n+1
(xj ) (x xj )

qui ncessite moins doprations virgule flottante. Ce calcul demeure tout de mme coteux.
Le principal inconvnient de la mthode dinterpolation de Lagrange est que le fait de
rajouter un nud change compltement les interpolants de base de Lagrange et on doit donc
recalculer entirement le polynme Pn (x ; f ). On va donc considrer une autre approche qui
se comporte mieux lorsquon rajoute des nuds.
Notons enfin que cette mthode permet aussi dinterpoler un nuage de points. Au lieu
de se donner une fonction f , on se donne une suite de valeurs discrtes (bi )0in aux nuds
(xi )0in et on cherche un polynme Pn tel que Pn (xi ) = bi pour i = 0, . . . , n. On obtient
exactement les mmes rsultats en remplaant f (xi ) par bi dans tout ce qui prcde.
62

5.3
5.3.1

Effectivit de linterpolation : interpolant de Newton


Base dinterpolation de Newton
(n)

Dfinition 5.7. Les polynmes Nj

(n)

N0 (x) =

(n)

N1 (x) =

(n)

N2 (x) =
..
.

(n)

Nj (x) =

..

(n)
Nn (x) =

dfinis pour j = 0, . . . , n par :


1,
(x x0 ),
(x x0 ) (x x1 ),
(x x0 ) (x x1 ) (x xj1 ),
(x x0 ) (x x1 ) (x xn1 ),

sont appels interpolants de base de Newton ou polynmes de base de Newton relatifs la


suite de points (xi )i=0,...,n1 .
(n)

On remarque que l o on avait besoin de n+1 points pour dfinir les Lj (x), j = 0, . . . , n,
(n)
la dfinition des Nj (x), j = 0, . . . , n, ne ncessite que n points.
(n)

Proposition 5.8. Pour n N fix, les (Nj (x))0jn forment une base de lespace vectoriel
Pn que lon appelle base de Newton.

5.3.2

Expression de linterpolant de Newton

Soit f : [a, b] R et n nuds (xi )0in1 . Essayons dcrire le polynme dinterpolation


sur la base P
de Newton. Autrement dit, cherchons des nombres i , i = 0, . . . , n tels que
(n)
Pn (x ; f ) = ni=0 i Ni (x). On a :
Pn (x0 ; f ) = 0 = f (x0 ) = 0 = f (x0 )
f (x0 ) f (x1 )
x0 x1
f (x0 )f (x1 )
Pn (x2 ; f ) = f (x0 ) + x0 x1 (x2 x0 ) + 2 (x2 x0 ) (x2 x1 ) = f (x2 )

Pn (x1 ; f ) = f (x0 ) + 1 (x1 x0 ) = f (x1 ) = 1 =

f (x0 ) f (x2 ) f (x0 ) f (x1 )

x0 x2
x0 x1
= 2 =
x2 x1
En posant
f [u, v] =

f (u) f (v)
,
uv

on a alors
1 = f [x0 , x1 ],

2 =

f [x0 , x2 ] f [x0 , x1 ]
f [x0 , x1 ] f [x1 , x2 ]
=
.
x2 x1
x 0 x2
63

Dfinition 5.9. Pour tout k N, on appelle diffrence divise dordre k de f associe la


suite de points deux deux distincts (xj )jN la quantit f [x0 , x1 , . . . , xk ] dfinie par :
f [x0 ] = f (x0 ),

k N , f [x0 , x1 , . . . , xk ] =

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


.
x0 xk

Thorme 5.10. Avec les notations prcdentes, on a

Pn (x ; f ) =

n
X

(n)

f [x0 , x1 , . . . , xk ] Nk (x).

k=0

Dmonstration. Admis pour ce cours.

Mme si la dfinition de la base dinterpolation de Newton de Pn ne ncessite que la


(n)
donne de n nuds, le coefficient f [x0 , x1 , . . . , xn ] de Nn (x) fait intervenir le nud xn .
Corollaire 5.11. Avec les notations prcdentes, on a
Pn (x ; f ) = Pn1 (x ; f ) + f [x0 , x1 , . . . , xn ] Nn(n) (x).
La formule de ce corollaire montre que si lon crit le polynme dinterpolation sur la base
de Newton, alors il est facile de rajouter un point.
Lvaluation du polynme dinterpolation dans la base de Newton est relativement simple
compar celui sur la base de Lagrange (schma dvaluation type Horner).
Proposition 5.12. Pour tout k N, on a :

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

k
X

Qk
j=0

k
X
f (xj )
=
0
(x )
(xj xl )
j=0 k+1 j

f (xj )
l=0
l6=j

Dmonstration. Admis pour ce cours.


Corollaire 5.13. Soit Sk+1 lensemble des permutations sur {0, 1, . . . , k + 1}. Pour tout
Sk+1 , on a f [x(0) , x(1) , . . . , x(k) ] = f [x0 , x1 , . . . , xk ].
64

5.3.3

Algorithme de calcul des diffrences divises

Le calcul pratique des diffrences divises est bas sur la formule de rcurrence de la dfinition 5.9. Nous avons le tableau suivant :
x0
x1
x2
..
.
..
.
..
.

f [x0 ]
&
f [x1 ] f [x0 , x1 ]
&
f [x2 ] f [x1 , x2 ]
..
.
..
.
..
.

&
f [x0 , x1 , x2 ]
..

xk2 f [xk2 ]
xk1
xk

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

On en dduit immdiatement un algorithme de calcul des diffrences divises.


On note que contrairement ce quil se passait pour linterpolation de Lagrange, lajout
dun nouveau nud noblige pas recalculer toutes les diffrences divises. Plus prcisment,
passer de n n+1 nuds demande simplement le calcul de n diffrences divises. Par exemple,
pour passer de 3 4 points, on rajoute une ligne x3 en dessous de la ligne x2 dans notre
tableau et on doit calculer (f [x3 ]), f [x2 , x3 ], f [x1 , x2 , x3 ] et f [x0 , x1 , x2 , x3 ] soit 3 diffrences
divises.

5.4

Erreur dinterpolation

On va maintenant voir comment estimer lerreur ponctuelle |f (x) Pn (x ; f )|.


Lemme 5.14. Soit (xi )0in tels que, pour tout i = 0, . . . , n, xi [a, b] et soit Pn (x ; f ) le
polynme dinterpolation de f aux nuds (xi )0in . Alors, avec les notations prcdentes,
pour tout x [a, b] tel que, pour tout i = 0, . . . , n, x 6= xi , on a :
(n+1)

f (x) Pn (x ; f ) = f [x0 , x1 , . . . , xn , x] Nn+1 (x).


Dmonstration. Admis pour ce cours.
Lemme 5.15. Si f C n ([a, b]), alors :
]a, b[,

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

Dmonstration. Admis pour ce cours.


65

1 (n)
f ().
n!

Les deux lemmes prcdents mnent alors au rsultat suivant et son corollaire :
Thorme 5.16. Soit (xi )0in tels que, pour tout i = 0, . . . , n, xi [a, b] et soit Pn (x ; f )
le polynme dinterpolation de f aux nuds (xi )0in . Si f C n+1 ([a, b]), alors :
x [a, b], x ]a, b[,

f (x) Pn (x ; f ) =

1
(n+1)
f (n+1) (x ) Nn+1 (x).
(n + 1)!

Corollaire 5.17. Avec les mmes hypothses, on a :


(n+1)

x [a, b],

|f (x) Pn (x ; f )|

66

|Nn+1 (x)|
sup |f (n+1) (y)|.
(n + 1)! y[a,b]

Chapitre 6
Intgration numrique
Dans ce chapitre, nous
R b allons voir comment approcher de faon numrique la valeur dintgrales
de la forme I(f ) = a f (x) dx. Ce problme est dautant plus intressant quen pratique on ne
connait pas forcment lexpression symbolique de f et que mme si cest le cas, la plupart des
fonctions nadmettent pas de primitives pouvant sexprimer laide de fonctions lmentaires.

6.1

Introduction et mthodes classiques

On supposera dans ce qui suit que les fonctions que lon cherche intgrer numriquement
sont continues sur lintervalle [a, b]. Soit x0 = a < x1 < x2 < < xn1 < xn = b une
subdivision de lintervalle [a, b]. La thorie lmentaire de lintgration implique :

Z
I(f ) =

f (x)dx = lim
a

n+

n1
X

f (j )(xj+1 xj ) ,

avec j, j [xj , xj+1 ].

j=0

|
{z
}
Somme de Riemann
Diffrents choix des j mnent aux mthodes classiques :

1. j = xj donne la formule des rectangles gauche Irg (f ) :

Irg (f ) =

n1
X

f (xj ) (xj+1 xj ).

j=0

67

Formule des rectangles gauche

a x1 x2 x3 x4 x5 x6 x7

2. j = xj+1 donne la formule des rectangles droite Ird (f ) :


Ird (f ) =

n1
X

f (xj+1 ) (xj+1 xj ).

j=0

Formule des rectangles droite

0
3. j =

xj +xj+1
2

a x1 x2 x3 x4 x5 x6 x7

donne la formule du point milieu Ipm (f ) :



n1 
X
xj + xj+1
Ipm (f ) =
f
(xj+1 xj ).
2
j=0
68

Formule du point milieu

a x1 x2 x3 x4 x5 x6 x7

Remarquons que les mthodes prcdentes reviennent interpoler f sur chaque intervalle
[xj , xj+1 ] par le polynme dinterpolation de degr 0 relatif lunique nud j . Ces formules
seront donc exactes pour les fonctions constantes sur [a, b] et en particulier pour f P0 .
Lautre mthode classique est la mthode des trapzes base sur la formule :
It (f ) =

n1
X
f (xj ) f (xj+1 )
j=0

(xj+1 xj ).

Formule des trapzes

a x 1 x2 x3 x4 x5 x6 x7
69

La mthode des trapzes revient interpoler f sur chaque intervalle [xj , xj+1 ] par le
polynme dinterpolation de degr 1. Cette formule sera donc exacte pour f P1 .

6.2

Formalisation de lintgration approche

Nous allons maintenant dfinir un cadre dtude gnral au problme de lintgration approche et donner un certain nombre de rsultats gnraux qui seront admis pour ce cours.
Soit C([a, b]) lespace vectoriel des fonctions continues sur lintervalle [a, b] de R et f une
fonction de C([a, b]). On suppose que lon connat au moins les valeurs de f en certains points
x0 , x1 , . . . , xn de lintervalle [a, b]. On cherche alors une formule dintgration approche de la
forme
Z b
n
X
I(f ) =
f (x) dx
k f (xk ) = I(n) (f ),
a

k=0

o les k sont dterminer. On parle aussi de mthode dintgration numrique ou formule


de quadrature.
Dfinition 6.1. Une mthode dintgration numrique est dite dordre N (N N) si elle
est exacte sur PN .
Par exemple, la mthode des rectangles gauche ou droite et la mthode du point
milieu sont dordre 0 et celle des trapzes est dordre 1.
En pratique, connaissant
Pn les valeurs(n)de f aux points x0 , . . . , xn , on remplace f par le
polynme dinterpolation k=0 f (xk ) Lk (x) crit dans la base de Lagrange. On a alors la
formule dintgration approche :
(n)

(f ) =

n
X

(n)
Ak

f (xk ),

(n)
Ak

Z
=

(n)

Lk (x) dx,

(6.1)

k=0

qui est exacte sur Pn ([a, b]) (admis).

Thorme 6.2. Soit f C n+1 ([a, b]) et I(n) (f ) donne par (6.1). Alors on a la majoration
suivante de lerreur dintgration :
Mn+1
|I(f ) I(n) (f )|
(n + 1)!

|n+1 (x)| dx, Mn+1 = sup |f


x[a,b]

70

(n+1)

n
Y
(x)|, n+1 (x) =
(x xj ).
j=0

6.3

Formules de Newton-Ctes

Daprs ce qui prcde, pour obtenir notre formule dintgration approche, on doit donc
calculer les
Z b
(n)
(n)
Ak =
Lk (x) dx.
a

Pour ceci, nous allons supposer que les points dinterpolation sont quidistants, i.e., xj+1 xj
ne dpend pas de j, que x0 = a, xn = b et n 1.
Proposition 6.3. Pour k = 0, 1, . . . , n, on a :
(i)
(n)
Ak

(b a) (1)nk
=
n
k! (n k)!

n
Y

(y j) dy.

0
j=0
j6=k

(n)

(n)

(ii) Ank = Ak .
Dmonstration. Le (i) sobtient par un changement de variable x = a + y ba
. Pour le (ii),
n
on fait le changement dindice k = n k en remarquant que n (n k) = k.
(1)

(1)

ba
2

Pour n = 1, on obtient A0 = A1 =
la formule des trapzes.
(2)

(2)

Pour n = 2, on trouve A0 = A2 =
(2)

ba
(f ) =
6

ba
6

do I(1) (f ) =
(2)

et A1 =

4 (ba)
6

ba
(f (a)
2

+ f (b)) et on retrouve

do


a+b
f (a) + 4 f (
) + f (b) (formule de Simpson).
2
(n)

Calcul pratique des coefficients : Pour calculer les coefficients Ak , on peut utiliser le
fait que I(n) est exacte sur Pn ([a, b]). Par exemple pour n = 1, a = 1 et b = 1, on a I(1) (f ) =
R1
(1)
(1)
A0 f (1) + A1 f (1). Or I(1) est exacte sur P1 ([1, 1]) donc I(1) (1) = I(1) = 1 1 dx = 2
R1
et I(1) (x) = I(x) = 1 x dx = 0. On obtient donc le systme linaire
(

(1)

(1)

(1)

A0 + A1
= 2,
(1)
(1)
A0 + A1 = 0,

(1)

do A0 R = A1 = 1. Remarquons que cette formule nest pas exacte sur P2 ([1, 1]) puisque
1
I(x2 ) = 1 x2 dx = 23 alors que I(1) (x2 ) = 2.
Thorme 6.4. Considrons lerreur En (f ) = I(f )
71

Pn

i=0

(n)

Ai f (xi ). Alors :

1. Si n est impair et si f C n+1 ([a, b]), alors il existe [a, b] tel que :

n+2 (n+1)
Z
ba
f
() n
En (f ) =
t (t 1) (t n) dt.
n
(n + 1)! 0
2. Si n est pair et si f C n+2 ([a, b]), alors il existe [a, b] tel que :

n+3 (n+2)
Z
ba
f
() n 2
En (f ) =
t (t 1) (t n) dt.
n
(n + 2)! 0
Pour n = 2, si f C 4 ([a, b]), alors lerreur dapproximation commise par la formule de
f (4) ()
ba
Simpson vaut h5
o h =
et [a, b].
90
2

6.4

Stabilit des mthodes dintgration

La stabilit dune mthode numrique mesure la sensibilit de la mthode


P aux(n)erreurs
de calculs . Considrons une formule dintgration approche I(n) (f ) = nk=0 Ak f (xk ).
Supposons maintenant que les valeurs calcules des f (xk ) ne soient pas exactes. On a :
Pn
Pn
Pn
(n)
(n)
(n)
k=0 Ak (f (xk ) + k )
k=0 Ak f (xk ) =
k=0 Ak k . Par consquent,
n

X
n
X



(n)
(n)
Ak k max |k |
|Ak |,

0kn


k=0

et le terme

Pn

k=0

k=0

(n)

|Ak | dpend de la mthode.

P
(n)
Dfinition 6.5. La formule dintgration numrique I(n) (f ) = nk=0 Ak f (xk ) est dite stable
P
(n)
sil existe M R tel que : n N, (0 , . . . , n ) Rn+1 , | nk=0 Ak k | M max0kn |k |.
et suffisante de
Thorme 6.6. Avec les notations prcdentes, une condition
Pn ncessaire
(n)
stabilit est quil existe M R (indpendant de n) tel que k=0 |Ak | M .
Concernant les formules de Newton-Ctes, on peut montrer que pour certaines valeurs de
(n)
k, limn |Ak | = + de sorte que pour de grandes valeurs de n ces formules ne sont pas
stables.

6.5

Formules dintgration composes

Les formules dintgration composes sont les plus utilises en pratique. Le principe de ces
formules consiste dcomposer lintervalle [a, b] en k intervalles [ai , ai+1 ], i = 0, . . . , k 1.
Grce la relation de Chasles, on crit alors :
Z b
k1 Z ai+1
X
I(f ) =
f (x) dx =
f (x) dx,
a
i=0 | ai
{z
}
Ii (f )

72

et on approche chaque Ii (f ) par une formule dintgration numrique vu prcdemment.


Notons que pour la stabilit, il est judicieux de choisir une formule avec un n petit comme
par exemple celle de Simpson (n = 2).
Ces mthodes composes sont dautant plus intressantes que lerreur dapproximation
diminue lorsque la taille de lintervalle diminue. Par exemple, avec la formule de Simpson
obtenue prcdemment, si lon subdivise lintervalle [a, b] en k sous intervalles avec k pair, on
obtient la formule dintgration suivante :

k/21
k/2
X
X
h
f (a0 ) + 2
f (a2 i ) + 4
f (a2 i1 ) + f (ak ) (formule de Simpson compose),
3
i=1
i=1
ba
,
k

a0 = a, ak = b et ai = ai1 + h. Lorsque f C 4 ([a, b]), lerreur dapproximation


f (4) ()
ba
de cette formule compose est alors de k h5
o h =
et [a, b].
180
k
avec h =

73

74

Chapitre 7
Rsolution dquations et de systmes
dquations non linaires
Le dernier chapitre de ce cours est consacr la rsolution dquations et de systmes dquations non linaires.
On considre tout dabord une fonction f : R R dune seule variable relle et on
cherche rsoudre lquation f (x) = 0 cest--dire trouver une valeur approche x dun rel
x vrifiant f (
x) = 0.
La mise en oeuvre pratique des mthodes que nous allons voir ncessite la donne dune
tolrance sur la solution que lon cherche calculer. Lalgorithme numrique utilis doit alors
avoir un critre darrt dpendant de cette tolrance et nous assurant que la solution calcule
a bien la prcision recherche. En fonction de la mthode utilise, on peut parfois savoir
lavance combien dtapes de lalgorithme sont ncessaires pour obtenir la prcision recherche
(mthode de dichotomie) ou alors il nous faut chaque tape vrifier une condition nous
permettant darrter le processus lorsque lon est certain davoir obtenu la prcision requise
sur la solution (mthodes de points fixes).
Pour comparer les diffrentes mthodes de rsolution que lon va considrer, on utilise les
notions suivantes de vitesse de convergence dune suite :
Dfinition 7.1. Soit (xn )nN une suite convergente et soit x sa limite.
1. On dit que la convergence de (xn )nN est linaire de facteur K ]0, 1[ sil existe n0 N
tel que, pour tout n n0 , |xn+1 x| K |xn x|.
2. On dit que la convergence de (xn )nN est superlinaire dordre p N, p > 1 sil existe
n0 N et K > 0 tels que, pour tout n n0 , |xn+1 x| K |xn x|p . Si p = 2, on
parle de convergence quadratique et si p = 3 on parle de convergence cubique.
Remarquons que K nest pas unique et quen pratique il peut tre difficile de prouver la
75

convergence dune mthode dautant plus quil faut tenir compte des erreurs darrondis. On
utilise en gnral les notions de convergence plus faible suivantes :
Dfinition 7.2. Soit (xn )nN une suite convergent vers une limite x. On dit que la convergence
de (xn )nN est linaire de facteur K (resp. superlinaire dordre p) sil existe une suite
(yn )nN convergent vers 0, linaire de facteur K (resp. superlinaire dordre p) au sens de la
dfinition 7.1 telle que |xn x| yn .
Soit dn = log10 (|xn x|) une mesure du nombre de dcimales exactes de xn . Si
la convergence est dordre p, alors asymptotiquement, on a |xn+1 x| K |xn x|p do
dn+1 log10 (K) p dn et donc asymptotiquement xn+1 a p fois plus de dcimales exactes
que xn . Ainsi, lordre p de la convergence reprsente asymptotiquement le facteur multiplicatif
du nombre de dcimales exactes que lon gagne chaque itration. Nous avons donc intrt
ce quil soit le plus grand possible.

7.1

Mthode de dichotomie

La mthode classique de dichotomie est une mthode de localisation des racines dune quation f (x) = 0 base sur le thorme des valeurs intermdiaires : si f est continue sur [a, b]
et f (a) f (b) < 0, alors il existe x ]a, b[ tel que f (
x) = 0. Lide est donc de partir dun
intervalle [a, b] vrifiant la proprit f (a) f (b) < 0, de le scinder en deux intervalles [a, c] et
[c, b] avec c = a+b
, et de tester les bornes des nouveaux intervalles (on calcule f (a) f (c) et
2
f (c) f (b)) pour en trouver un (au moins) qui vrifie encore la proprit, i.e., f (a) f (c) < 0
ou/et f (c) f (b) < 0. On itre ensuite ce procd un certain nombre de fois dpendant de
la prcision que lon recherche sur la solution (voir Thorme 7.3 ci-dessous). On obtient
lalgorithme suivant :
Entres : la fonction1 f , (a, b) R2 tels que f est continue sur [a, b] et f (a) f (b) < 0 et la
prcision .
Sortie : xk+1 valeur approche de x solution de f (
x) = 0  prs.
1. x0 a, y0 b ;


ln(b a) ln()
2. Pour k de 0 E
par pas de 1, faire :
ln(2)


xk + y k
xk + y k
Si f (xk ) f
> 0, alors xk+1
, yk+1 yk ;
2
2


xk + yk
xk + y k
Si f (xk ) f
< 0, alors xk+1 xk , yk+1
;
2
2
xk + yk
Sinon retourner
;
2
1

Il suffit en fait de connaitre un moyen dvaluer les valeurs de la fonction

76

3. Retourner xk+1 .
Cet algorithme construit une suite de segments embots contenant tous la solution x.
chaque passage dans la boucle nous devons calculer une valuation de f . Remarquons
quen pratique, avec les arrondis, > 0 et < 0 ne veulent rien dire ! On dmontre
maintenant que cet algorithme est correct dans le sens o il calcule bien une valeur approche
de la solution  prs.
Thorme 7.3. Le nombre minimum
ditrations
de la mthode de dichotomie ncessaire


ln(ba)ln()
pour approcher x  prs est E
+ 1, o E(x) dsigne la partie entire dun rel
ln(2)
x.
Dmonstration. la premire itration, la longueur de lintervalle est ba
, . . ., la nime
2
itration, la longueur de lintervalle est ba
.
Lerreur
commise

ltape
n
est
donc majore
2n
ba
ba
par 2n . Le nombre n ditrations effectuer doit alors vrifier 2n  qui est quivalent
do le rsultat.
n ln(ba)ln()
ln(2)
Proposition 7.4. La convergence de la mthode de dichotomie est linaire de facteur 12 .
Dmonstration. Prendre yn =

7.2

ba
2n

dans la dfinition 7.2.

Mthode du point fixe

La mthode itrative du point fixe que nous allons dcrire est aussi appele mthode des
approximations successives.
Dfinition 7.5. Soit g : R R. On dit que x R est un point fixe de g si g(x) = x.
Le principe de la mthode du point fixe est dassocier lquation f (x) = 0 une quation
de point fixe g(x) = x de sorte que trouver une solution de f (x) = 0 quivaut trouver un
point fixe de g. La technique pour approximer le point fixe de g est alors base sur le rsultat
suivant :
Lemme 7.6. Soit (xn )nN la suite dfinie par x0 R donn et xn+1 = g(xn ). Si (xn )nN est
convergente et g est continue, alors la limite de (xn )nN est un point fixe de g.
Nous devons donc trouver des conditions sur g pour que la suite (xn )nN dfinie ci-dessus
converge.
Dfinition 7.7. Soit g : R R. On dit que g est lipschitzienne sur de constante de
lipschitz (ou -lipschitzienne) si pour tout (x, y) 2 , on a |g(x) g(y)| |x y|. On
dit que g est strictement contractante sur si g est -lipschitzienne sur avec < 1.
On remarque que g lipschitzienne sur implique en particulier g continue sur .
77

Thorme 7.8 (Thorme du point fixe). Soit g une application strictement contractante sur
un intervalle [a, b] R de constante de Lipschitz < 1. Supposons que lintervalle [a, b] soit
stable sous g, i.e., g([a, b]) [a, b] ou encore pour tout x [a, b], g(x) [a, b]. Alors g admet
un unique point fixe x [a, b] et la suite dfinie par xn+1 = g(xn ) converge linairement de
facteur vers x pour tout point initial x0 [a, b]. De plus,
n N, |xn x |

n
|x1 x0 |.
1

Dmonstration. Admis pour ce cours.


On remarque que lerreur est dautant plus petite que est proche de 0. De plus, on peut
montrer que lon a aussi
n N, |xn x |

|xn xn1 |,
1

et si 21 , alors |xn x | |xn xn1 |. Dans ce cas, on pourra utiliser le test darrt
|xn xn1 | <  qui certifiera une prcision  sur le rsultat.
La proposition suivante donne un critre pour tester le fait quune fonction soit contractante
sur un intervalle donn.
Proposition 7.9. Soit g une fonction drivable sur lintervalle [a, b]. Si sa drive g 0 vrifie
maxx[a,b] |g 0 (x)| = L < 1, alors g est strictement contractante sur [a, b] de constante de
Lipschitz L.
Dmonstration. Utiliser le thorme des accroissements finis.
On en dduit alors la proposition suivante :
Proposition 7.10. Soit x [a, b] un point fixe dune fonction g C 1 ([a, b]).
Si |g 0 (x )| < 1, alors il existe un intervalle [, ] [a, b] contenant x pour lequel la
suite dfinie par x0 [, ] et xn+1 = g(xn ) converge vers x ;
Si |g 0 (x )| > 1, alors pour tout x0 6= x , la suite dfinie par x0 et xn+1 = g(xn ) ne
converge pas vers x ;
Si |g 0 (x )| = 1, on ne peut pas conclure.
En pratique, on estime g 0 (x ), i.e., on en a une valeur approche g 0 (x ). Si |g 0 (x )| > 1,
alors on limine la mthode et si |g 0 (x )| < 1, on cherche un intervalle [, ] [a, b] dans
lequel maxx[,] |g 0 (x)| < 1 et g([, ]) [, ].
Revenons maintenant notre problme initial o on cherche rsoudre une quation
f (x) = 0. Posons g(x) = x f (x) de sorte que trouver les solutions de f (x) = 0 soit quivalent
78

trouver les points fixes de g. Daprs le thorme du point fixe (Thorme 7.8), une condition
suffisante pour que g admette un point fixe dans lintervalle [a, b] est que [a, b] soit stable
sous g et que g soit strictement contractante sur [a, b] de constante de Lipschitz < 1. On a
alors (consquence directe de la dfinition dune fonction contractante)
x [a, b],

|g 0 (x)| < |1 f 0 (x)| < ,

qui implique en particulier que f 0 ne sannule pas sur [a, b] et que f est donc monotone sur [a, b].
tant donne f , le choix prcdent de g est restrictif et on peut choisir g(x) = x f (x)
o est une constante arbitraire non nulle. Comme prcdemment, une condition suffisante
pour que g ait un point fixe dans [a, b] est que [a, b] soit stable sous g et que g soit strictement
contractante sur [a, b] de constante de Lipschitz < 1. On obtient alors
x [a, b],

|1 f 0 (x)| < < 1,

(7.1)

ce qui implique en particulier que f 0 ne change pas de signe sur [a, b] et que est du mme
signe que f 0 . Gomtriquement, on construit la suite des itrs xn+1 = xn f (xn ). En
remarquant que la droite de pente et passant par le point (xn , f (xn )) a pour quation
y = f (xn ) + (x xn ) et coupe laxe des abscisses en x = xn f (xn ) , on voit que xn+1
sobtient comme point dintersection de la droite de pente 1 passant par le point (xn , f (xn ))
avec laxe des abscisses. En itrant ce procd, on obtient la mthode illustre sur le graphique
suivant :
y

pente

f (x0 )
f (x1 )

x0 x1 x2 x

La proposition suivante donne des prcisions sur lorde de convergence dune mthode de
point fixe.
79

Proposition 7.11. On considre lquation g(x) = x o g est une fonction au moins p + 1


fois drivable avec p 1. Supposons que les hypothses du thorme 7.8 soient vrifies de
sorte que g admette un unique point fixe x [a, b]. Si g 0 (x ) = g 00 (x ) = = g (p) (x ) = 0
et g (p+1) (x ) 6= 0, alors la convergence de la mthode xn+1 = g(xn ) est superlinaire dordre
p + 1.
Dmonstration. Utiliser la formule de Taylor.

7.3

Mthode de Newton

Si on regarde lquation (7.1), on voit que la mthode convergera dautant plus vite que la
constante est petite. Ceci motive donc le fait de remplacer la constante par f 01(x) et de
poser g(x) = x

f (x)
.
f 0 (x)

Dfinition 7.12. La fonction ditration de Newton associe lquation f (x) = 0 sur [a, b]
est

[a, b] R,
f (x)
N :
7 N (x) = x 0 .
x
f (x)
Cette fonction est dfinie pour f drivable sur [a, b] et telle que f 0 ne sannule pas sur [a, b].
Gomtriquement, la suite des itrs de Newton se construit comme suit : tant donn
n)
xn [a, b], on cherche construire xn+1 tel que xn+1 = xn ff0(x
. En reprenant, le
(xn )
raisonnement dvelopp dans la sous-section prcdente, on voit que xn+1 sobtient comme
point dintersection de la droite tangente au graphe de f en (xn , f (xn )) avec laxe des abscisses.
On illustre ceci sur le graphique suivant :
y

Mthode de Newton
tangente
f (x0 )
f (x1 )

x0

x1

x2x

80

Thorme 7.13 (Thorme de convergence locale). Soit f une fonction de classe C 2 sur un
intervalle [a, b] de R. On suppose quil existe x [a, b] tel que f (
x) = 0 et f 0 (
x) 6= 0 (
x est
un zro simple de f ). Alors il existe  > 0, tel que pour tout x0 [
x , x + ], la suite des
itrs de Newton donne par xn+1 = N (xn ) pour n 1 est bien dfinie, reste dans lintervalle
[
x , x + ] et converge vers x quand n tend vers linfini. De plus, cette convergence est (au
moins) quadratique.
Dmonstration. Admis pour ce cours.
Exemple : Prenons lexemple du calcul de la racine carre dun nombre rel a > 0. On
cherche alors rsoudre lquation f (x) = 0 avec f (x) = x2 a. On a alors
N (x) = x

f (x)
x2 a
1 
a
=
x

=
x
+
.
f 0 (x)
2x
2
x

Dans le cas a = 2, si lon prend comme point de dpart x0 = 1 on obtient les valeurs suivantes
des itrs de Newton :
x0 = 1, 000000000000000
x1 = 1, 500000000000000
x2 = 1, 416666666666667
x3 = 1, 414215686274510
x4 = 1.414213562374690
x5 = 1, 414213562373095

La valeur de 2 donne par Matlab en format long est 1, 414213562373095. Le nombre


de dcimales justes double approximativement chaque itration ce qui est bien cohrent
avec le fait que la convergence de la mthode de Newton est quadratique. Notons que si on
utilise la mthode de dichotomie sur
lintervalle [1, 2], alors nous avons besoin de 51 itrations
pour avoir une valeur approche de 2 1015 prs (voir Thorme 7.3).
Le thorme 7.13 suppose que x est un zro simple de f . Nous avons la gnralisation
suivante au cas dun zro de multiplicit quelconque.
Thorme 7.14. Avec les notations, prcdentes, si x est un zro de multiplicit m de f ,
i.e., f (x ) = f 0 (x ) = = f (m1) (x ) = 0 et f (m) (x ) 6= 0, alors la mthode itrative dfinie
f (x)
par xn+1 = Nm (xn ) avec Nm (xn ) = x m 0
est dordre suprieure ou gal 2.
f (x)
Finalement, nous avons le rsultat global suivant :
Thorme 7.15 (Thorme de convergence globale). Soit f une fonction de classe C 2 sur
un intervalle [a, b] de R vrifiant :
f (a) f (b) < 0,
x [a, b], f 0 (x) 6= 0 (f strictement monotone),
81

x [a, b], f 00 (x) 6= 0 (concavit dans le mme sens sur [a, b]).
Alors, en choisissant x0 [a, b] tel que f (x0 ) f 00 (x0 ) > 0, la suite (xn )nN dfinie par x0 et
xn+1 = N (xn ) converge vers lunique solution de f (x) = 0 dans [a, b].
Dmonstration. Admis pour ce cours.

7.4

Mthode de la scante

La mthode de Newton tudie dans la sous-section prcdente prsente le dsavantage de


ncessiter le calcul de la drive de la fonction f qui peut savrer difficile. Gardons en tte
quon ne connait pas ncessairement une expression symbolique de f . Partant de ce constat,
lide de la mthode de la scante est de remplacer la drive f 0 de f qui apparait dans la
mthode de Newton par une diffrence divise (voir la dfinition 5.9). La mthode de la
scante est alors donne par litration suivante :
xn+1 = xn

f (xn )
,
f [xn , xn1 ]

o f [xn , xn1 ] =

f (xn ) f (xn1 )
.
xn xn1

(7.2)

Cette mthode doit alors tre initialise par deux points x0 et x1 partir desquels on peut
utiliser la formule prcdente pour calculer x2 et les itrs suivants.
y

Mthode de la scante

f (x0 )
f (x1 )

x0

x1


x2 x

Thorme 7.16. Soit f une fonction de classe C 2 sur un intervalle [a, b] de R. On suppose
quil existe x [a, b] tel que f (
x) = 0 et f 0 (
x) 6= 0 (
x est un zro simple de f ). Alors il existe
82

 > 0, tel que pour tout x0 , x1 [


x , x + ], la suite des itrs de la mthode de la scante
donne par (7.2) pour n 1 est bien dfinie, reste dans lintervalle [
x , x + ] et converge
vers x quand n tend vers linfini. De plus, cette convergence est dordre p = 1+2 5 1, 618
(nombre dor).
Dmonstration. Admis pour ce cours.
Exemple : Reprenons lexemple du calcul de la racine carre dun rel a > 0 en rsolvant
f (x) = 0 pour f (x) = x2 a. La suite des itrs de la mthode de la scante est donne par :
xn+1

x2n a
x2n a
= xn 2
= xn
.
(xn a) (x2n1 a)
xn + xn1
xn xn1

Dans le cas a = 2, si lon prend comme points de dpart x0 = x1 = 1 on obtient les valeurs
suivantes des itrs de la mthode de la scante :
x0
x1
x2
x3
x4
x5
x6
x7

=
=
=
=
=
=
=
=

1, 000000000000000
1, 000000000000000
1, 500000000000000
1, 400000000000000
1, 413793103448276
1, 414215686274510
1, 414213562057320
1, 414213562373095

On voit donc que lon a besoin de plus ditrations que pour la mthode de Newton pour
avoir la mme prcision. Ceci vient du fait que lordre de cette mthode est plus petit que
celui de la mthode de Newton. Par contre, on na pas besoin de calculer la drive.

7.5

Systmes dquations non linaires

On considre maintenant un systme dquations non linaires donn par une fonction
f : Rn Rn , x = (x1 . . . xn )T 7 f (x) = (f1 (x1 , . . . , xn ), . . . , fn (x1 , . . . , xn ))T . On cherche
donc un vecteur x = (x1 . . . xn )T Rn tel que

f1 (x1 , . . . , xn ) = 0,
..
f (x) = 0Rn
.

f (x , . . . , x ) = 0.
n 1
n
La mthode dcrite la fin de la section 7.2 se gnralise immdiatement ce cadre en
dfinissant litration
x(n+1) = x(n) + M 1 f (x(n) ),
(7.3)
o M est une certaine matrice, et nous avons les mmes rsultats de convergence que dans le
cas dune seule quation.
83

Dfinition 7.17. La matrice jacobienne dune fonction f : Rn


(lorsquelle existe) par :

f1
f1
(x)
(x)
x1
x2

f2
f2

(x)
(x)
x1
x2

x = (x1 . . . xn )T Rn , Jf (x) =
..
..

.
.

fn
fn

(x)
(x)
x1
x2

Rn note Jf est dfinie

f1
...
(x)

xn

f2

...
(x)

xn

.
..
...

fn
...
(x)
xn

La mthode de Newton se gnralise naturellement au cas des systmes dquations non


linaires de la manire suivante : on choisit x(0) Rn et on utilise la formule ditration
1
x(n+1) = x(n) Jf x(n)
f (x(n) ),
(7.4)
o Jf x(n)

1

dsigne linverse de la matrice jacobienne de f value en x(n) .

Thorme 7.18. Soit f : Rn Rn une fonction de classe C 2 sur une boule ferme B de
Rn . On suppose quil existe un zro x de f dans B et que Jf (
x) est inversible. Alors il existe
(0)
(0)
 > 0 tel que pour tout x B tel que kx xk , la suite des itrs de la mthode de
Newton dfinie par (7.4) est bien dfinie et converge vers x quand n tend vers linfini.
Calculer litr
 n + 1 partir de litr n en utilisant la formule (7.4) ncessite dinverser la
matrice Jf x(n) . Or, calculer linverse dune matrice peut savrer couteux. Par consquent,
nous r-crivons la formule ditration (7.4) sous la forme



Jf x(n) x(n+1) x(n) = f x(n) ,
(7.5)
de sorte qu chaque itration, le calcul de linverse dune matrice est remplac par la rsolution
dun systme dquations linaires ce qui est asymptotiquement moins couteux en nombre
doprations virgule flottante (voir la sous-section 2.2.4 du chapitre 2).
Exemple : Considrons le systme dquations non linaires :

x21 + 2 x1 x22 2 = 0,
(S) :
3
x1 + 3 x1 x22 x32 3 = 0.
Avec les notations prcdentes, cela correspond n = 2, f1 (x1 , x2 ) = x21 + 2 x1 x22 2, et
f2 (x1 , x2 ) = x31 + 3 x1 x22 x32 3. La matrice jacobienne de f est alors :


2 x1 + 2
2 x2
Jf (x1 , x2 ) =
.
3 (x21 + x22 ) 6 x1 x2 3 x22
84

Partant du point x(0) = (1 1)T , calculons le premier itr de la mthode de Newton pour
rsoudre le systme (S). Pour n = 1, la formule ditration (7.5) scrit :



Jf x(0) x(1) x(0) = f x(0) ,
cest--dire


4 2
6 9

(1)

x1 1
(1)
x2 + 1
(1)


=

0
2


.
(1)

1
En rsolvant ce systme linaire, on trouve x1 1 = 12
et x2 + 1 =

T
56 .
x(1) = 11
12

1
6

de sorte que

La mthode de la scante ne se gnralise pas facilement au cas de plusieurs quations.


En pratique, pour rsoudre un systme de plusieurs quations non linaires, soit on utilise la
mthode de Newton, soit on utilise une mthode type (7.3) mais en ajustant la matrice M
au bout dun certain nombre ditrations. En gnral, on prend pour M une matrice assez
proche de la jacobienne Jf de f pour que la convergence soit dun ordre suprieur 1. On
obtient ainsi des mthodes de Newton gnralises qui sont surtout utilises dans le cadre de
loptimisation.

85

Remerciements
Ce document a t rdig avec laide de Samir Adly, Paola Boito et Marc Rybowicz, enseignantschercheurs la facult des sciences et techniques de lUniversit de Limoges. Je remercie en
particulier Paola Boito pour la rdaction de la section 4.4.

86

Bibliographie
[1] Jean-Claude Bajard et Jean-Michel Muller. Calcul et arithmtique des ordinateurs.
Informatique et Systmes dInformation, Hermes Science publications, Lavoisier, 2004.
[2] Jean-Pierre Demailly. Analyse numrique et quations diffrentielles. Collections Grenoble
Sciences, 1991.
[3] Nicolas J. Higham. Acuracy and Stability of Numerical Algorithms. Second Edition,
SIAM, 2002.
[4] Jean-Michel Muller. Arithmtique des ordinateurs. Masson Paris, 1989.
[5] Michelle Schatzman. Analyse numrique, cours et exercices pour la licence. InterEditions,
Paris, 1991.
[6] Alain Yger et Jacques-Arthur Weil. Mathmatiques L3 - Mathmatiques appliques
(Cours complet avec 500 tests et exercices corrigs, 890p et Dvd). Pearson, 2009.

87