Vous êtes sur la page 1sur 83

Calcul matriciel et syst`emes lineaires

Jocelyne Erhel Nabil Nassif Bernard Philippe


DEA Informatique et modelisation
Annee 2004
Beyrouth, Liban
2
Contents
1 Bases de lalg`ebre lineaire 7
1.1 Espaces vectoriels et vecteurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.2 Matrices et vecteurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.2.1 Matrices carrees et matrices particuli`eres . . . . . . . . . . . . . . . . . . . . 7
1.2.2 Operations sur les matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.2.3 Matrices symetriques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.2.4 Partitions par blocs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.3 Produit scalaire et normes vectorielles . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.4 Normes matricielles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.5 Orthogonalite dans R
n
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.6 Image, noyau, rang dune matrice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.6.1 Matrices de rang k . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.6.2 Matrices de rang 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.7 Notions de complexite et de performances . . . . . . . . . . . . . . . . . . . . . . . . 13
1.8 Biblioth`eques BLAS et LAPACK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.8.1 Operations BLAS1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.8.2 Operations BLAS2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.8.3 Operations BLAS3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.8.4 Produit de matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.8.5 biblioth`eque LAPACK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2 Precision 17
2.1 Erreurs de calcul . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.1.1 Sources derreur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.1.2 Mesures de lerreur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.2 Arithmetique ottante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.2.1 Format ottant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.2.2 Arrondis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.2.3 Operations arithmetiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.2.4 Exceptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.2.5 Norme IEEE-754 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.2.6 Phenom`ene dabsorption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.2.7 Phenom`ene de cancellation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.2.8 Extensions de la norme IEEE . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.3 Stabilite des probl`emes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3
2.3.1 Lien avec le residu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.4 Stabilite des algorithmes directs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.4.1 Exemple : produit scalaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.4.2 Exemple : produit exterieur . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3 Valeurs propres et valeurs singuli`eres 27
3.1 Valeurs propres et vecteurs propres . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.2 Valeurs singuli`eres et vecteurs singuliers . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.3 Approximation de rang k et rang numerique . . . . . . . . . . . . . . . . . . . . . . . 30
3.4 Calcul de la SVD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.5 Bidiagonalisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4 Orthogonalisation 33
4.1 Algorithmes de Gram-Schmidt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.2 Algorithme de Gram-Schmidt par blocs . . . . . . . . . . . . . . . . . . . . . . . . . 35
4.3 Procede dArnoldi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
4.4 Algorithme de Lanczos symetrique . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.5 Algorithme de Lanczos non symetrique . . . . . . . . . . . . . . . . . . . . . . . . . . 38
5 Resolution de syst`emes lineaires par des methodes directes 39
5.1 Inverse dune matrice carree et syst`emes lineaires . . . . . . . . . . . . . . . . . . . . 39
5.1.1 Inverse dune matrice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
5.1.2 Matrices particuli`eres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
5.1.3 Resolution dun syst`eme lineaire . . . . . . . . . . . . . . . . . . . . . . . . . 40
5.2 Factorisation LU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
5.2.1 Pivot partiel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
5.2.2 Factorisation par blocs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
5.3 Factorisation de Cholesky . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
5.3.1 Algorithme de factorisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
5.3.2 Stabilite numerique de Cholesky . . . . . . . . . . . . . . . . . . . . . . . . . 45
5.4 Conditionnement dun syst`eme lineaire . . . . . . . . . . . . . . . . . . . . . . . . . . 45
5.4.1 Lien avec le residu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
6 Resolution iterative de syst`emes lineaires 49
6.1 Methodes iteratives lineaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
6.2 Methodes de projection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
6.2.1 Denition dune methode polynomiale . . . . . . . . . . . . . . . . . . . . . . 50
6.2.2 Methodes polynomiales de projection . . . . . . . . . . . . . . . . . . . . . . . 52
6.2.3 Preconditionnement dune methode polynomiale . . . . . . . . . . . . . . . . 52
6.3 Cas o` u A est symetrique denie positive . . . . . . . . . . . . . . . . . . . . . . . . . 53
6.3.1 Methode du Gradient Conjugue . . . . . . . . . . . . . . . . . . . . . . . . . . 53
6.3.2 Lien avec la methode de Lanczos . . . . . . . . . . . . . . . . . . . . . . . . . 55
6.3.3 Convergence de GC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
6.3.4 Convergence superlineaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
6.3.5 Gradient Conjugue Preconditionne . . . . . . . . . . . . . . . . . . . . . . . . 59
6.4 Proprietes des methodes de projection . . . . . . . . . . . . . . . . . . . . . . . . . . 60
4
6.5 Cas o` u A est symetrique indenie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
6.5.1 Methode de Lanczos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
6.5.2 Methode MINRES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
6.5.3 Methode CR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
6.5.4 Methode SYMMLQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
6.6 Cas o` u A est non symetrique - methodes de type gradient conjugue . . . . . . . . . . 64
6.6.1 Methode CGNR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
6.6.2 Methode CGNE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
6.6.3 Convergence de CGNR et CGNE . . . . . . . . . . . . . . . . . . . . . . . . . 65
6.7 Cas o` u A est non symetrique - methode GMRES . . . . . . . . . . . . . . . . . . . . 65
6.7.1 Lien avec la methode dArnoldi . . . . . . . . . . . . . . . . . . . . . . . . . . 66
6.7.2 Convergence de GMRES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
6.7.3 Redemarrage de GMRES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
6.8 Cas o` u A est non symetrique - methodes de gradient bi-conjugue . . . . . . . . . . . 69
6.8.1 Construction de BICG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
6.8.2 Lien avec Lanczos non symetrique . . . . . . . . . . . . . . . . . . . . . . . . 70
6.8.3 Convergence de BICG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
6.8.4 Variantes CGS et BICGSTAB . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
6.9 Cas o` u A est non symetrique - methode QMR . . . . . . . . . . . . . . . . . . . . . . 71
6.10 Probl`emes numeriques dans les methodes de Krylov . . . . . . . . . . . . . . . . . . 72
6.10.1 Perte dorthogonalite et derive du residu . . . . . . . . . . . . . . . . . . . . . 72
6.10.2 Breakdowns et near-breakdowns . . . . . . . . . . . . . . . . . . . . . . . . . 72
6.11 Preconditionnement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
6.11.1 Decomposition de A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
6.11.2 Factorisation incompl`ete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
6.11.3 Preconditionnement polynomial . . . . . . . . . . . . . . . . . . . . . . . . . . 73
6.11.4 Inverse approche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
6.11.5 Multigrille et multiniveaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
6.11.6 Probl`emes approches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
6.11.7 Deation et syst`emes augmentes . . . . . . . . . . . . . . . . . . . . . . . . . 74
7 Cas des grands syst`emes 75
7.1 Stockage des matrices creuses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
7.2 Produit matrice-vecteur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
7.3 Factorisation de Cholesky . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
7.3.1 Stockages bande et prol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
7.3.2 Remplissage dans le stockage compact . . . . . . . . . . . . . . . . . . . . . . 76
7.3.3 Factorisation symbolique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
7.3.4 Renumerotation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
7.4 Factorisation LU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
5
6
Chapter 1
Bases de lalg`ebre lineaire
Ce chapitre introduit les notations et les operations de base sur lalg`ebre des matrices. Il se termine
par des notions de complexite et de performances et par la description des biblioth`eques BLAS et
LAPACK.
1.1 Espaces vectoriels et vecteurs
On note R
n
un espace vectoriel de dimension n.
La base canonique de R
n
est (e
1
, . . . , e
n
).
Un vecteur x R
n
, de composantes x
1
, . . . , x
n
, est note x = (x
i
).
Les vecteurs sont notes verticalement.
1.2 Matrices et vecteurs
Une matrice A R
mn
est notee A = (a
ij
).
Le j
eme
vecteur colonne de A est a
j
= Ae
j
.
Un syst`eme de n vecteurs u
1
, . . . , u
n
R
m
est note sous forme matricielle U = (u
1
. . . u
n
) R
mn
,
avec u
j
le j
eme
vecteur colonne de U.
On note V ect(U) le sous-espace vectoriel (sev) engendre par les vecteurs colonnes de U.
Si U est un syst`eme libre de k vecteurs, V ect(U) est un sev de dimension k.
1.2.1 Matrices carrees et matrices particuli`eres
Une matrice A R
mn
est carree dordre n si n = m.
La trace dune matrice carree A dordre n est la somme de ses elements diagonaux : tr(A) =

n
i=1
a
ii
.
Le determinant dune matrice carree A dordre n est note det(A).
La matrice identite dordre k, dans R
kk
, vaut I
k
= (e
1
. . . e
k
).
Une matrice carree D est diagonale si les seuls elements non nuls sont sur la diagonale ; elle est
notee D = diag(d
i
), o` u d = (d
i
) est le vecteur forme par les elements diagonaux.
Une matrice carree L triangulaire inferieure si les seuls elements non nuls sont dans le triangle
inferieur ; on denit de meme une matrice carree U triangulaire superieure.
7
Une matrice tridiagonale a trois diagonales non nulles, une matrice bidiagonale a deux diagonales
non nulles.
1.2.2 Operations sur les matrices
Lensemble des matrices R
mn
est un espace vectoriel de dimension mn.
Soit A R
mn
et B R
np
; le produit C = AB R
mp
est deni par c
ij
=

n
k=1
a
ik
b
kj
.
Lensemble des matrices carrees R
nn
est un anneau.
Lanneau nest pas commutatif (il existe A et B tels que AB ,= BA).
Lanneau nest pas int`egre (il existe des diviseurs de zero : il existe A et B tels que AB = 0).
Une matrice carree A est inversible sil existe une matrice B telle que AB = I
n
. Si B existe,
alors BA = I
n
, B est unique, cest linverse de A et on note B = A
1
.
Lanneau nest pas un corps (il existe des matrices non inversibles, dites singuli`eres).
Le produit de deux matrices diagonales est une matrice diagonale.
Le produit de deux matrices triangulaires est une matrice triangulaire.
1.2.3 Matrices symetriques
La transposee A
T
dune matrice carree A est la matrice obtenue en interchangeant les lignes et les
colonnes. Soit A = (a
ij
) et B = A
T
= (b
ij
), on a donc b
ij
= a
ji
.
Une matrice carree A est symetrique si A = A
T
.
Les matrices A
T
A et AA
T
sont symetriques.
On a (A
T
)
T
= A et (AB)
T
= B
T
A
T
.
1.2.4 Partitions par blocs
Une matrice par blocs est denie par une partition o` u les elements scalaires sont regroupes dans
des sous-matrices ; on note A = A
ij
.
On denit les memes r`egles doperations, en respectant les dimensions dans les produits. At-
tention ` a lordre des blocs dans les produits.
1.3 Produit scalaire et normes vectorielles
Le produit scalaire de deux vecteurs x et y est x
T
y =

n
i=1
x
i
y
i
.
Soit x = (x
i
), on a x
i
= e
T
i
x.
Soit A = (a
ij
), on a a
ij
= e
T
i
Ae
j
.
Dans le cas de vecteurs complexes, le produit scalaire hermitien est deni par
(x, y) C
n
C
n
x

y =
n

i=1
x
i
y
i
,
o` u le surlignage dune grandeur indique quon en consid`ere le conjugue.
Il est possible de denir plusieurs normes dans lespace vectoriel R
n
.
8
Denition 1.3.1 Une norme dun espace vectoriel E est une application |.| de E dans R
+
qui
verie les proprietes suivantes :
x E, |x| 0,
R, x E, |x| = [[|x|,
x, y E, |x +y| |x| +|y|.
Dans R
n
, les trois normes les plus courantes sont la norme innie, la norme 1 et la norme euclidi-
enne.
norme innie : |x|

= max
i=1,,n
[x
i
[,
norme 1 : |x|
1
=

n
i=1
[x
i
[,
norme 2 ou norme euclidienne : |x|
2
=

x
T
x =

n
i=1
x
i
2
o` u x = (x
1
, , x
n
)
T
.
La norme euclidienne est donc denie par le produit scalaire x
T
y.
Les vecteurs de la base canonique sont normes : |e
j
|
2
= 1.
Proposition 1.3.1 Inegalite de Cauchy-Schwarz :
(x, y) R
n
R
n
, [x
T
y[ |x|
2
|y|
2
. (1.1)
legalite a lieu si et seulement si les vecteurs x et y sont lies.
Preuve. Laissee en exercice.
Comme toutes les normes dun espace de dimension nie, ces trois normes sont equivalentes.
Les constantes qui les relient sont donnees dans la proposition suivante.
Proposition 1.3.2 Pour tout vecteur x R
n
, on a les inegalites :
|x|
2
|x|
1

n|x|
2
, (1.2)
|x|

|x|
2

n|x|

, (1.3)
|x|

|x|
1
n|x|

. (1.4)
Preuve. Laissee en exercice.
1.4 Normes matricielles
Denition 1.4.1 On suppose que lon a choisi une norme dans chacun des deux espaces R
n
et
R
m
. On denit alors la norme matricielle subordonnee dans lespace des matrices R
mn
par
A R
mn
, |A| = max
x=1
|Ax|.
Lorsque les normes 1, 2 ou innie sont respectivement choisies pour les deux ensembles ` a la fois,
on note les normes subordonnees correspondantes de la meme mani`ere.
9
Proposition 1.4.1 Soit A = (a
ij
) R
mn
. Alors :
|A|
1
= max
j=1,,n
m

i=1
[a
ij
[, (1.5)
|A|

= max
i=1,,n
m

j=1
[a
ij
[. (1.6)
Preuve. Laissee en exercice.
Remarque 1.4.1 La norme matricielle euclidienne nest pas simple ` a calculer dans le cas general,
contrairement aux autres normes. Voir le chapitre sur les valeurs singuli`eres.
Proposition 1.4.2 Dans certains cas particuliers, la norme des matrices est connue.
|I|
2
= 1
|D|
2
= max
i
[d
i
[
Denition 1.4.2 Une norme matricielle de R
nn
est une norme qui verie
A, B R
nn
, |AB| |A||B|.
Proposition 1.4.3 Les normes subordonnees sont des normes matricielles.
La norme de Frobenius est la norme prise au sens de lespace vectoriel de dimension mn.
Denition 1.4.3 Pour toute matrice A = (a
ij
) R
nm
, on denit sa norme de Frobenius par :
|A|
F
=

_
n

i=1
m

j=1
a
ij
2
,
=
_
tr(A
T
A),
o` u la trace dune matrice est egale `a la somme de ses elements diagonaux.
Proposition 1.4.4 La norme de Frobenius est une norme matricielle. Elle verie les inegalites
suivantes
|A|
2
|A|
F

n|A|
2
,
|AB|
F
|A|
F
|B|
2
,
|AB|
F
|A|
2
|B|
F
,
|AB|
F
|A|
F
|B|
F
,
pour tout couple de matrices (A, B) R
nm
R
mp
.
Preuve. Laissee en exercice.
10
1.5 Orthogonalite dans R
n
Denition 1.5.1 x y x
T
y = 0
Denition 1.5.2 cos(angle(x, y)) =
x
T
y
x
2
y
2
Proposition 1.5.1 Theor`eme de Pythagore :
Si x y, alors |x +y|
2
2
= |x|
2
2
+|y|
2
2
.
Denition 1.5.3 Soit S un sous-espace vectoriel de R
n
. Lorthogonal de S est deni par
S

= y/y
T
x = 0, x S.
Proposition 1.5.2 S

est un sous-espace vectoriel et les sous-espaces S et S

sont supplementaires.
Denition 1.5.4 U = (u
1
u
k
) R
nk
, k n est un syst`eme orthonorme ssi u
T
i
u
j
=
ij
ssi
U
T
U = I
k
.
Remarque 1.5.1 Attention, si k < n, on a UU
T
,= I
n
.
Proposition 1.5.3 Un syst`eme orthonorme forme un syst`eme libre.
Remarque 1.5.2 (e
1
, . . . , e
n
) est une base orthonormee de R
n
.
Proposition 1.5.4 Theor`eme de la base incompl`ete. Soit U un syst`eme orthonorme de taille k.
On peut completer U par U
1
de taille n k, pour former une base orthonormee de R
n
. Le syst`eme
U
1
est une base orthonormee de U

. Alors U
T
1
U
1
= I
nk
et U
T
U
1
= 0. Tout vecteur x secrit
x = UU
T
x +U
1
U
T
1
x.
Proposition 1.5.5 U R
nk
, k n syst`eme orthonorme, alors
|U|
2
= 1.
x R
k
, |Ux|
2
= |x|
2
,
A R
kp
, |UA|
2
= |A|
2
.
Attention, si k < n, on a |AU|
2
,= |A|
2
.
Preuve. |Ux|
2
2
= (Ux)
T
(Ux) = x
T
(U
T
U)x = x
T
x = |x|
2
2
|UA|
2
= max
x
2
=1
|UAx|
2
= max
x
2
=1
|Ax|
2
= |A|
2
.
Denition 1.5.5 Une matrice carree Q R
nn
est orthogonale ssi Q
T
Q = I
n
. Les colonnes de
Q forment une base orthonormee de R
n
.
Proposition 1.5.6 Q R
nn
matrice orthogonale, alors Q est inversible, Q
T
est orthogonale et
Q
T
Q = QQ
T
= I
n
, Q
1
= Q
T
.
|Q|
2
= 1.
A R
np
, |QA|
2
= |A|
2
,
A R
mn
, |AQ|
2
= |A|
2
.
11
Preuve. |AQ|
2
= max
x
2
=1
|AQx|
2
= max
y
2
=1
|Ay|
2
= |A|
2
car Qest inversible (y, x, Qx =
y) et |Qx|
2
= |x|
2
.
Proposition 1.5.7 Q R
nn
avec |Q|
2
= 1, alors Q est orthogonale. Autrement dit, une matrice
carree qui converve les normes est orthogonale.
Preuve. (Qx)
T
(Qx) = x
T
(Q
T
Q)x = x
T
x donc (Q(x + y))
T
Q(x + y) = (x + y)
T
(x + y) et
(Qx)
T
(Qy) = x
T
y.
Do` u e
T
i
(Q
T
Q)e
i
= 1 et e
T
j
(Q
T
Q)e
i
= 0, i ,= j donc Q
T
Q = I
n
et Q est orthogonale.
1.6 Image, noyau, rang dune matrice
A R
mn
.
Denition 1.6.1 Im(A) = y R
m
/y = Ax = V ect(a
1
, a
2
, , a
n
)
ker(A) = x R
n
/Ax = 0
Proposition 1.6.1 Im(A) est un sev de R
m
et ker(A) est un sev de R
n
.
Denition 1.6.2 rang(A) = dim(Im(A)).
Proposition 1.6.2 Im(A)

= ker(A
T
) et Im(A
T
) = ker(A)

.
Preuve. y Im(A)

x, (Ax)
T
y = 0 x, x
T
(A
T
y) = 0 A
T
y = 0 y ker(A
T
).
Proposition 1.6.3 rang(A) = rang(A
T
)
dim(ker(A)) +rang(A) = n
dim(ker(A
T
)) +rang(A
T
) = m
rang(A) min(m, n).
Preuve. Soit r = rang(A
T
), on va montrer que rang(A) r. Par transposition, on en deduira
que r = rang(A).
Soit X = x
1
, . . . , x
r
une base de Im(A
T
) et Y = AX. Par construction, Y Im(A). On va
montrer que Y est un syst`eme libre, ce qui implique que r rang(A). Pour cela, on va montrer
que Y v = 0 v = 0.
Y v = 0 AXv = 0 Xv ker(A). Or ker(A) = Im(A
T
)

donc Xv Im(A
T
)

. Mais X
est une base de Im(A
T
) donc Xv Im(A
T
). Donc Xv = 0 et puisque X est une base, v = 0.
Dapr`es la proposition precedente, on a dim(ker(A)) + rang(A
T
) = n, on en deduit legalite
avec rang(A).
Proposition 1.6.4 rang(A) = n ker(A) = 0.
Preuve.

Evident dapr`es ce qui prec`ede.

Denition 1.6.3 Soit A R


mn
une matrice rectangulaire avec m n ; A est dite de rang plein
si rang(A) = n.
Proposition 1.6.5 rang(AB) rang(A), rang(AB) rang(B)
Preuve. ker(B) ker(AB) donc rang(AB) rang(B).
rang((AB)
T
) = rang(B
T
A
T
) = rang(AB) rang(A
T
) = rang(A).
12
1.6.1 Matrices de rang k
Proposition 1.6.6 Soit U = (u
1
. . . u
k
) et V = (v
1
. . . v
k
) deux syst`emes libres de R
m
et de R
n
respectivement, alors UV
T
R
mn
et
ker(UV
T
) = V

, Im(UV
T
) = V ect(U), rang(UV
T
) = k.
Reciproquement, si A est une matrice de rang k, il existe U = (u
1
. . . u
k
) base de Im(A) et V =
(v
1
. . . v
k
) base de ker(A)

tels que A = UV
T
.
Preuve. Soit A = UV
T
, alors x ker(A) UV
T
x = 0 V
T
x = 0 x V

donc
ker(A) = V

. On en deduit que rang(A) = k car dim(V



) = nk. Dautre part, Im(A) Im(U)
do` u, par egalite des dimensions, Im(A) = Im(U).
Reciproquement, soit V R
nk
une base orthonormee de ker(A)

, completee par V
1
dans
ker(A). Alors x, x = V V
T
x + V
1
V
T
1
x et Ax = AV V
T
x. Soit U = AV , alors Ax = UV
T
x donc
A = UV
T
. De plus, U est un syst`eme libre car Uy = 0 AV y = 0 V y ker(A) ker(A)


y = 0, donc U est une base de Im(A).
1.6.2 Matrices de rang 1
En particulier, les matrices de rang 1 sont de la forme xy
T
, o` u x et y sont deux vecteurs non nuls.
Proposition 1.6.7 Si v
T
u ,= 0, la transformation P =
1
v
T
u
uv
T
est la projection sur la droite
engendree par le vecteur u orthogonalement au vecteur v. Si de plus u = v, la projection P est une
projection orthogonale.
Preuve. Il est evident que Pu = u et Pw = 0 pour tout wv. Puisque R
n
= (u) (v)

, la
projection P est caracterisee. Si u = v, la projection P =
1
u
2
2
uu
T
est la projection orthogonale
sur (u).
Remarque 1.6.1 Si uv, alors la transformation N = uv
T
est nilpotente, de noyau lhyperplan
orthogonal `a v.
Proposition 1.6.8 Si v
T
u ,= 0, la transformation Q = I
1
v
T
u
uv
T
est la projection sur lhyperplan
(v)

parall`element ` a la droite engendree par le vecteur u. Si de plus u = v, la projection Q est la


projection orthogonale sur lhyperplan (u)

.
Preuve.

Evident.
1.7 Notions de complexite et de performances
Les algorithmes de calcul sont caracterises par leur complexite arithmetique, mesuree par le nombre
doperations (additions, multiplications, etc) sur des reels, ainsi que par leur co ut de stockage,
mesure par le nombre de variables reelles. Le stockage des nombres entiers et les calculs sur les
nombres entiers sont dun co ut marginal, qui est ignore. En pratique, les operations arithmetiques
et le stockage se font sur des nombres ottants (voir chapitre sur larithmetique ottante). Les
operations inutiles, telles quune multiplication par zero ou par un, ne sont pas comptabilisees.
13
Les performances dun algorithme se mesurent par sa vitesse de calcul. Celle-ci depend de la
complexite mais aussi de lexploitation de larchitecture de lordinateur, notamment du parallelisme
interne et de la hierarchie des memoires.
Pour la complexite, on donnera souvent le terme predominant, du plus grand ordre. Pour
une complexite polynomiale, ce terme est ecrit sous la forme O(n
k
). Cela signie que le nombre
doperations N divise par n
k
tend vers une constante quand n tend vers linni.
La plupart des algorithmes dalg`ebre lineaire ont une complexite polynomiale, par exemple
N = an
3
+bn
2
+cn +d. On a pour cet exemple N = O(n
3
) = an
3
+O(n
2
).
1.8 Biblioth`eques BLAS et LAPACK
Les operations de base dalg`ebre lineaire sont regroupees dans une biblioth`eque numerique appelee
BLAS : Basic Linear Algebra Subroutines. Cette biblioth`eque est souvent fournie par le construc-
teur et optimisee pour une architecture donnee. Les operations sont divisees en trois niveaux,
appeles BLAS1, BLAS2, BLAS3. Loptimisation concerne lordre des operations et lacc`es `a la
memoire, pour exploiter au mieux la hierarchie (memoire principale, memoire cache, etc). Les
performances (vitesse de calcul) sont dautant meilleures que le niveau est eleve.
Les operations plus complexes sont regroupees dans la biblioth`eque numerique appelee LA-
PACK : Linear Algebra Package. Les operations de LAPACK utilisent au maximum les operations
BLAS, surtout BLAS3, qui est le plus performant en temps de calcul.
1.8.1 Operations BLAS1
Ce niveau concerne les operations entre vecteurs. Quelques exemples :
combinaison lineaire de vecteurs z = a x +b y, 3n operations.
produit scalaire de vecteurs a = a +x
T
y, 2n operations.
produit de matrices diagonales, n operations.
Toutes les operations BLAS1 ont une complexite en O(n) operations ottantes et un acc`es
memoire en O(n) mots ottants.
Il ny a quun niveau de boucle.
1.8.2 Operations BLAS2
Ce niveau concerne les operations entre matrices et vecteurs. Quelques exemples :
produit matrice-vecteur y = y +A x, 2mn operations.
produit exterieur de vecteurs A = xy
T
, mn operations.
Dans le cas de matrices carrees dordre n, toutes les operations BLAS2 ont une complexite en
O(n
2
) et un acc`es memoire en O(n
2
).
Il y a deux niveaux de boucle imbriques, ce qui permet de construire deux variantes suivant
lordre des boucles. On peut ainsi choisir un calcul par lignes ou par colonnes. On peut aussi denir
une partition de la matrice et eectuer les operations par blocs, pour optimiser lacc`es hierarchique
`a la memoire.
14
Soit Q = I
1
v
T
u
uv
T
la matrice de projection de rang 1 denie precedemment. Il est `a noter
que
Qx = x
1
v
T
u
uv
T
x = x
1
v
T
u
(v
T
x)u.
Il est inutile et co uteux de calculer la matrice Q. En eet, le produit Qx est une operation matrice-
vecteur de type BLAS2 et de complexite O(nm), alors que lexpression ci-dessus nutilise que des
operations vectorielles de type BLAS1 et de complexite O(n) ou O(m).
1.8.3 Operations BLAS3
Ce niveau concerne les operations entre matrices. Quelques exemples :
produit de matrices C = C +A B, 2mnp operations.
produit C = C +AA
T
, 2mn
2
operations.
Dans le cas de matrices carrees dordre n, toutes les operations BLAS3 ont une complexite en
O(n
3
), avec un acc`es memoire en O(n
2
).
Les trois niveaux de boucle imbriques permettent de denir six variantes suivant lordre des
boucles. On peut choisir de parcourir chacune des matrices par lignes ou par colonnes. Comme
dans le niveau BLAS2, on optimise lacc`es `a la memoire en denissant une partition par blocs. De
plus, comme lalgorithme fait plus doperations arithmetiques que dacc`es aux donnees, on peut
re-utiliser des valeurs qui sont dans la memoire cache. Cest pour cette raison que le niveau 3 est
le plus performant et permet presque datteindre la performance maximale dune machine.
1.8.4 Produit de matrices
Le produit de matrices est loperation la plus utilisee dans BLAS3. Lanalyse suivante montre
comment organiser les calculs pour exploiter la hierarchie de memoires. On suppose que les calculs
sont eectues sur un processeur qui poss`ede une memoire cache. Les matrices sont partitionnees
par blocs et lobjectif est de determiner la taille des blocs pour utiliser au mieux la memoire cache.
Cette etude est une adaptation au cas monoprocesseur de [17].
Soit M la taille du cache. Nous supposons que les matrices A, B et C sont respectivement de
taille n
1
n
2
, n
2
n
3
et n
1
n
3
, et quelles ont ete partitionnees en blocs de tailles respectives
m
1
m
2
, m
2
m
3
et m
1
m
3
. On suppose n
i
= m
i
k
i
pour tout i = 1, 2, 3. Lobjet de letude
est alors de trouver les valeurs m
i
qui utilisent au mieux le cache, cest-` a-dire qui permettent le
plus de reutilisation des donnees.
Loperation C = A B peut secrire par blocs
do i = 1, k1
do k = 1, k2
do j = 1, k3
Cij := Cij + Aik * Bkj
enddo
enddo
enddo
15
Dans la boucle interne j, le bloc A
ik
reste le meme; on suppose donc quil reside dans le cache; sa
taille est m
1
m
2
. Cela entrane la premi`ere contrainte :
m
1
m
2
M
Il est evident que les blocs sont plus petits que les matrices, ce que lon traduit par 1 m
i
n
i
pour i = 1, 2, 3. On a ainsi obtenu lensemble des contraintes sous lesquelles on doit minimiser
les mouvements de donnees entre la memoire et le cache.
Si on calcule le nombre de lectures necessaires pour avoir en cache les variables necessaires au
produit, on trouve que la matrice A est lue une fois, la matrice B lest k
1
fois et la matrice C lest
k
2
fois. Au total, le nombre des lectures est:
L = n
1
n
2
+n
1
n
2
n
3
(
1
m
1
+
1
m
2
)
Il reste donc `a trouver les valeurs m
1
et m
2
qui minimisent
1
m
1
+
1
m
2
sous les contraintes precedentes.
On en arrive ` a la politique suivante (le choix de m
3
est sans importance):
1. si n
2
n
1
M alors m
1
= n
1
et m
2
= n
2
;
2. sinon si n
2

M alors m
1
=
M
n
2
et m
2
= n
2
;
3. sinon si n
1

M alors m
1
= n
1
et m
2
=
M
n
1
4. sinon m
1
=

M et m
2
=

M.
1.8.5 biblioth`eque LAPACK
La biblioth`eqe LAPACK regroupe la plupart des algorithmes dalg`ebre lineaire. Elle contient
toutes les fonctions pour resoudre les syst`emes lineaires, les probl`emes aux moindres carres, la
decomposition aux valeurs singuli`eres, les probl`emes de valeurs propres.
LAPACK est la meilleure reference pour lalg`ebre lineaire sur matrices stockees sous format
plein ou sous format bande. Elle est disponible sur le site NETLIB (http://www.netlib.org) et le
manuel dutilisation est edite [1].
LAPACK utilise une partition par blocs des matrices, de facon ` a exploiter les performances des
operations BLAS3. Dautre part, les algorithmes sont robustes vis-` a-vis des erreurs darrondi et
il est possible destimer la sensibilite aux variations des donnees (voir chapitre sur larithmetique
ottante).
Les chapitres suivants decriront divers exemples dalgorithmes de la biblioth`eque LAPACK.
16
Chapter 2
Precision
2.1 Erreurs de calcul
2.1.1 Sources derreur
Resoudre un probl`eme signie trouver une solution x qui depend de donnees a et de formules. Ces
formules sont issues en general dune modelisation dun probl`eme scientique (en physique, chimie,
biologie, economie, etc). Nous ne discutons pas ici de lerreur de modelisation qui est lecart entre
le phenom`ene reel et le phenom`ene simule. Dans la suite, les variables x et a appartiennent ` a des
espaces vectoriels normes et il existe une fonction F telle que le probl`eme secrive
F(x, a) = 0.
En general, il nest possible de resoudre quun probl`eme approche. Ce probl`eme discret, formule
en dimension nie, doit etre resolu par un algorithme, qui peut etre direct ou iteratif. Enn,
lalgorithme est execute sur un ordinateur avec une precision nie. Dans le resultat dun calcul
scientique, il apparat ainsi plusieurs sources derreur :
lerreur due ` a lapproximation des donnees,
lerreur dapproximation ou de discretisation,
lerreur due ` a lalgorithme sil est iteratif,
lerreur darrondi due ` a la precision nie.
Les dierentes sources derreur interf`erent avec les erreurs darrondi lors dun calcul. Par exem-
ple, la resolution dun probl`eme tr`es sensible aux variations sur les donnees donne lieu ` a des calculs
avec de grandes erreurs darrondi.
2.1.2 Mesures de lerreur
Tout calcul devrait saccompagner dune estimation des erreurs dapproximation commises. Pour
mesurer celles-ci, nous denissons les erreurs absolues et relatives, ainsi que la notion de chires
signicatifs.
Denition 2.1.1 Soit x R et x R une approximation de x. Lerreur absolue sur x est [x x[.
Si x ,= 0, lerreur relative est [x x[/[x[.
17
Denition 2.1.2 Le nombre de chires signicatifs de x est le nombre de chires ` a partir du
premier chire non nul.
Par exemple, le nombre de chires signicatifs de x = 0.0034560 est 5. Lerreur relative sur
x = 0.00346 vaut environ 1.16 10
3
et le nombre de chires signicatifs exacts est ici 2.
Dans le cas de vecteurs, on denit les erreurs sur les normes ou les erreurs composante par
composante.
Denition 2.1.3 Soit x R
n
, x R
n
une approximation de x et |.| une norme denie sur R
n
.
Lerreur absolue sur la norme est |x x|.
Si x ,= 0, lerreur relative sur la norme est |x x|/|x|.
Si x
i
,= 0, i = 1, . . . , n, lerreur relative composante par composante est max
1in
[x
i
x
i
[/[x
i
[.
2.2 Arithmetique ottante
Avant danalyser limpact des erreurs darrondi et des dierentes sources derreur sur des calculs,
nous allons detailler les caracteristiques arithmetiques dun ordinateur. Larithmetique ottante
est denie en details dans plusieurs ouvrages, citons par exemple [3, 8, 9, 10, 22, 25].
Un logiciel de calcul scientique utilise plusieurs types de variables, qui correspondent ` a un
codage specique. Les types arithmetiques les plus usuels sont le type entier, le type reel et le type
complexe. Un complexe est forme de deux reels, la partie reelle et la partie imaginaire. Un reel est
code par un nombre ottant.
2.2.1 Format ottant
Denition 2.2.1 Un syst`eme ottant est deni par une base b, un exposant minimal e
min
, un
exposant maximal e
max
, un nombre de chires p. Lensemble des nombres ottants normalises est
note F. Un nombre ottant non nul normalise est
x = (1)
s
mb
e
o` u s 0, 1 est le bit de signe, lexposant e est un entier tel que e
min
e e
max
, la mantisse m
verie 1 m < b et secrit
_
m = a
0
+a
1
b
1
+a
2
b
2
+. . . +a
p
b
p
avec 0 a
i
b 1 i = 0, ..p et a
0
,= 0
Par convention, le nombre 0 a un exposant et une mantisse nuls.
Proposition 2.2.1 Lensemble F est symetrique par rapport ` a 0.
Le plus grand nombre de F vaut
x
max
= b
emax
(b b
p
)
et le plus petit nombre strictement positif vaut
u = b
e
min
de sorte que
F R
F
= [x
max
, u] 0 [u, x
max
].
Lensemble des nombres entiers de lintervalle [x
max
, x
max
] est inclus dans F.
18
Remarque 2.2.1 Nous ne denissons pas ici les nombres denormalises qui sont des nombres ot-
tants dans lintervalle ] u, u[.
Lecart minimal entre deux mantisses consecutives est b
p
. Ce nombre caracterise la precision
du syst`eme ottant.
Denition 2.2.2 Le nombre = b
p
est appele la precision du syst`eme ottant.
La proposition suivante determine les deux nombres ottants qui encadrent un nombre reel.
Proposition 2.2.2 Tout reel de R
F
est encadre par deux ottants consecutifs. Soit
x

= maxy F, y x et x
+
= miny F, y x.
Il nexiste pas de ottant entre x

et x
+
et 0 x
+
x

[x[.
Preuve. Si x F, x

= x
+
= x.
Soit x R
F
, x , F, x > u, soit x

= b
e
m alors m 1, x

< x et x
+
= b
e
(m+ ) = x

+b
e
.
Donc 0 x
+
x

= b
e
b
e
m x.
Le cas x < u se traite de la meme facon.
On peut remarquer que le nombre ottant qui prec`ede lentier 1 vaut 1 /b et celui qui le suit
vaut 1 +.
2.2.2 Arrondis
Denition 2.2.3 Un arrondi est une application fl de R
F
dans F veriant les proprietes de mono-
tonie et de projection suivantes.
x, y R
F
, x y fl(x) fl(y),
x F, fl(x) = x.
Tout arrondi est deni ` a laide des deux ottants x
+
et x

.
Proposition 2.2.3 Tout arrondi fl verie
x R
F
, fl(x) = x
+
ou fl(x) = x

x R
F
, [fl(x) x[ [x[
Preuve. Par denition, x

x x
+
, do` u par monotonie et par projection x

fl(x) x
+
.
Or il nexiste aucun ottant strictement compris entre x
+
et x

donc fl(x) est egal `a lun des deux.


la deuxi`eme partie se deduit de la proposition 2.2.2.
19
2.2.3 Operations arithmetiques
Lensemble F est non clos pour les operations arithmetiques de R et il faut donc denir le resultat
ottant dune operation ottante. Soit fl larrondi choisi.
Denition 2.2.4 Soit lune des 4 operations +, , , / dans R. Loperation ottante corre-
spondante est correcte pour larrondi fl si elle satisfait la propriete
x, y F tels que x y R
F
, x y = fl(x y), (2.1)
o` u fl designe un mode darrondi. Autrement dit, le resultat ottant est larrondi du resultat exact,
sil ny a pas de depassement de capacite.
Proposition 2.2.4 Si loperation est correcte, alors
x, y F tels que x y R
F
, x y = (x y)(1 +) avec [[ .
Proposition 2.2.5 Les proprietes des operations sur les nombres reels ne sont pas toutes veriees
avec les nombres ottants.
Les operations ottantes sont commutatives,
elles ne sont pas associatives,
elles ne sont pas distributives,
0 est element neutre de laddition ottante et 1 est element neutre de la multiplication ot-
tante,
loppose de x F existe et vaut x,
par contre x F na pas toujours dinverse dans F.
Par exemple, avec Matlab, 49 (1/49) = 1 /2.
2.2.4 Exceptions
Il peut arriver que le resultat exact dune operation ne soit pas dans R
F
. Pour fermer le syst`eme
arithmetique ottant, lensemble F est dote de nombres speciaux, notes +, , NaN (Plus
linni, Moins linni, Not a Number). Le nombre 0 a un signe. Les operations sont denies avec
ces nombres speciaux. Une operation ayant pour resultat un des nombres speciaux declenche une
exception.
Denition 2.2.5 Soit z R le resultat exact dune operation arithmetique entre deux ottants x
et y ; il y a overow si [z[ > x
max
et underow si [z[ < u. Le resultat ottant est respectivement
et 0 avec le signe adequat. Loperation est invalide si le resultat ne peut etre ni un ottant, ni
linni. Le resultat ottant dune operation invalide est NaN.
Remarque 2.2.2 Les nombres denormalises permettent de mettre en place un underow graduel
vers 0.
Par exemple, les operations
0
0
et (+) sont invalides, avec comme resultat NaN. Loperation
1
0
declenche un overow avec comme resultat et loperation
1

declenche un underow avec


comme resultat 0.
20
Type Base b Mantisse p Exposant e
min
Exposant e
max
Simple 2 24 -126 +127
Double 2 53 -1022 +1023
Table 2.1: Formats simple et double precision de la norme IEEE-754
Type precision Seuil doverow x
max
Seuil dunderow u
Simple 10
7
10
+38
10
38
Double 10
16
10
+308
10
308
Table 2.2: Valeurs caracteristiques approchees des formats simple et double precision de la norme
IEEE-754
2.2.5 Norme IEEE-754
La norme IEEE-754 [39], publiee en 1985, specie un syst`eme ottant et larithmetique ottante
associee. La plupart des constructeurs respectent aujourdhui cette norme, ce qui facilite grande-
ment le transfert de logiciels entre machines. Cette norme permet aussi detablir des preuves sur
le comportement des erreurs darrondi dans un algorithme.
La norme IEEE-754 specie deux formats, appeles simple et double precision, qui sont resumes
dans les tables 2.2.5 et 2.2.5. La norme denit 4 arrondis.
Denition 2.2.6 Larrondi vers moins linni de x vaut x

,
larrondi vers plus linni de x vaut x
+
,
larrondi vers zero ou par troncature de x vaut x
+
si x < 0 et x

si x > 0,
larrondi au plus pr`es de x vaut x

si x x

< x
+
x, il vaut x
+
sinon. Dans le cas degalite,
une r`egle de parite xe le choix.
Remarque 2.2.3 Larrondi par defaut est larrondi au plus pr`es, note x dans ce qui suit. Il verie
[x x[ [x[/2.
Les 4 operations arithmetiques +, , , / ainsi que la racine carree et loperation de congru-
ence (remainder) sont correctes.
Les exceptions overow, underow, invalide, inexact ainsi que les nombres speciaux et les
operations entre nombres speciaux sont egalement species par la norme. Les operations continuent
apr`es une exception. La norme utilise les nombres denormalises et lunderow graduel.
2.2.6 Phenom`ene dabsorption
Labsorption se produit lors de laddition de deux quantites avec des ordres de grandeur tr`es
dierents.
Proposition 2.2.6 Soit x, y F, tels que u < [x[ < x
max
et x + y R
F
. Soit x = b
e
m avec
m 1 +. Soit laddition ottante, avec arrondi au plus pr`es. Alors
x y = x [y[ b
e
/2
Preuve. Le resultat est immediat par denition de larrondi.
21
Ce resultat conduit ` a la denition suivante.
Denition 2.2.7 Soit deux reels x et y dans R
F
. Il y a absorption de y par x si
[y[ [x[ /2.
Le resultat dune addition apr`es absorption est en general le plus grand des deux operandes.
Par exemple, en double precision, le resultat ottant de 1 +10
16
est 1 donc le resultat ottant
de (1+10
16
)1 vaut 0. Ici, le phenom`ene dabsorption est associe `a un phenom`ene de cancellation,
decrit ci-dessous.
Un exemple classique dabsorption se produit lors du calcul de la somme S
n
=

n
i=1
1/i
par lalgorithme avec indices croissants S
n+1
= S
n
+ 1/(n + 1), si bien que cette serie converge
numeriquement avec larithmetique ottante. Un changement dalgorithme avec un ordre de som-
mation dierent permet de retrouver la divergence de la serie. Pour plus de details, voir par exemple
[22].
2.2.7 Phenom`ene de cancellation
Ce phenom`ene se produit lors de la soustraction de deux nombres voisins. Il faut alors renormaliser
le resultat car les chires de gauche seliminent (do` u le nom cancellation). On dit aussi elimination.
Les chires de droite deviennent les premiers chires signicatifs. Si les operandes sont exacts, la
cancellation est benigne car la soustraction est en general exacte. Mais si les operandes sont
entaches derreur, lordre de grandeur du resultat exact est celui des incertitudes, donc le resultat
ottant risque de navoir aucun sens ; la cancellation est dite catastrophique. Il faut noter que la
cancellation est un revelateur des erreurs precedentes.
Denition 2.2.8 Soit x et y deux reels dans R
F
. Il y a elimination de x et y si
0 < [x y[ /2 ([x[ +[y[)
Soit x(1 +) et y(1 +) deux approximations de x et y et soit E lerreur relative commise sur
la soustraction x y. Alors
E =
[x y[
[x y[
F, avec F = max[[, [[
[x[ +[y[
[x y[
.
Dans le cas de cancellation, F 2 max[[, [[/ donc lerreur relative E risque detre superieure
`a 1.
Par exemple, en base 10, 3.1451 3.1449 = 0.0002 = 210
4
mais, si lon arrondit les operandes
`a deux chires apr`es la virgule, on obtient 3.15 3.14 = 0.01 = 110
2
soit un resultat avec deux
ordres de grandeur en trop.
De mani`ere generale, il y a cancellation catastrophique entre plusieurs nombres si la somme de
ces nombres est beaucoup plus petite que la somme de leurs valeurs absolues, autrement dit si
0 < [

x
i
[ /2 (

[x
i
[)
22
2.2.8 Extensions de la norme IEEE
Le calcul precis des fonctions mathematiques usuelles telles que lexponentielle nest toujours pas
compl`etement resolu [29]. Il nexiste toujours pas de norme ` a ce sujet, qui reste un domaine de
recherche.
La norme IEEE denit la simple et la double precision. En fait, de nombreux ordinateurs
proposent aussi une precision etendue pour les calculs intermediaires grace `a des registres de 80
bits. Lanalyse dune approche hybride utilisant dierentes precisions lors des calcul reste aussi un
sujet de recherche [25].
Parfois, il est necessaire de garantir une tr`es grande precision, cest pourquoi il existe des bib-
lioth`eques darithmetique dite multi-precision, o` u la precision des calculs peut etre arbitrairement
grande [3]. Neanmoins, la precision reste nie et des erreurs darrondi sont ineluctables. La precision
innie est apportee par le calcul formel tant quil manipule des symboles et des formules. Mais
levaluation dune formule se fait de nouveau en precision nie. Il est important de comprendre les
interactions entre calcul symbolique et calcul numerique [3].
Une solution s ure pour garantir la precision dun resultat est de linclure dans un intervalle.
Larithmetique dintervalles permet de realiser ces encadrements. An de reduire la largeur de
lintervalle, il est en general necessaire dadapter les methodes de calcul. Voir par exemple [3, 5].
2.3 Stabilite des probl`emes
Nous allons maintenant etudier lune apr`es lautre les dierentes sources derreur. La theorie de la
perturbation etudie limpact de variations sur les donnees. De nombreux ouvrages traitent de cette
sensibilite aux donnees, voir par exemple [22, 18, 40, 8, 3].
La denition dun probl`eme bien pose ci-dessous est celle de Hadamard.
Denition 2.3.1 Un probl`eme bien pose au voisinage de a poss`ede une solution unique continue
par rapport aux donneees dans un voisinage de a. Il est singulier sinon.
Denition 2.3.2 Soit F(x, a) = 0 un probl`eme bien pose. Soit x la solution associee ` a a et x+x
la solution associee ` a a + a. On suppose que x ,= 0. Le probl`eme est stable si
(a) = lim
0
1

|x|
|x|
o` u |a| |a|
est ni. Dans ce cas, (a) est le conditionnement relatif du probl`eme au point a.
Au voisinage dune donnee ou dune solution nulle, on utilise un conditionnement absolu. Le
conditionnement dun probl`eme singulier est inni. Un probl`eme tr`es mal conditionne, cest-`a-dire
avec un grand conditionnement, est en general proche de la singularite.
La denition du conditionnement est liee au choix des metriques dans lespace des donnees et
dans lespace des solutions.
Pour susamment petit, on a
|x| (a) |x| +O(
2
). (2.2)
23
2.3.1 Lien avec le residu
Considerons le probl`eme F(x) = a de solution x et soit y une solution approchee. Le residu
r = a F(y) peut etre considere comme une perturbation de a puisque F(y) = a r. Si le
probl`eme a un conditionnement (a), il vient, pour |r| assez petit,
|y x| (a) |x| |r|/|a| +O(|r|
2
).
2.4 Stabilite des algorithmes directs
Nous nous pla cons ici dans le cadre des algorithmes directs et nous etudions limpact des erreurs
darrondi sur le resultat dun calcul scientique. Plus precisement, nous supposons que la solution
exacte x du probl`eme F(x, a) = 0 peut etre calculee en un nombre ni doperations arithmetiques.
Le cas de limpact des arrondis sur les algorithmes iteratifs est plus complexe. Voir par exemple
[22, 8].
Nous voulons mesurer leet des erreurs darrondi. Pour cela, nous supposons que les operations
arithmetiques usuelles sont correctes, par exemple que larithmetique ottante satisfait la norme
IEEE.
Soit x() la solution calculee en arithmetique ottante avec une precision . Il existe deux fa cons
de mesurer la qualite du resultat : une analyse directe et une analyse inverse.
Denition 2.4.1 Un algorithme est stable au sens direct sil existe (a) tel que
|x() x|/|x| (a) .
Un algorithme est stable au sens inverse sil existe (a) et a() tels que
F(x(), a()) = 0, avec |a() a|/|a| (a).
Proposition 2.4.1 Si le probl`eme est stable et si lalgorithme de resolution est stable au sens
inverse avec (a) assez petit, alors lalgorithme est stable au sens direct et
|x() x|/|x| (a) (a) +O(
2
). (2.3)
Preuve. La formule se deduit immediatement du resultat (2.2).
La formule precedente montre quen general la precision relative sur un resultat de calcul est
la precision machine multipliee par le conditionnement du probl`eme `a resoudre. Le resultat risque
donc detre dautant plus imprecis que le probl`eme est mal conditionne. Les erreurs darrondi sont
ampliees sous leet du conditionnement.
2.4.1 Exemple : produit scalaire
Soit x R
n
et y R
n
deux vecteurs non nuls et s = x
T
y leur produit scalaire.
Proposition 2.4.2 Le conditionnement relatif composante par composante du produit scalaire vaut
(x, y) = 2[x[
T
[y[/[x
T
y[.
24
Preuve. Soit s + s = (x + x)
T
(y + y), avec [x[ [x[ et [y[ [y[ alors s =
x
T
y +y
T
x + x
T
y et [s[ 2[x[
T
[y[ +[x[
T
[y[
2
do` u le resultat.
Nous considerons lalgorithme suivant, ecrit en syntaxe Matlab, qui xe lordre des operations :
Algorithm : Produit scalaire
s=0 ;
for i=1:n,
s = s+x(i) * y(i) ;
end ;
Pour demontrer la stabilite numerique de cet algorithme, nous avons besoin dun lemme tr`es
souvent utilise en analyse derreur.
Lemme 2.4.1 Si n < 0.1 et si [
i
[ alors

n
i=1
(1 +
i
) = 1 + avec 1.06 n
Proposition 2.4.3 Si n < 0.1, lalgorithme est stable au sens inverse et on a
fl(x
T
y) = x
T
(y + y)
[y[ 1.06 n[y[.
Preuve. Soit s
i
= s
i1
+x
i
y
i
pour i 2 et s
1
= x
1
y
1
. Alors
fl(s
1
) = x
1
y
1
(1 +
1
),
fl(s
i
) = (fl(s
i1
) +x
i
y
i
(1 +
i
))(1 +
i
),
avec [
i
[ et [
i
[ ,
do` u par recurrence
fl(s
n
) = x
1
y
1
(1 +
1
)(1 +
2
) . . . (1 +
n
)+
x
2
y
2
(1 +
2
)(1 +
2
) . . . (1 +
n
)+
x
n
y
n
(1 +)
n
)(1 +
n
)
et par application du lemme,
fl(s) = fl(s
n
) = x
1
y
1
(1 +
1
) +. . . +x
n
y
n
(1 +
n
) avec [
i
[ 1.06n.

Une preuve similaire peut etre faite pour tout ordre de sommation, avec une constante dierente.
Les erreurs darrondi sont donc de lordre du conditionnement multiplie par la precision machine.
Lorsque [x
T
y[ << [x[
T
[y[, le conditionnement est eleve. Ce tr`es grand conditionnement se manifeste
par le biais dun phenom`ene de cancellation globale dans le calcul du produit scalaire. Cette
cancellation globale amplie les erreurs darrondi.
2.4.2 Exemple : produit exterieur
Denition 2.4.2 Soit x R
n
et y R
n
deux vecteurs non nuls. Leur produit exterieur est
A = xy
T
.
25
Proposition 2.4.4 Le conditionnement relatif composante par composante du produit exterieur
vaut
(x, y) = 2[x[[y[
T
/[xy
T
[.
Proposition 2.4.5 Le calcul du produit exterieur nest pas stable au sens inverse. Il est stable au
sens direct (composante par composante) et
fl(xy
T
) = xy
T
+ A avec [A[ [x[[y[
T
.
Preuve. Le resultat ottant

A = fl(xy
T
) nest pas en general une matrice de rang 1 donc ne peut
etre egal `a (x + x)(y + y)
T
. Par contre,

A
ij
= x
i
y
j
(1 +
ij
) avec [
ij
[ donc

A = A + A
avec [A[
ij
[x
i
[[y
j
[.
26
Chapter 3
Valeurs propres et valeurs singuli`eres
3.1 Valeurs propres et vecteurs propres
Denition 3.1.1 Le nombre complexe est valeur propre de la matrice carree A si la matrice
AI est singuli`ere, autrement dit sil existe un vecteur x non nul tel que Ax = x.
Proposition 3.1.1 Toute matrice carree A dordre n a n valeurs propres complexes, qui sont les
racines du polyn ome caracteristique det(A I).
On a det(A) =
1
. . .
n
et tr(A) =
1
+. . . +
n
.
Denition 3.1.2 La multiplicite algebrique dune valeur propre est sa multiplicite dans le polyn ome
caracteristique. Une valeur propre est simple si sa multiplicite algebrique est 1. Sinon, cest une
valeur propre multiple.
La multiplicite geometrique dune valeur propre est la dimension du sous-espace vectoriel en-
gendre par les vecteurs propres associes.
Si la multiplicite geometrique est strictement inferieure ` a la multiplicite algebrique, la valeur
propre est defective.
Toute valeur propre simple est non defective.
Denition 3.1.3 Une matrice est diagonalisable si et seulement si toutes ses valeurs propres sont
non defectives.
De mani`ere equivalente, une matrice est diagonalisable si et seulement sil existe une matrice
inversible complexe V et une matrice diagonale complexe D = diag(
i
) telle que
AV = V D, A = V DV
1
.
V est la base des vecteurs propres et les elements de D sont les valeurs propres.
Theor`eme 3.1.1 Toute matrice symetrique a des valeurs propres reelles et des vecteurs propres
reels.
Elle est diagonalisable.
De plus, les vecteurs propres forment une base orthonormee.
27
3.2 Valeurs singuli`eres et vecteurs singuliers
Le cas des matrices carrees symetriques est interessant : les calculs restent reels, il existe un
changement de base orthonormee tel que la matrice devienne diagonale.
Dans le cas carre non symetrique, il faut utiliser les nombres complexes, la matrice peut etre
non diagonalisable et de plus, la base des vecteurs propres nest pas toujours orthonormee.
Dans le cas des matrices rectangulaires, il faut denir des bases pour lespace de depart et pour
lespace darrivee. La Decomposition en Valeurs Singuli`eres (SVD : Singular Value Decomposition)
garantit lexistence de bases orthonormees dans chacun de ces espaces telles que la matrice devienne
diagonale.
Theor`eme 3.2.1 Soit A R
mn
et p = min(m, n).
Il existe U R
mm
orthogonale, il existe V R
nn
orthogonale, il existe
1

2

p
0,

1
= diag(
1
,
2
,
p
) R
pp
matrice diagonale, tels que
si n m, =
_

1
0
_
si m n, =
_

1
0
_
et
A = UV
T
(3.1)
Les valeurs singuli`eres
i
sont uniques.
Si les valeurs singuli`eres sont toutes distinctes, les vecteurs singuliers ` a gauche u
i
et `a droite v
i
sont uniques.

1
= |A|
2
= max
x
2
=1
|Ax|
2
.
Preuve. Si A = UV
T
alors |A|
2
= ||
2
=
1
. Donc si la decomposition existe,
1
est unique.
On va montrer lexistence de la decomposition.
Soit
1
= |A|
2
et v
1
tel que |v
1
|
2
= 1, |u
1
|
2
= 1, Av
1
=
1
u
1
.
Soit U
1
= (u
1
, X) et V
1
= (v
1
, Y ) deux matrices orthogonales dordre m et n (theor`eme de la base
incompl`ete).
U
T
1
AV
1
=
_
u
T
1
X
T
_
A
_
v
1
Y
_
=
_
u
T
1
Av
1
u
T
1
AY
X
T
Av
1
X
T
AY
_
=
_

1
w
T
0 B
_
On va montrer que w = 0.
On a |U
T
1
AV
1
|
2
= |A|
2
=
1
.
Soit x =
_

1
w
_
et y = (U
T
1
AV
1
)x. Alors
|x|
2
2
=
2
1
+w
T
w
2
1
et |y|
2
|U
T
1
AV
1
|
2
|x|
2
=
1
|x|
2
Dautre part,
y =
_

1
w
T
0 B
__

1
w
_
=
_

2
1
+w
T
w
Bw
_
28
donc |y|
2

2
1
+w
T
w = |x|
2
2
do` u |x|
2

1
et w = 0.
Donc
U
T
1
AV
1
=
_

1
0
0 B
_
Nous allons maintenant faire une preuve par recurrence.
Si A = u R
p1
ou A = v
T
R
1p
alors la decomposition existe.
On a B R
(m1)(n1)
. Supposons que B = U
2

2
V
T
2
. Soit
U = U
1
_
1 0
0 U
2
_
, V = V
1
_
1 0
0 V
2
_
, =
_

1
0
0
2
_
alors U et V sont des matrices orthogonales et
A = UV
T
On a
2
= |B|
2

1
.
Il reste `a montrer lunicite des vecteurs singuliers. On ladmet ici.
On a donc les egalites suivantes :
Si n m, p = n :
Av
i
=
i
u
i
, i = 1, . . . , n,
A
T
u
i
=
i
v
i
, i = 1, . . . , n,
A
T
u
i
= 0, i = n + 1, . . . , m.
Si m n, p = m :
Av
i
=
i
u
i
, i = 1, . . . , m,
Av
i
= 0, i = m+ 1, . . . , n,
A
T
u
i
=
i
v
i
, i = 1, . . . , m.
Ces egalites permettent de faire le lien avec les valeurs propres des matrices symetriques A
T
A et
AA
T
.
Proposition 3.2.1 Les valeurs singuli`eres de A (completees par 0 si m < n), sont les racines
carrees des valeurs propres de A
T
A et les vecteurs singuliers ` a droite de A sont les vecteurs propres
associes de A
T
A.
Les valeurs singuli`eres de A (completees par 0 si n < m), sont les racines carrees des valeurs
propres de AA
T
et les vecteurs singuliers ` a gauche de A sont les vecteurs propres associes de AA
T
.
Preuve. Soit m n, le cas m n est similaire.
A = UV
T
do` u A
T
A = V
2
1
V
T
et A
T
AV = V
2
1
donc
2
i
est valeur propre de A
T
A.
A
T
Av
i
= A
T
(
i
u
i
) =
2
i
v
i
, i = 1, . . . , n.
Proposition 3.2.2 Si A est carree symetrique, les valeurs singuli`eres de A sont les valeurs ab-
solues des valeurs propres de A. On en deduit que les valeurs propres dune matrice symetrique
sont des nombres reels et que les vecteurs propres dune matrice symetrique forment une base or-
thonormee.
Preuve. Si A est symetrique, A
T
A = A
2
et les valeurs propres de A
2
sont celles de A au carre.
29
Les resultats suivants permettent de caracteriser le rang, limage et le noyau de A et A
T
.
Proposition 3.2.3 Le rang de la matrice A est le nombre de valeurs singuli`eres non nulles.
Autrement dit, soit A = UV
T
la SVD de A avec
1

r
> 0 =
r+1
=
p
. Alors rang(A) = r.
Proposition 3.2.4 Soit r = rang(A). Soit U
1
et V
1
les r premiers vecteurs singuliers
U
1
= (u
1
, . . . , u
r
) et V
1
= (v
1
, . . . , v
r
). Soit D la matrice diagonale D = diag(
1
. . .
r
). Alors
A = U
1
DV
T
1
=
r

j=1

j
u
j
v
T
j
.
Cette decomposition sappelle la SVD reduite de A.
Proposition 3.2.5 Soit U = (U
1
U
2
) avec U
2
= (u
r+1
, . . . , u
m
) et V = (V
1
V
2
) avec
V
2
= (v
r+1
, . . . , v
n
). Alors
Im(A) = V ect(U
1
) et ker(A) = V ect(V
2
) = V ect(V
1
)

,
Im(A
T
) = V ect(V
1
) et ker(A
T
) = V ect(U
2
) = V ect(U
1
)

.
Preuve.
A = UV
T
= (U
1
U
2
)
_
D 0
0 0
__
V
T
1
V
T
2
_
= (U
1
U
2
)
_
DV
T
1
0
_
= U
1
DV
T
1
A = U
1
DV
T
1
= (u
1
. . . u
r
)diag(
1
. . .
r
)(v
1
. . . v
r
)
T
= (u
1
. . . u
r
)(
1
v
1
. . .
r
v
r
)
T
=
r

j=1

j
u
j
v
T
j
.
y Im(A) y = U
1
(DV
T
1
)x y V ect(U
1
)
y V ect(U
1
) y = U
1
z, soit x = V
1
D
1
z alors Ax = U
1
DV
T
1
V
1
D
1
z = U
1
z = y donc y Im(A).
Donc Im(A) = V ect(U
1
).
x ker(A) U
1
DV
T
1
x = 0 DV
T
1
x = 0 V
T
1
x = 0 x V
1
x V ect(V
2
). Donc
ker(A) = V ect(V
2
).
Im(A
T
) = ker(A)

= V

2
= V ect(V
1
),
ker(A
T
) = Im(A)

= U

1
= V ect(U
2
).
rang(A) = dim(V ect(U
1
)) = r.
3.3 Approximation de rang k et rang numerique
La SVD permet aussi de determiner des approximations dune matrice an de simplier la resolution
dun probl`eme. Elle permet aussi de calculer le rang numerique dune matrice.
Theor`eme 3.3.1 Soit r = rang(A) et
1

r
> 0 =
r+1
=
p
les valeurs singuli`eres de A.
Soit k < r et soit
A
k
=
k

j=1

j
u
j
v
T
j
.
Alors rang(A
k
) = k et
|A A
k
|
2
= min
B,rang(B)=k
|A B|
2
=
k+1
.
30
Autrement dit, A
k
est la meilleure approximation de A avec un rang k.
Preuve. Les valeurs singuli`eres de A
k
sont
i
, i = 1, . . . , k et 0 donc rang(A
k
) = k. On a
A A
k
=
r

j=k+1

j
u
j
v
T
j
, donc |A A
k
|
2
=
k+1
.
Soit B une matrice de rang k, alors dim(ker(B)) = nk. Puisque dim(V ect(v
1
, . . . , v
k+1
)) = k+1,
il existe z ,= 0 tel que z ker(B) V ect(v
1
, . . . , v
k+1
) donc tel que Bz = 0 et z =

k+1
j=1
(v
T
j
z)v
j
,
soit v
T
j
z = 0, j > k + 1. Alors (A B)z = Az =

r
j=1

j
u
j
v
T
j
z =

k+1
j=1

j
u
j
v
T
j
z et |Az|
2
2
=

k+1
j=1

2
j
(v
T
j
z)
2

2
k+1

k+1
j=1
(v
T
j
z)
2
=
2
k+1
|z|
2
2
. Donc
|A B|
2

|(A B)z|
2
|z|
2

k+1
.

Le rang dune matrice est le nombre de valeurs singuli`eres non nulles. Numeriquement, il est
dicile de determiner si une tr`es petite valeur calculee est nulle. On introduit la notion de rang
numerique.
Denition 3.3.1 Le rang numerique associe `a la tolerance est lentier k tel que
k = min(rang(B), |A B|
2
).
Par application du theor`eme precedent, on peut caracteriser k :
Proposition 3.3.1 Le rang numerique de A vaut k si et seulement si

1
. . .
k
>
k+1
. . .
n
.
Preuve. Il sut dappliquer le theor`eme et la denition ci-dessus.
En pratique, il peut etre dicile de choisir correctement la tolerance .
3.4 Calcul de la SVD
Nous montrons dabord que tout algorithme de calcul doit etre iteratif.
Theor`eme 3.4.1 Pour n 5, le calcul des valeurs singuli`eres dune matrice de R
mn
doit se faire
par un algorithme iteratif.
Preuve. Les carres des valeurs singuli`eres sont les valeurs propres de B = A
T
A R
nn
donc
sont les racines du polyn ome caracteristique de B de degre n. Or, dapr`es la theorie de Galois, il
est impossible de calculer par formules les racines dun polyn ome de degre superieur ou egal `a cinq.

31
Le calcul des valeurs singuli`eres est nalement le calcul des valeurs propres de B = A
T
A.
Le calcul des valeurs propres dune matrice symetrique se fait en deux temps : on eectue une
transformation (algorithme direct) pour obtenir une matrice tridiagonale qui a les memes valeurs
propres puis on calcule les valeurs propres (algorithme iteratif) de la matrice tridiagonale.
Mais si lon calcule explicitement B, le calcul des petites valeurs singuli`eres devient tr`es imprecis
et lalgorithme est instable numeriquement. Pour eviter cela, on choisit une autre methode : on
eectue une transformation (algorithme direct) sur A pour obtenir une matrice bidiagonale C qui
a les memes valeurs singuli`eres puis on calcule les valeurs singuli`eres de cette matrice bidiagonale.
Il est `a noter que la matrice C
T
C est tridiagonale et peut etre obtenue par tridiagonalisation de
B donc la methode suit implicitement les etapes dune methode de calcul de valeurs propres mais
sans former explicitement les matrices B et C
T
C, ce qui permet de garantir la stabilite numerique.
3.5 Bidiagonalisation
Ici, on suppose m n, dans le cas contraire on peut utiliser A
T
.
Theor`eme 3.5.1 Soit A R
mn
avec m n. Il existe deux matrices orthogonales Q R
mm
et
P R
nn
telles que
Q
T
AP =
_
C
0
_
,
o` u C R
nn
est une matrice bidiagonale.
Preuve. admis.
Lalgorithme de bidiagonalisation est code dans une procedure de LAPACK qui fait appel ` a
BLAS3. La complexite est 4n
2
(mn/3).
Proposition 3.5.1 Les valeurs singuli`eres de C sont celles de A.
Preuve. Soit C = UDV
T
la SVD de C, alors
A =
_
Q
1
U Q
2
_
_
D
0
_
(PV )
T
est une SVD de A.
Les valeurs singuli`eres de C sont calculees par une methode iterative, qui nest pas detaillee ici.
La complexite globale est resumee dans le tableau ci-dessous, en supposant quil faut 2n
iterations pour calculer toutes les valeurs singuli`eres. Dierents cas sont consideres, suivant quil
faut calculer ou non les vecteurs singuliers.
calcul nombre de multiplications ottantes
, U
1
, V O(7mn
2
+ 11n
3
/3)
, U
1
O(7mn
2
n
3
)
, V O(2mn
2
+ 4n
3
)
O(2mn
2
2n
3
/3)
32
Chapter 4
Orthogonalisation
4.1 Algorithmes de Gram-Schmidt
Theor`eme 4.1.1 Soit A R
mn
de plein rang avec m n. Alors il existe un unique couple de
matrices (Q, R) tel que :
Q R
mn
et R R
nn
,
Q
T
Q = I
n
,
R est triangulaire superieure avec diag(R) > 0
A = QR
Suivant les applications, on est interesse par la matrice Q (orthogonalisation des colonnes de
A) ou par la matrice R (probl`eme aux moindres carres avec la matrice A).
Il existe deux types dapproche pour obtenir cette decomposition :
en utilisant des projections orthogonales,
en utilisant des transformations orthogonales.
Dans le cas de lorthogonalisation, on proc`ede tr`es souvent avec des projections; cest ce que nous
etudions dans ce paragraphe.
Pour tout k n, on note A
k
= [a
1
; a
2
; ; a
k
] et Q
k
= [q
1
; q
2
; ; q
k
] les matrices constituees
respectivement des k premi`eres colonnes des matrices A et Q. On note R
k
la matrice principale
dordre k de R. De la relation A
k+1
= Q
k+1
R
k+1
on deduit que la colonne q
k+1
sobtient ` a partir de
la projection de a
k+1
sur lorthogonal du sous-espace engendre par q
1
, q
2
, q
k
, que lon normalise
ensuite.
Cette projection a pour matrice L
k
= I
m
Q
k
Q
k
T
. Il existe deux fa cons equivalentes de lecrire :
L
k
= (I
m
q
1
q
1
T
q
k
q
k
T
),
L
k
= (I
m
q
k
q
k
T
) (I
m
q
1
q
1
T
).
La premi`ere ecriture conduit ` a lalgorithme de Gram-Schmidt classique (CGS), qui est tr`es sensible
aux erreurs darrondi. Cest pourquoi il est preferable dutiliser la deuxi`eme formulation, qui
consiste ` a orthogonaliser successivement par rapport ` a q
1
, ` a q
2
et ainsi de suite jusqu` a q
k
. On
obtient alors lalgorithme de Gram-Schmidt modie (MGS).
33
Algorithm 1: MGS
r
11
:= |a
1
| ;
q
1
:= (1/r
11
)a
1
;
do k = 1, m1,
w := a
k+1
;
do i = 1, k
r
i,k+1
:= q
T
i
w;
w := w r
i,k+1
q
i
enddo ;
r
k+1,k+1
:= |w| ;
q
k+1
:= (1/r
k+1,k+1
)w ;
enddo
Algorithm 2: CGS
r
11
:= |a
1
| ;
q
1
:= (1/r
11
)a
1
;
do k = 1, m1, orthogonalisation de a
k+1
par rapport `a q
1
, q
k

r

k+1
:= Q
k
T
a
k+1
;
w := a
k+1
Q
k
r

k+1
;
r
k+1,k+1
:= |w| ;
q
k+1
:= (1/r
k+1,k+1
)w;
enddo
Les deux algorithmes sont mathematiquement equivalents mais leur comportement numerique
est tr`es dierent. La stabilite numerique de (MGS) est etablie par le theor`eme suivant [6] :
Theor`eme 4.1.2 Avec une arithmetique ottante caracterisee par le param`etre de precision ,
lalgorithme MGS fournit un couple de matrices (

Q,

R) tel que :
|A

Q

R| = O(|A|) et |

Q
T

QI
m
| = O(
2
(A))
o` u le conditionnement
2
(A) est le rapport des valeurs singuli`eres extremes de A.
Par contre, lalgorithme CGS a un comportement nettement plus mauvais dans le cas dorthogonalisation
de syst`emes presque lies (c.a.d. tels que
2
(A) a une valeur elevee). Pour sen convaincre on peut
comparer les resultats obtenus par les applications des deux algorithmes `a la matrice (exemple de
34
Lauchli) :
A =

1 1 1
0 0
0 0
0 0

.
Lorthogonalite du syst`eme obtenu par MGS est fonction de tandis que les deuxi`eme et troisi`eme
vecteurs obtenus par CGS ont un produit scalaire egal `a 1/2.
4.2 Algorithme de Gram-Schmidt par blocs
On peut denir une version par blocs de lalgorithme (MGS) en remplacant la manipulation des
vecteurs par des operations sur des blocs de vecteurs. Lorthogonalisation dun vecteur par rapport
`a un autre qui etait une correction de rang 1 devient lorthogonalisation dun bloc de vecteur
par rapport ` a un bloc orthonorme de vecteurs, cest-`a-dire une correction de rang p o` u p est la
largeur du bloc. La normalisation dun vecteur est remplacee par lapplication de MGS sur le bloc
correspondant. On suppose que m = lp et que les matrices A et Q sont partitionnees en l blocs de
p colonnes: A = [A
1
; ; A
l
] et Q = [Q
1
; ; Q
l
].
On obtient alors lalgorithme suivant :
Algorithm 3: BGS
(Q
1
, R
11
) := MGS(A
1
) ;
do k = 1, l 1,
W := A
k+1
;
do i = 1, k
R
i,k+1
:= Q
i
T
W ;
W := W Q
i
R
i,k+1
enddo ;
(Q
k+1
, R
k+1,k+1
) := MGS(W)
enddo
o` u les blocs R
ik
sont des matrices carrees dordre p.
Il reste `a voir la qualite numerique de ce nouvel algorithme. On montre en fait quelle peut
etre mauvaise, presquaussi mauvaise que CGS lorsque les colonnes de la matrice A sont presque
dependantes. Pour retrouver la qualite de lalgorithme MGS, il sut de reorthogonaliser les blocs ;
pour cela on double chaque appel de MGS [6, 23]. On appelle B2GS lalgorithme obtenu. Il est facile
de montrer que lalgorithme BGS entrane le meme nombre 2nm
2
doperations que lalgorithme
MGS tandis que lalgorithme B2GS comporte 2n(m
2
+lp
2
) = 2nm
2
(1+1/l) operations. Le surplus
doperations sera donc relativement faible lorsque le nombre l de blocs sera petit. La comparaison
des vitesses des trois algorithmes MGS, BGS et B2GS sur un processeur de CRAY 2 est illustree
par la gure 4.1 sur une matrice o` u n = 1024 et m = 512. On y constate que lorsque la taille du
bloc est assez petite (ici p = 32 et donc l = 16) la perte provoquee par la reorthogonalisation est
faible. Elle est de lordre de 13 % alors que la valeur de l laisserait supposer une perte deux fois
35
plus faible. Cela est d u au fait que les calculs qui sont repetes sexecutent deux fois moins vite que
le reste qui sexprime par des multiplications matricielles.
0
5
0.5
1
1.5
2
2.5
3
3.5
4
4.5
0 50 100 150 200
3
3
3
3
3
3
3
3
3
3
3
3
3
+
+
+
+
+
+
+
+
+
+
+
+
+
3 BGS
+ B2GS
MGS
Figure 4.1: Temps de calcul (en s) en fonction de la taille des blocs.
4.3 Procede dArnoldi
Dans beaucoup de methodes iteratives qui sappliquent ` a une matrice carree A dordre n, on a
recours aux espaces de Krylov. Ces espaces sont denis par, outre la matrice, un vecteur initial v
et un degre k : lespace de Krylov
K
k
(A, v) = V ect(v, Av, A
2
v, , A
k1
v)
est le sous-espace engendre par les puissances successives de A appliquees au vecteur v. Ce sous-
espace est donc celui des images des polynomes de A de degre inferieur ou egal `a k 1 appliques
`a v. On demontre facilement que si la dimension de ce sous-espace est strictement inferieure `a
k alors le sous-espace est invariant par A. Inversement, si k est superieur au degre du polyn ome
minimal, alors le sous-espace est invariant par A. Nous nous placons maintenant dans le cas
o` u dim(K
k
(A, v)) = k. On exhibe un algorithme qui va construire une base orthonormee de
K
k
(A, v). A cette n, on applique lalgorithme MGS, non au syst`eme (v, Av, A
2
v, , A
k1
v)
mais au syst`eme (q
1
, Aq
1
, Aq
2
, , Aq
k1
) o` u les vecteurs (q
i
)
i=1,k1
sont les vecteurs du syst`eme
orthonorme trouve `a letape k 1. Ces vecteurs sont donc calcules de proche en proche. Il est
evident que si (q
1
, , q
k1
) engendre toutes les images par des polyn omes de degre inferieur ou
egal `a k 2, le syst`eme (q
1
, Aq
1
, Aq
2
, , Aq
k1
) engendre toutes les images par des polyn omes
36
de degre inferieur ou egal `a k 1. On obtient donc bien une base orthonormee de K
k
(A, v). La
factorisation QR realisee par lalgorithme de Gram-Schmidt peut secrire matriciellement :
[q
1
; Aq
1
; ; Aq
k1
] = [q
1
; q
2
; ; q
k
][e
1
;

H
k1
]
o` u e
1
est le premier vecteur de la base canonique de R
k
et

H
k1
est une matrice de Hessenberg
`a k lignes et k 1 colonnes. En notant Q
k
= [q
1
; q
2
; ; q
k
] on obtient la relation fondamentale
dArnoldi :
AQ
k1
= Q
k

H
k1
= Q
k1
H
k1
+h
k,k1
q
k
e
k1
T
o` u H
k1
est la matrice carree constituee des k 1 premi`eres lignes de

H
k1
. On en deduit aussi la
relation
Q
k1
T
AQ
k1
= H
k1
(4.1)
Lalgorithme dArnoldi qui construit le couple (Q
m
,

H
m1
) secrit :
Algorithm 4: Arnoldi
q
1
:= (1/|v|)v ;
do k = 1, m1,
w := Aq
k
;
do i = 1, k
h
i,k
:= q
T
i
w;
w := w h
i,k
q
i
enddo ;
h
k+1,k
:= |w| ;
q
k+1
:= (1/h
k+1,k
)w;
enddo
Il met en uvre du calcul vectoriel (sur des vecteurs de longueur n) et des multiplications de
la matrice par des vecteurs.
4.4 Algorithme de Lanczos symetrique
Lorsque la matrice A est symetrique, la relation 4.1 prouve quil en est de meme de la matrice
H
k1
qui est donc tridiagonale. Lalgorithme dArnoldi dans ce cas se simplie en lalgorithme de
Lanczos :
37
Algorithm 5: Lanczos
q
1
:= (1/|v|)v ;
do k = 1, m1,
w := Aq
k
;
if k > 1, then
h
k1,k
:= h
k,k1
;
w := w h
k,k1
q
k1
;
endif ;
h
k,k
:= w
T
q
k
;
w := w h
k,k
q
k
h
k+1,k
:= |w| ;
q
k+1
:= (1/h
k+1,k
)w;
enddo
Au contraire de lAlgorithme dArnoldi, les iterations de lalgorithme de Lanczos sont de com-
plexite constante.
4.5 Algorithme de Lanczos non symetrique
38
Chapter 5
Resolution de syst`emes lineaires par
des methodes directes
5.1 Inverse dune matrice carree et syst`emes lineaires
Ce paragraphe a pour objet les matrices carrees et les syst`emes lineaires. Il denit les notions de
matrice inversible et de matrice singuli`ere.
5.1.1 Inverse dune matrice
Theor`eme 5.1.1 A R
nn
, sont equivalents :
A est inversible : il existe une matrice notee A
1
, telle que AA
1
= I (et A
1
A = I),
det(A) ,= 0,
rang(A) = n,
le syst`eme lineaire Ax = b a une solution pour tout b,
si le syst`eme lineaire Ax = b a une solution, elle est unique,
Im(A) = R
n
,
ker(A) = 0.
Preuve. rang(A) = n equivaut ` a Im(A) = R
n
et `a ker(A) = 0, ce qui equivaut aussi ` a Ax = b
a une solution pour tout b. Dapr`es la proposition precedente, rang(A) = n equivaut aussi ` a si le
syst`eme a une solution, elle est unique.
Si rang(A) = n, soit Cb la solution unique du syst`eme Ax = b, alors ACb = b, b donc AC = I
et CAx = Cb = x, x donc CA = I et A est inversible dinverse C.
Reciproquement, si A est inversible alors AA
1
b = b, b donc le syst`eme Ax = b a une solution
pour tout b.
On admet que A inversible equivaut ` a det(A) ,= 0.

Denition 5.1.1 Une matrice carree non inversible est dite singuli`ere. Une matrice inversible est
dite non singuli`ere.
Proposition 5.1.1 Si A et B sont inversibles, alors AB est inversible et (AB)
1
= B
1
A
1
.
Si A est inversible, alors A
T
est inversible et (A
T
)
1
= (A
1
)
T
= A
T
.
39
Preuve. (AB)(B
1
A
1
) = A(BB
1
)A
1
= AIA
1
= I donc AB est inversible dinverse
B
1
A
1
.
A
T
(A
1
)
T
= (A
1
A)
T
= I.
5.1.2 Matrices particuli`eres
Proposition 5.1.2 Si Q est orthogonale, alors Q est inversible et Q
1
= Q
T
.
Une matrice diagonale D = diag(d
i
) est inversible si et seulement si d
i
,= 0 et linverse de D
est la matrice diagonale D
1
= diag(1/d
i
).
Une matrice triangulaire L est inversible si et seulement si L
ii
,= 0 et linverse de L est trian-
gulaire.
Preuve. Si Q est orthogonale, alors Q
T
Q = I donc Q
1
= Q
T
.
Si D est diagonale, Dx = b equivaut ` a d
i
x
i
= b
i
, i = 1, . . . , n, a une solution pour tout b si et
seulement si d
i
,= 0, i = 1, . . . , n ; la solution vaut x
i
= b
i
/d
i
donc D
1
= diag(1/d
i
).
Si L est triangulaire inferieure, alors le syst`eme Lx = b secrit l
11
x
1
= b
1
,

j<i
l
ij
x
j
+ l
ii
x
i
=
b
i
, i = 2, . . . , n et a une solution pour tout b si et seulement si l
ii
,= 0 ; la solution vaut x
1
=
b
1
/l
11
, x
i
= (b
i

j<i
l
ij
x
j
)/l
ii
, i = 2, . . . , n donc x
i
ne depend que de b
j
, j i et L
1
est triangu-
laire inferieure.

Proposition 5.1.3 Calculer linverse dune matrice diagonale dordre n est de type BLAS1, avec
n operations.
Resoudre un syst`eme triangulaire dordre n est de type BLAS2, avec n
2
/2 operations.
5.1.3 Resolution dun syst`eme lineaire
On consid`ere un syst`eme lineaire de n equations `a n inconnues, qui a une solution unique, autrement
dit le syst`eme Ax = b, avec A inversible.
La methode de resolution de Cramer, basee sur les determinants, est `a proscrire, pour deux
raisons :
la complexite est elevee, en O(n!), ce qui explose tr`es vite.
les phenom`enes de cancellation dans les calculs de determinants amplient les erreurs darrondi
et lalgorithme est numeriquement instable. Meme avec un syst`eme dordre 2, le resultat peut
etre compl`etement faux.
Si la matrice est diagonalisable, on peut en theorie exprimer le syst`eme dans la base des vecteurs
propres et resoudre le syst`eme diagonal :
A = V DV
1
, Ax = b D(V
1
x) = V
1
b.
Mais diagonaliser une matrice est tr`es co uteux. Ensuite, il faudrait faire les calculs avec des
nombres complexes, ce qui est nettement plus co uteux. De plus, toutes les matrices ne sont pas
diagonalisables.
Les methodes basees sur lelimination dinconnues, avec combinaisons lineaires des lignes, sont
les methodes directes de reference. Lorsquon elimine les inconnues, on aboutit nalement ` a un
40
syst`eme triangulaire superieur, que lon remonte pour calculer les coordonnees de la solution. Le
processus delimination est en fait la resolution dun syst`eme triangulaire inferieur. Lalgorithme
sappelle la factorisation LU.
Pour garantir la stabilite numerique, il est necessaire de modier lordre delimination, en ap-
pliquant ce quon appelle une strategie de pivot.
5.2 Factorisation LU
Theor`eme 5.2.1 Soit A R
nn
une matrice inversible. Alors il existe une matrice L triangulaire
inferieure avec L
ii
= 1 et une matrice triangulaire superieure U inversible telles que
A = LU (5.1)
Legalite (5.1) est appelee la factorisation de Gauss de A.
Preuve. admis.
Pour resoudre un syst`eme lineaire, on proc`ede par etapes :
Factorisation de Gauss A = LU,
Resolution du syst`eme triangulaire Ly = b (descente),
Resolution du syst`eme triangulaire Ux = y (remontee).
Proposition 5.2.1 Lalgorithme de Gauss a une complexite en n
3
/3+O(n
2
). Cest une procedure
de LAPACK.
5.2.1 Pivot partiel
5.2.2 Factorisation par blocs
La biblioth`eque LAPACK utilise une partition par blocs pour la factorisation LU, an dutiliser
BLAS3. Nous decrivons ici un algorithme sans pivot, mais LAPACK inclut des strategies de pivot.
Supposons que la matrice A soit dordre n, quelle soit ` a diagonale dominante (donc lalgorithme
de Gauss sans pivotage est licite) et quelle soit partagee en quatre blocs:
A =
_
A
11
A
12
A
21
A
22
_
o` u les blocs A
11
et A
22
sont carres dordres respectifs m et N m. La quantite m n represente la
taille de bloc. On cherche ` a exprimer globalement letape qui traduirait m etapes de lalgorithme
de Gauss classique. Il faut alors exprimer les blocs intervenant dans la decomposition LU o` u les
blocs verient les egalites matricielles suivantes :
L =
_
L
11
0
L
21
I
_
et U =
_
U
11
U
12
0 B
_
.
41
A
11
= L
11
U
11
(5.2)
A
21
= L
21
U
11
(5.3)
A
12
= L
11
U
12
(5.4)
A
22
= L
21
U
12
+B (5.5)
On en deduit le prol de la procedure (ecrite sous forme recursive) :
Algorithm 6: BlockLU(A)
if dim(A) m then On est arrive au dernier bloc
factorisation LU de A;
else On m`ene une etape de factorisation par bloc
denition des matrices A
11
, A
12
, A
21
, A
22
;
factorisation LU de A
11
pour obtenir L
11
et U
11
;
resolution de n m syst`emes triangulaires pour obtenir L
21
(5.3) ;
resolution de n m syst`emes triangulaires pour obtenir U
12
(5.4) ;
mise `a jour du bloc restant pour obtenir B (5.5) ;
LU(B)
endif
De mani`ere evidente, on peut ensuite derouler lalgorithme pour en supprimer la recursivite.
5.3 Factorisation de Cholesky
On consid`ere la decomposition de matrices symetriques et denies positives cest-`a-dire telles que :
x ,= 0, x
T
Ax > 0
5.3.1 Algorithme de factorisation
Theor`eme 5.3.1 Factorisation de Cholesky
Soit A R
nn
une matrice symetrique et denie positive. Alors il existe une unique matrice
triangulaire inferieure L qui verie :
A = LL
T
et diag(L) > 0
Preuve. On demontre le theor`eme par recurrence sur la dimension n de la matrice.
n = 1 : le resultat est evident car alors le nombre qui represente la matrice est positif et le
facteur de Cholesky est sa racine carree.
On suppose la proposition vraie pour toute matrice dordre n. Soit A

une matrice dordre n+1


que lon partitionne en blocs de la mani`ere suivante o` u A R
nn
, a R
n
, et R :
A

=
_
A a
a
T

_
.
42
On recherche le facteur de Cholesky L

partitionne de la meme mani`ere :


L

=
_
L 0
l
T

_
qui verie L

T
= A

ou encore
LL
T
= A (5.6)
Ll = a (5.7)
|l|
2
+
2
= . (5.8)
La matrice A etant une matrice principale de la matrice A

est denie positive. On peut donc lui


appliquer lhypoth`ese de recurrence, ce qui determine le facteur L veriant lequation (5.6) et `a
diagonale positive. Lequation (5.7) permet alors de calculer l = L
1
a. En rempla cant dans la
derni`ere equation les quantites dej` a trouvees, il reste `a resoudre :

2
= a
T
A
1
a.
Il reste `a prouver que le terme de droite de legalite est positif ce qui pemettra de conclure que
=

a
T
A
1
a. On suppose que a ,= 0 car sinon le resultat est evident. Pour cela on etudie,
pour tout vecteur u R
n
non nul et tout reel , la quantite :
= (u
T
)
_
A a
a
T

__
u

_
=
2
+ 2u
T
a +u
T
Au
qui doit etre strictement positive pour tout . Le discriminant du trin ome est donc negatif :
(u
T
a)
2
(u
T
Au) < 0. Le resultat est obtenu en choisissant u = A
1
a et en remarquant que
a
T
A
1
a > 0.
Lunicite et lexistence de la decomposition est donc prouvee.
On peut noter que la decomposition en blocs introduite dans la demonstration aboutit `a un
premier algorithme qui recursivement construit le facteur de Cholesky de dimension n +1 ` a partir
de celui de la matrice principale dordre n. Soit C(n) le nombre doperations pour calculer le facteur
de Cholesky dune matrice dordre n. On obtient donc la relation de recurrence
C(n + 1) = C(n) +n
2
+O(n)
car la resolution du syst`eme triangulaire qui calcule l est de complexite n
2
+ O(n). On en deduit
que C(n) = 1/3 n
3
+O(n
2
).
En fait, lalgorithme le plus courant est celui obtenu ` a partir de la decomposition suivante (avec
les memes notations que pour le theor`eme) :
A

=
_
a
T
a A
_
.
On recherche le facteur de Cholesky L

partitionne de la meme mani`ere :


L

=
_
0
l L
_
43
qui verie L

T
= A

ou encore

2
= (5.9)
l = a (5.10)
l l
T
+LL
T
= A. (5.11)
Ces equations se resolvent en

l = (1/)a
Factorisation de Cholesky de (A l l
T
)
(5.12)
On peut donc derouler la recurrence suivant lalgorithme suivant :
Algorithm 7: Cholesky (Right Looking)
L := triangle inferieur(A) ;
L(1, 1) :=
_
L(1, 1) ;
L(2 : n, 1) := (1/L(1, 1)) L(2 : n, 1) ;
do j = 1, n 1,
do k = j + 1, n
L(k : n, k) := L(k : n, k) L(k, j) L(k : n, j) ;
enddo ;
L(j + 1, j + 1) :=
_
L(j + 1, j + 1) ;
L(j + 2 : n, j + 1) := (1/L(j + 1, j + 1)) L(j + 2 : n, j + 1) ;
enddo
Cet algorithme est appele Right Looking (ou Fan Out), car d`es quune colonne de L est prete,
elle corrige toutes les colonnes suivantes. On peut aussi imaginer dorganiser autrement les calculs :
on retarde chaque mise ` a jour dune colonne au plus tard possible; ainsi une colonne de la matrice
A nest consideree que lorsque toutes les precedentes de L sont construites. Cela revient ` a inverser
dans lalgorithme 7 les boucles indicees par j et k. On obtient alors lalgorithme 8 appele Left
Looking (ou Fan In).
44
Algorithm 8: Cholesky (Left Looking)
L(1, 1) :=
_
A(1, 1) ;
L(2 : n, 1) := (1/L(1, 1)) A(2 : n, 1) ;
do k = 2, n,
L(k : n, k) := A(k : n, k) ;
do j = 1, k 1
L(k : n, k) := L(k : n, k) L(k, j) L(k : n, j) ;
enddo ;
L(k, k) :=
_
L(k, k) ;
L(k + 1 : n, k) := (1/L(k, k)) L(k + 1 : n, k) ;
enddo
En fait, si lon consid`ere que lalgorithme est compose de trois boucles embotees (aux deux
boucles indiquees, il faut rajouter la boucle de loperation vectorielle interne), il existe six mani`eres
de les ordonner. Pour plus de precision, on peut consulter [20, 21].
Proposition 5.3.1 Lalgorithme de Cholesky a une complexite en n
3
/6+O(n
2
). Cest une procedure
de LAPACK, codee par blocs.
5.3.2 Stabilite numerique de Cholesky
5.4 Conditionnement dun syst`eme lineaire
Nous etudions la sensibilite dun syst`eme lineaire aux variations sur les donnees (conditionnement).
Beaucoup douvrages traitent de ce sujet, notamment [18, 40, 26, 22, 8, 10].
Nous introduisons demblee une denition qui va etre justiee par les resultats associes.
Denition 5.4.1 Le conditionnement dune matrice A pour les syst`emes lineaires est donne par
(A) = |A||A
1
|.
La biblioth`eqe LAPACK fournit des procedures pour estimer le conditionnement dune matrice.
Theor`eme 5.4.1 Soit A une matrice inversible et x la solution de Ax = b. Soit A, b tels que
|A| |A|, |b| |b|, (A) < 1.
Alors A+ A est inversible. Soit x + x la solution du syst`eme
(A+ A)(x + x) = b + b,
alors
|x|
|x|

(A)
1 (A)
( +).
45
Ce theor`eme correspond `a la denition generale, o` u les donnees sont soit A et b (si seulement A est
la donnee, alors = 0).
La preuve du theor`eme necessite le lemme suivant :
Lemme 5.4.1 Si |F| < 1 alors (I +F) est inversible et |(I +F)
1
|
1
1F
.
Preuve.
A + A = A(I +A
1
A),
|A
1
A| (A) < 1,
donc dapr`es le lemme, I +A
1
A est inversible et
|(I +A
1
A)
1
|
1
1 (A)
.
Soit y = x + x, on a (A + A)y = b + b, Ax = b donc A(y x) = b Ay et
|y x| |A
1
|(|b| +|A||y|).
or |b| |b| |A||x|,
do` u |x| (A)(|x| +|y|).
Il reste `a majorer |y|. On a
A(I +A
1
A)y = A(x +A
1
b),
|y| |(I +A
1
A)
1
|(|x| +|A
1
|b|),
|y|
1
1(A)
(1 +(A))|x|.
Par consequent, |x| +|y|
1
1(A)
( +)|x|.
On en deduit que
|x|
(A)
1 (A)
( +)|x|.

5.4.1 Lien avec le residu


Comme pour le cas general, il est possible de faire le lien avec le residu.
Soit x la solution du syst`eme lineaire Ax = b. Nous supposons quun algorithme de resolution
calcule le vecteur y, avec un residu r = b Ay.
Corollaire 5.4.1
|x y|
|x|
(A)
|b Ay|
|b|
. (5.13)
Il est possible davoir un resultat plus n en introduisant une perturbation de la matrice. Si
|b Ay| est assez petit, alors y est solution dun syst`eme lineaire perturbe et nous determinons la
plus petite perturbation possible.
46
Theor`eme 5.4.2 Soit Ax = b un syst`eme lineaire dordre n et soit y R
n
. Soit
S = , il existe A, b, |A| |A|, |b| |b|, (A + A)y = b + b
Soit
=
|b Ay|
|A||y| +|b|
. (5.14)
Si (A) < 1 alors min
S
= .
Preuve. Soit r = b Ay et soit S. Alors
(A+ A)y = b + b,
r = Ay b,
|r| (|A||y| +|b|),
donc .
Reciproquement, soit
A =
A
r y
ry
T
, b =
b
r
r.
Alors |A| = |A|, |b| = |b|.
On a (A + A)y = b r + Ay = b r +
Ay
r
r,
(A + A)y = b
b
Ay+b
r = b + b,
donc S.
Donc est le minimum de S.
En combinant les deux theor`emes sur le conditionnement et lanalyse inverse, on obtient une
estimation derreur pour la solution calculee y.
Corollaire 5.4.2 Soit x la solution du syst`eme lineaire Ax = b et soit y une solution calculee telle
que (A) < 1, o` u est deni par (5.14). Alors
|x y|
|x|
2
(A)
1 (A)
(5.15)
Le calcul de |r| puis et une estimation du conditionnement (A) permettent donc destimer
une borne de lerreur sur la solution.
47
48
Chapter 6
Resolution iterative de syst`emes
lineaires
Dans tout ce chapitre, on cherche ` a resoudre le syst`eme
Ax = b, (6.1)
o` u A R
nn
est une matrice inversible et b R
n
le second membre.
6.1 Methodes iteratives lineaires
Les methodes iteratives basiques sont les methodes appelees ici lineaires. Elles ne sont plus beau-
coup utilisees en soi car leur convergence nest pas toujours assuree et est en general lente, surtout
pour les syst`emes de grande taille. Elles servent par contre `a accelerer la convergence dune classe
importante de methodes iteratives, appelees methodes polynomiales. Pour une description detaillee
de ces methodes, on pourra consulter [4, 7, 28, 35].
Dans ces methodes iteratives, la matrice nest pas transformee, seule loperation produit matrice-
vecteur y = Ax est requise. Il est donc possible dutiliser des versions dites matrix-free o` u la
matrice nest pas stockee. Les methodes iteratives necessitent en general moins despace memoire
que les methodes directes.
Dans tout ce qui suit, on note x
k
lapproximation de la solution ` a literation k, on note r
k
=
b Ax
k
le residu et e
k
= x

x
k
lerreur, de sorte que r
k
= Ae
k
.
Les methodes lineaires sont basees sur une decomposition
A = M N, (6.2)
o` u M est une matrice inversible. Literation est un schema de point xe, deni, ` a partir de x
0
donne, par
Mx
k+1
= Nx
k
+b. (6.3)
On obtient donc Mx
k+1
= (M A)x
k
+b = Mx
k
+r
k
soit
x
k+1
= x
k
+M
1
r
k
.
On a aussi Mx
k+1
= Nx
k
+ (M N)x

do` u M(x

x
k+1
) = N(x

x
k
) donc
e
k+1
= (M
1
N)e
k
.
49
Theor`eme 6.1.1 Soit le rayon spectral de la matrice M
1
N, correspondant ` a la decomposition
A = M N de la matrice inversible A. La methode (6.3) est convergente pour tout vecteur initial
x
0
si et seulement si < 1.
Les exemples les plus classiques sont les methodes de Jacobi, Gauss-Seidel, SOR et SSOR.
Soit A = D E F la decomposition de A en parties diagonale, triangulaire inferieure et
triangulaire superieure.
La methode de Jacobi est denie par M = D, celle de Gauss-Seidel par M = D E. La
methode SOR (Successive Over Relaxation) resout Ax = b avec la decomposition M = DE,
o` u est un param`etre choisi pour accelerer la convergence. On a les iterations
Jacobi : Dx
k+1
= (E +F)x
k
+b
Gauss Seidel : (D E)x
k+1
= Fx
k
+b
SOR : (D E)x
k+1
= (F + (1 )D)x
k
+b
La methode SSOR (Symmetric SOR) eectue une iteration SOR suivie dune iteration SOR en
sens inverse. On obtient
M =
1
(2 )
(D E)D
1
(D F)
Il est possible de prouver la convergence pour certaines classes de matrices. Pour la demonstration
de ces theor`emes et pour dautres resultats, voir par exemple [18, 43].
Denition 6.1.1 Une matrice A = (a
ij
) dordre n est `a diagonale strictement dominante si
[a
jj
[ >
n

i=1,i=j
[a
ij
[, j = 1, . . . , n
Theor`eme 6.1.2 Si A est `a diagonale strictement dominante, les methodes de Jacobi et de Gauss-
Seidel convergent pour tout x
0
.
Theor`eme 6.1.3 Soit A une matrice symetrique avec des elements diagonaux positifs et soit 0 <
< 2. La methode SOR converge pour tout x
0
si et seulement si A est denie positive.
6.2 Methodes de projection
6.2.1 Denition dune methode polynomiale
Commencons par donner un resultat qui donner des raisons de rechercher des approximations
polynomiales pour la resolution dun syst`eme.
Proposition 6.2.1 Il existe un polyn ome p de degre au plus n 1 tel que A
1
= p(A).
Preuve. Dapr`es le theor`eme de Cayley-Hamilton, le polyn ome caracteristique q de A est de degre
n et verie q(A) = 0, q(0) = det(A), o` u det(A) est le determinant de A. Soit q(X) = det(A) +
Xq
1
(X) alors Aq
1
(A) = det(A)I. Puisque A est inversible, det(A) ,= 0 et
1
det(A)
Aq
1
(A) = I.
Soit p le polyn ome deni par p(X) =
1
det(A)
q
1
(X), alors A
1
= p(A).
50
Soit x
0
une approximation initiale et r
0
= bAx
0
. Alors la solution x

verie x

= x
0
+A
1
r
0
=
x
0
+p(A)r
0
.
Lobjectif des methodes polynomiales est dapprocher ce polyn ome p(X).
Denition 6.2.1 Les methodes polynomiales sont denies par des iterations
x
k
= x
0
+s
k1
(A)r
0
, (6.4)
o` u s
k1
est un polyn ome de degre au plus k 1.
Le sous-espace /
k
(A, r
0
) = engr
0
, Ar
0
, . . . , A
k1
r
0
est appele espace de Krylov associe `a A et
r
0
. Une methode iterative est polynomiale si et seulement si elle verie la condition de sous-espace
x
k
x
0
+/
k
(A, r
0
),
ou, de fa con equivalente,
x
k+1
x
k
+/
k+1
(A, r
0
). (6.5)
Cest une methode de sous-espace liee aux espaces de Krylov.
Proposition 6.2.2 Dans une methode polynomiale, le residu r
k
et lerreur e
k
verient
r
k
= q
k
(A)r
0
, e
k
= q
k
(A)e
0
, (6.6)
o` u q
k
(X) = 1 Xs
k1
(X) est un polyn ome de degre au plus k qui verie q
k
(0) = 1.
Preuve. r
k
= b A(x
0
+s
k1
(A)r
0
) = r
0
As
k1
(A)r
0
= q
k
(A)r
0
o` u q
k
(X) = 1 Xs
k1
(X).
e
k
= A
1
r
k
= A
1
q
k
(A)r
0
= q
k
(A)A
1
r
0
= q
k
(A)e
0
.
Denition 6.2.2 Lensemble des polyn omes residuels de degre k est deni par
T
0
k
= q est un polyn ome de degre k et q(0) = 1.
On aboutit donc ` a deux directions pour denir une methode polynomiale :
La premi`ere, la moins courante, consiste ` a denir explicitement le polyn ome. Cest le cas
de la methode CHEBY qui sapplique au cas o` u la matrice est symetrique denie positive.
Comme nous ne letudions pas ici, on peut se reporter ` a [4] pour obtenir lalgorithme.
La deuxi`eme mani`ere de considerer une methode polynomiale est de travailler avec les espaces
de Krylov. Dans ce cas, le polyn ome residuel nest pas explicitement connu. Cest cette
approche que suivent toutes les methodes actuelles.
Par la proposition suivante, on montre que les methodes polynomiales, denies `a partir des
espaces de Krylov, doivent engendrer des suites nies qui aboutissent ` a la solution exacte.
Proposition 6.2.3 La suite des sous-espaces de Krylov /
k
(A, r
0
) est une suite croissante de sous-
espaces, et donc stationnaire `a partir dun rang p ; pour k p, la dimension de /
k
(A, r
0
) est egale
`a k, et le syst`eme r
0
, Ar
0
, . . . , A
k1
r
0
est une base de /
k
(A, r
0
).
Le sous-espace /
p
(A, r
0
) est un sous-espace invariant de A; lequation Ay = r
0
a une solution
dans cet espace.
51
Preuve. La premi`ere partie de la proposition est evidente puisque tous les sous-espaces sont au
plus de dimension n, dimension de A. Soit p le premier rang o` u la dimension de /
k+1
(A, r
0
) est
egale `a k. Alors /
p+1
(A, r
0
) = /
p
(A, r
0
), et la suite est stationnaire ` a partir de ce rang. On a donc
:
A/
p
(A, r
0
) /
p+1
(A, r
0
) = /
p
(A, r
0
),
ce qui pouve linvariance de lespace. Loperateur A denit donc une bijection de lespace dans
lui-meme. Le vecteur r
0
appartenant ` a /
p
(A, r
0
), il a un antecedent dans cet espace.
En fait, pour les grands syst`emes, on cherche `a arreter les iterations avant daboutir ` a la
solution exacte. A letape k, pour determiner litere x
k
, on souhaiterait satisfaire une condition
de minimisation de lerreur pour certain produit scalaire. Cela nest pas toujours possible, et la
recherche dans le domaine a abouti ` a une condition plus generale que nous abordons maintenant.
6.2.2 Methodes polynomiales de projection
Denition 6.2.3 Une methode de projection de Krylov est une methode polynomiale denie par
une matrice B et deux conditions : la condition de sous-espace (6.5) et la condition dite de Petrov-
Galerkin :
(Be
k
)
T
u = 0, u /
k
(A, r
0
). (6.7)
Le choix de B dicte la construction de la methode de projection. Lorsque la matrice B denit
un produit scalaire, on obtient la propriete de minimisation souhaitee :
Proposition 6.2.4 Si B est une matrice symetrique denie positive alors, pour x
k
satisfaisant la
condition de sous-espace (6.5), la condition de Petrov-Galerkin (6.7) est equivalente `a minimiser
lerreur :
|e
k
|
B
= min
yK
k
(A,r
0
)
|e
0
y|
B
, (6.8)
o` u e
k
= x x
k
= x (x
0
+y) = e
0
y. Dans ce cas x
k
est determine de mani`ere unique.
Preuve. Soit x
k
= x
0
+y avec y /
k
(A, r
0
). La condition (6.7) exprime que lerreur e
k
= e
0
y
doit appartenir au B-orthogonal de lespace /
k
(A, r
0
). Or e
k
e
0
+ /
k
(A, r
0
). Il sensuit que e
k
est la projection B-orthogonale de e
0
sur (/
k
(A, r
0
))

B
. Le vecteur y solution du probl`eme aux
moindres carres (6.8) est bien la B-projection de e
0
sur /
k
(A, r
0
).
6.2.3 Preconditionnement dune methode polynomiale
La vitesse de convergence des methodes iteratives polynomiales depend de certaines proprietes
de la matrice A. Une fa con daccelerer la convergence est de transformer le probl`eme (6.1) en le
preconditionnant ` a laide dune matrice connue. Le nouveau syst`eme `a resoudre est equivalent mais
lobjectif est que la methode iterative polynomiale converge plus rapidement.
Denition 6.2.4 Un preconditionnement est deni par une matrice inversible C R
n,n
. Un
preconditionnement `a gauche resout le syst`eme equivalent
CAx = Cb,
tandis quun preconditionnement ` a droite resout le syst`eme equivalent
AC(C
1
x) = b.
52
Dans un syst`eme preconditionne `a gauche, la matrice est donc CA, de sorte que le produit
v = Au est remplace par la sequence des deux produits w = Au, v = Cw.
Si C = A
1
, alors CA = I de sorte que le syst`eme preconditionne est trivial. Le preconditionnement
C est souvent choisi pour approcher A
1
.
Proposition 6.2.5 Une methode polynomiale preconditionnee `a gauche est caracterisee par
x
k
x
0
+/
k
(CA, Cr
0
),
et une methode polynomiale preconditionnee `a droite est caracterisee par
x
k
x
0
+C/
k
(AC, r
0
).
Preuve. Considerons le syst`eme CAx = Cb. Soit x
0
le choix initial de la methode polynomiale
associee. Alors le residu s
0
verie s
0
= Cb CAx
0
= C(b Ax
0
) = Cr
0
et le polynome p
k
est
applique `a CA.
La preuve est similaire pour le syst`eme preconditionne `a droite.
Les methodes lineaires vues precedemment sont en fait des methodes polynomiales preconditionnees.
Proposition 6.2.6 Une methode lineaire est une methode polynomiale preconditionnee `a droite.
Le preconditionnement est C = M
1
et le polyn ome residuel est q(X) = (1 X)
k
.
Preuve. r
k+1
= r
k
AM
1
r
k
= (I AM
1
)r
k
= (I AM
1
)
k
r
0
.
6.3 Cas o` u A est symetrique denie positive
Nous avons vu que la methode SOR converge si A est symetrique denie positive. Toutefois, la
vitesse de convergence est en general tr`es lente. Il est preferable dutiliser la methode de Gradient
Conjugue.
6.3.1 Methode du Gradient Conjugue
La methode du Gradient Conjugue (GC) est la methode polynomiale de choix dans le cas o` u A est
symetrique denie positive. Elle est basee sur la minimisation de la fonctionnelle . De nombreux
ouvrages decrivent cette methode. Nous decrivons la methode GC dans le cadre des methodes de
projections de Krylov.
Denition 6.3.1 La methode du gradient conjugue (GC) est la methode de projection de Krylov
dans laquelle B = A et A est symetrique denie positive.
La proposition 6.2.4 se traduit immediatement par
Proposition 6.3.1 Les iteres x
k
du gradient conjugue sont bien denis pour tout k 0,` a partir
des conditions despace et de Petrov-Galerkin. Ils sont tels quils minimisent lerreur |x x
k
|
A
en
norme A, quantite egale au residu |b Ax
k
|
A
1 en norme A
1
. En au plus n etapes, la solution
exacte est trouvee (c.a.d. x = x
k
).
53
Denition 6.3.2 Dapr`es la condition despace (6.5), il existe
k
R et p
k
/
k+1
(A, r
0
) tels que
x
k+1
= x
k
+
k
p
k
. (6.9)
Le vecteur p
k
est appele direction de descente.
Proposition 6.3.2 La condition de Galerkin (6.7) est equivalente `a `a
r
k
/
k
(A, r
0
). (6.10)
Preuve. Evidente.
Theor`eme 6.3.1 Tant que les residus r
k
sont non nuls, la methode GC verie
r
0
= b Ax
0
,
x
k+1
= x
k
+
k
p
k
,
r
k+1
= r
k

k
Ap
k
,
engr
0
, r
1
, . . . , r
k
= engp
0
, p
1
, . . . , p
k
= /
k+1
(A, r
0
),
r
T
k
r
j
= 0, j ,= k,
p
T
k
Ap
j
= 0, j ,= k,
et les directions de descente peuvent etre choisies pour verier la recurrence (`a une constante pr`es)
p
0
= r
0
, p
k+1
= r
k+1
+
k
p
k
. (6.11)
Preuve. La condition (6.9) implique r
k+1
= r
k

k
Ap
k
. On a r
k
/
k+1
(A, r
0
) et
engr
0
, r
1
, . . . , r
k
/
k+1
(A, r
0
),
engp
0
, p
1
, . . . , p
k
/
k+1
(A, r
0
).
La condition de Galerkin (6.10) et le fait que les residus sont dans lespace de Krylov impliquent
immediatement lorthogonalite des residus.
Si r
j
,= 0, j = 0, 1, . . . , k, alors le sous-espace engr
0
, r
1
, . . . , r
k
est de dimension k + 1 (base
orthogonale) et on obtient legalite des sous-espaces. Le sous-espace de Krylov /
k
(A, r
0
) est donc
de dimension k.
La condition de Galerkin et la recurrence r
k+1
= r
k

k
Ap
k
induisent p
T
j
Ap
k
= 0, j k 1.
Puisque A est symetrique, on obtient p
T
k
Ap
j
= 0, j k 1.
Puisque p
0
engr
0
, on peut choisir p
0
= r
0
.
Puisque r
k+1
engp
0
, p
1
, . . . , p
k+1
, on peut ecrire
r
k+1
=
k+1

i=0

i
p
i
.
Pour j k 1, Ap
j
/
j+2
/
k+1
donc r
T
k+1
Ap
j
= 0. Dautre part, p
T
i
Ap
j
= 0, i ,= j do` u

j
= 0, j k 1. On en deduit que
r
k+1
=
k
p
k
+
k+1
p
k+1
.
Puisque dim(/
k
) = k, on a
k+1
,= 0 et on choisit
k+1
= 1. On en deduit la recurrence (6.11).
54
Remarque 6.3.1 Lhypoth`ese que A est symetrique permet de montrer la recurrence courte (6.11)
sur les directions de descente, qui relie p
k+1
`a seulement p
k
et non aux p
j
.
Il reste `a caracteriser
k
et
k
pour denir compl`etement la methode.
Theor`eme 6.3.2 On consid`ere le syst`eme Ax = b, o` u A une matrice spd. La methode du Gradient
Conjugue est denie par lalgorithme 9.
Algorithm 9: CG
* Initialisation ;
choisir x
0
;
r
0
= b Ax
0
;
p
0
= r
0
;
* Iterations ;
for k = 0, 1, . . . until convergence do

k
=
r
k

2
2
p
T
k
Ap
k
;
x
k+1
= x
k
+
k
p
k
;
r
k+1
= r
k

k
Ap
k
;

k
=
r
k+1

2
2
r
k

2
2
;
p
k+1
= r
k+1
+
k
p
k
;
end do
Preuve. Les recurrences sont dej` a prouvees.
Les residus sont orthogonaux donc, en particulier, r
T
k+1
r
k
= 0, do` u r
T
k
r
k

k
r
T
k
Ap
k
= 0.
Mais r
k
= p
k

k1
p
k1
et les directions de descente sont A-conjuguees donc r
T
k
Ap
k
= p
T
k
Ap
k
et

k
= r
T
k
r
k
/p
T
k
Ap
k
.
Les directions de descente sont conjuguees donc, en particulier, p
T
k+1
Ap
k
= 0. Dautre part,
r
T
k+1
Ap
k
=
1

k
r
T
k+1
(r
k
r
k+1
) =
1

k
r
T
k+1
r
k+1
do` u

k
=
r
T
k+1
r
k+1

k
p
T
k
Ap
k
=
r
T
k+1
r
k+1
r
T
k
r
k
.
Reciproquement, si les suites sont denies par les recurrences ci-dessus, il est aise de montrer
par recurrence que la methode verie les conditions despace (6.5) et de Petrov-Galerkin (6.7).
6.3.2 Lien avec la methode de Lanczos
La methode de Lanczos symetrique construit iterativement une base orthonormee de lespace de
Krylov ayant un vecteur v
1
comme depart. La base orthonormee V
k
verie V
T
k
AV
k
= T
k
, o` u T
k
est une matrice tridiagonale. Lobjet de ce paragraphe est de montrer que la methode de Gradient
Conjugue est une variante de la methode de Lanczos.
55
Lemme 6.3.1 Soit v
j+1
=
r
j
r
j

, j = 0, 1, . . . et V
k
= (v
1
, . . . , v
k
). Alors le syst`eme V
k
est une base
orthonormee de lespace de Krylov /
k
(A, r
0
) et
Av
k+1
=
k
v
k
+
k+1
v
k+1
+
k+1
v
k+2
, (6.12)
o` u

k
=

k1

k1
,
k+1
=
1

k
+

k1

k1
.
Preuve. les vecteurs v
k
sont orthonormes et engendrent lespace de Krylov.
Les relations de recurrence secrivent
r
k
= p
k

k1
p
k1
et Ap
k
=
1

k
(r
k
r
k+1
),
do` u
Ar
k
=
1

k
(r
k
r
k+1
)

k1

k1
(r
k1
r
k
),
Ar
k
=

k1

k1
r
k1
+ (
1

k
+

k1

k1
)r
k

k
r
k+1
,
do` u la relation (6.12).
De ce lemme, nous deduisons lequivalence entre le Gradient Conjugue et une methode de
Lanczos.
Theor`eme 6.3.3 La methode GC construit une base orthonormee V
k
= (v
1
, . . . , v
k
) de lespace de
Krylov /
k
(A, r
0
) qui verie
AV
k
= V
k
T
k
+
k
v
k+1
u
T
k
(6.13)
o` u T
k
R
kk
est une matrice tridiagonale symetrique et o` u u
T
k
= (0 . . . 0 1) R
k
.
Autrement dit, la methode GC applique la methode de Lanczos au vecteur de depart v
1
=
r
0
/|r
0
|.
La methode GC calcule x
k
= x
0
+V
k
y o` u y R
k
est solution du syst`eme lineaire
T
k
y = |r
0
|
2
u
1
, (6.14)
o` u u
T
1
= (1 0 . . . 0) R
k
.
Preuve. Posons
T
k
=

1

1

1

2

2
. . .

k1

k

,
alors, dapr`es (6.12), AV
k
= V
k
T
k
+
k
v
k+1
u
T
k
.
Cette propriete (6.13) est caracteristique de la methode de Lanczos.
Soit x
k
= x
0
+V
k
y alors r
k
= r
0
AV
k
y et V
T
k
r
k
= 0 secrit V
T
k
AV
k
y = V
T
k
r
0
. Or V
T
k
AV
k
= T
k
et V
T
k
r
0
= |r
0
|
2
u
1
.
Remarque 6.3.2 La matrice T
k
est symetrique denie positive, comme la matrice A.
56
6.3.3 Convergence de GC
Nous avons vu la construction de la methode du Gradient Conjugue. Nous allons maintenant
etudier les proprietes de convergence.
Proposition 6.3.3 Les coecients
k
et
k
existent et sont uniques tant que r
k
,= 0.
Preuve. Tant que r
k
,= 0, le coecient
k
est bien deni et est unique. Tant que r
k
,= 0, on a
aussi p
k
,= 0. La matrice A est denie positive donc p
T
k
Ap
k
,= 0 et le coecient
k
existe et est
unique.
Remarque 6.3.3 Lhypoth`ese que A est denie positive garantit lexistence et lunicite de
k
.
Il peut paratre paradoxal detudier la vitesse de convergence dune methode qui se termine en
un nombre ni diterations. Neanmoins, en pratique, lordre n est tr`es grand et la methode du
Gradient Conjugue fournit une approximation assez precise en beaucoup moins diterations. Nous
etablissons un premier resultat sur la decroissance des normes derreur. Il est `a noter que cest la
norme A de lerreur, donc la norme A
1
du residu, qui decrot strictement.
Theor`eme 6.3.4 Soit
(A) = |A|
2
|A
1
|
2
le conditionnement spectral de A.
La methode GC a une convergence strictement monotone, plus precisement
|e
k+1
|
A
(1
1
(A)
)
1/2
|e
k
|
A
. (6.15)
Preuve.
r
k+1
= r
k

k
Ap
k
,
|e
k+1
|
2
A
= e
T
k+1
Ae
k+1
= r
T
k+1
A
1
r
k+1
= r
T
k
A
1
r
k
2
k
r
T
k
p
k
+
2
k
p
T
k
Ap
k
or p
T
k
Ap
k
=
r
T
k
r
k

k
et r
T
k
p
k
= r
T
k
r
k
do` u |e
k+1
|
2
A
= |e
k
|
2
A

k
|r
k
|
2
2
.
Nous allons minorer successivement |r
k
|
2
2
et
k
. Nous avons
|e
k
|
2
A
= r
T
k
A
1
r
k
|A
1
|
2
|r
k
|
2
2
.
Dautre part,
p
T
k
Ap
k
= (r
k
+
k1
p
k1
)
T
Ap
k
= r
T
k
Ap
k
= r
T
k
Ar
k
+
k1
r
T
k
Ap
k1
or r
T
k
Ap
k1
= (p
k

k1
p
k1
)
T
Ap
k1
=
k1
p
T
k1
Ap
k1
0
donc p
T
k
Ap
k
r
T
k
Ar
k
|A|
2
|r
k
|
2
2
et
k
=
r
k

2
2
p
T
k
Ap
k

1
A
2
.
On en conclut que

k
|r
k
|
2
2

1
A
2
A
1

2
|e
k
|
2
A
donc |e
k+1
|
2
A
(1
1
(A)
)|e
k
|
2
A
.

57
Le facteur de decroissance depend du conditionnement. Si celui-ci est grand, le coecient
devient proche de 1 et la convergence risque detre lente.
Nous allons maintenant etablir une majoration de lerreur ameliorant le resultat ci-dessus. Pour
cela, nous allons exploiter la propriete de minimisation de la norme de lerreur et le caract`ere
polynomial de la methode.
Theor`eme 6.3.5 Les iterations de GC verient
|e
k
|
A
= min
qP
0
k
|q(A)e
0
|
A
.
Preuve. Lensemble |q(A)e
0
|
A
, q T
0
k
nest rien dautre que lensemble |b Ay|
A
1, y
x
0
+ /
k
(A, r
0
). La propriete de minimisation est donc equivalente sur lespace de Krylov et sur
lespace des polyn omes residuels.
Nous pouvons maintenant traduire cette propriete sous la forme dite min-max, en utilisant
la decomposition de A en valeurs propres.
Corollaire 6.3.1 Les iterations du GC verient
|e
k
|
A
|e
0
|
A
min
qP
0
k
max
z(A)
[q(z)[, (6.16)
o` u (A) est lensemble des valeurs propres 0 <
1
. . .
n
de A.
Preuve. Soit A = UU
1
la decomposition spectrale de A, o` u
est la matrice diagonale diag(
1
, . . . ,
n
), avec
i
, i = 1, . . . , n les valeurs propres stricte-
ment positives de A,
U est la matrice orthogonale de colonnes les vecteurs propres de A.
On a A
m
= U
m
U
1
et q(A) = Uq()U
1
.
Soit e
0
=

n
i=1

i
u
i
alors |e
0
|
2
A
=

n
i=1

2
i

i
.
En outre, q(A)e
0
=

n
i=1
q(
i
)
i
u
i
do` u |q(A)e
0
|
A
max
i
[q(
i
)[|e
0
|
A
; en utilisant le theor`eme
6.3.5, on en deduit la relation (6.16).
La propriete min-max permet dutiliser la theorie de lapproximation sur les polyn omes et de
calculer une majoration de lerreur.
Corollaire 6.3.2 Les iterations de GC verient
|e
k
|
A
2|e
0
|
A
(
_
(A) 1
_
(A) + 1
)
k
, (6.17)
o` u (A) =
n

1
est le conditionnement de A.
Preuve. Nous utilisons, sans le demontrer, le fait que
min
qP
0
k
max
z[
1
,n]
[q(z)[ =
1
[C
k
(
n+
1
n
1
)[
,
o` u C
k
est le polyn ome de Chebyshev de premi`ere esp`ece de degre k. Voir par exemple [35]. Do` u
le resultat du theor`eme.
58
Remarque 6.3.4 La borne (6.17) est meilleure que la borne (6.15). En eet,
_
(A) 1
_
(A) + 1

_
(A) 1
_
(A)
car
_
(A) 1
_
(A) 1.
6.3.4 Convergence superlineaire
Nous avons vu que la convergence du Gradient Conjugue est liee aux valeurs propres. Dautre part,
les valeurs propres de la matrice T
k
sont les valeurs de Ritz et convergent vers les valeurs propres
de A (voir methode de Lanczos). Lorsquune valeur extremale du spectre a converge, les iterations
du Gradient Conjugue se poursuivent comme sil y avait eu une deation dans le spectre de A.
Tout se passe comme si le conditionnement etait plus petit, par exemple
n1
/
1
et la convergence
saccel`ere. Puis une autre valeur de Ritz converge vers
n1
et la convergence saccel`ere de nouveau.
Ce phenom`ene sappelle convergence superlineaire. Il est etudie en details dans [37, 41].
6.3.5 Gradient Conjugue Preconditionne
Soit Aune matrice symetrique denie positive et C une matrice inversible. Les syst`emes preconditionnes
denis dans 6.2.4 ne sont pas symetriques.
Soit maintenant C une matrice symetrique denie positive et C = LL
T
sa factorisation de
Cholesky (qui existe). Un moyen de preserver la symetrie est de considerer le syst`eme preconditionne
L
T
AL(L
1
x) = L
T
b,
qui secrit
By = c,
avec B = L
T
AL et y = L
1
x, c = L
T
b. La matrice B est symetrique denie positive donc il est
possible dappliquer la methode du Gradient Conjugue au syst`eme By = c.
Maintenant, par un changement de variable, il est facile decrire lalgorithme du Gradient Con-
jugue applique `a By = c sous la forme suivante :
59
Algorithm 10: PCG
* Initialisation ;
choisir x
0
;
r
0
= b Ax
0
;
z
0
= Cr
0
;
p
0
= z
0
;
* Iterations ;
for k = 0, 1, . . . until convergence do

k
=
r
T
k
z
k
p
T
k
Ap
k
;
x
k+1
= x
k
+
k
p
k
;
r
k+1
= r
k

k
Ap
k
;
z
k+1
= Cr
k
;

k
=
r
T
k+1
z
k+1
r
T
k
z
k
;
p
k+1
= z
k+1
+
k
p
k
;
end do
La methode du Gradient Conjugue est denie par la condition de Galerkin liee au produit
scalaire euclidien. Mais il est egalement possible de denir la meme condition en utilisant un autre
produit scalaire.
Puisque la matrice C est symetrique denie positive, elle denit le produit scalaire
< x, y >
C
= x
T
Cy (6.18)
Maintenant, la matrice AC est auto-adjointe denie positive pour le produit scalaire (6.18).
Donc il est possible dappliquer lalgorithme du Gradient Conjugue avec le produit scalaire (6.18)
au syst`eme preconditionne AC(C
1
x) = b.
Il est facile de voir que lalgorithme obtenu est identique ` a lalgorithme 10.
Lalgorithme 10 est appele lalgorithme du Gradient Conjugue Preconditionne par C.
Des hypoth`eses plus generales sur le preconditionnement C sont etudiees dans [2, 7].
6.4 Proprietes des methodes de projection
Nous allons maintenant etudier les proprietes des methodes de projection de Krylov et retrouver
celles du Gradient Conjugue. Cette partie nous permettra de denir et de caracteriser les methodes
de projection de Krylov dans le cas symetrique indeni et dans le cas non symetrique.
Denition 6.4.1 Pour x
0
donne, une methode de projection de Krylov echoue `a letape k si la
condition de Galerkin (6.7) na pas une solution unique.
Theor`eme 6.4.1 Soit V
k
une base orthonormee de lespace de Krylov /
k
(A, r
0
) et soit C
k
=
V
T
k
BV
k
. La methode de projection de Krylov nechoue pas `a letape k pour tout x
0
si et seulement
si C
k
est non singuli`ere.
60
Si la methode nechoue pas `a letape k, alors
e
k
= P
k
e
0
o` u P
k
= I V
k
C
1
k
V
T
k
B
est la matrice de la projection sur (B
T
/
k
(A, r
0
))

parall`element ` a /
k
(A, r
0
).
Literee x
k
est denie par x
k
= x
0
+V
k
y o` u y est solution du syst`eme lineaire
C
k
y = V
T
k
Be
0
. (6.19)
Si la methode na pas echoue jusqu` a letape k et si /
k+1
(A, r
0
) = /
k
(A, r
0
), alors la methode
a converge, donc r
k
= e
k
= 0.
Tant que la methode nechoue pas et ne converge pas, alors dim(/
k
(A, r
0
) = k.
Si la methode nechoue pas, alors elle converge en au plus n iterations.
Preuve. La condition despace secrit x
k
= x
0
+V
k
y et la condition de Galerkin secrit V
T
k
Be
k
= 0,
soit V
T
k
Be
0
C
k
y = 0. Ce syst`eme lineaire a une solution unique pour tout e
0
si et seulement si
C
k
est non singuli`ere.
Si C
k
est inversible alors
y = C
1
k
V
T
k
Be
0
,
e
k
= e
0
V
k
y = (I V
k
C
1
k
V
T
k
B)e
0
= P
k
e
0
.
Si /
k+1
(A, r
0
) = /
k
(A, r
0
), alors A
k
r
0
/
k
(A, r
0
) et A
1
r
0
/
k
(A, r
0
), donc x

= x
0
+A
1
r
0
est solution de la condition de Galerkin. Si la methode na pas echoue, cette solution est unique
donc x
k
= x

.
La suite des espaces de Krylov est croissante, donc elle est stationnaire `a partir dun certain
rang k n et et dans ce cas la methode a converge.
Theor`eme 6.4.2 Si la matrice B est denie, la methode de projection de Krylov associee nechoue
pas pour tout x
0
.
Si B nest pas denie, il existe x
0
tel que la methode de projection de Krylov associee echoue.
Si B est symetrique denie positive, alors la convergence est monotone : |e
k
|
B
|e
k1
|
B
.
Si de plus, BA
1
est denie, alors la convergence est strictement monotone : il existe > 0,
tel que pour tout k,
|e
k
|
B
(1 )|e
k1
|
B
.
Preuve. Si B est denie alors z ,= 0, V
k
z ,= 0, (V
k
z)
T
B(V
k
z) ,= 0 c`ad z
T
C
k
z ,= 0 donc C
k
z ,= 0
et C
k
est inversible.
Si B nest pas denie, soit z ,= 0 tel que z
T
Bz = 0 et soit r
0
= z et V
1
= r
0
/|r
0
|. Alors
C
1
= 0 et le syst`eme (6.19) na pas une solution unique (il peut avoir une innite de solutions si
r
T
0
BAr
0
= 0).
Si B est symetrique denie positive, la condition de Galerkin est aussi une condition de min-
imisation :
|e
k
|
B
= min
xx
0
+K
k
(A,r
0
)
|x x

|
B
.
Il sut dappliquer cette condition ` a x
k1
pour obtenir la convergence monotone.
La preuve de la convergence strictement monotone est faite dans [24].
61
Remarque 6.4.1 Pour la methode GC, B = A donc B est symetrique denie positive et BA
1
= I
est denie. On retrouve que la methode nechoue pas et a une convergence strictement monotone.
Dans la methode GC, il est possible de construire une base Aorthonormee de lespace de Krylov
`a laide dune recurrence courte. Les theor`emes prouves dans [12, 13] donnent une caracterisation
des methodes pour lesquelles une telle recurrence existe. Nous donnons ici une condition susante.
Theor`eme 6.4.3 Si B et BA sont symetriques, alors il existe une recurrence courte permettant
de calculer une base Borthogonale de lespace de Krylov.
Preuve. Nous faisons la preuve par recurrence. Pour k = 0, le choix p
0
= r
0
convient. Supposons
quil existe une base Borthonormee (p
0
, . . . , p
k1
) de /
k
(A, r
0
). Nous cherchons p
k
sous la forme
p
k
= r
k
+
k1

i=1

i
p
i
.
Puisque B est symetrique, (Bp
k
)
T
p
j
= p
T
k
(Bp
j
). Alors
p
T
k
Bp
j
= r
T
k
Bp
j
+

k1
i=1
p
T
i
Bp
j
,
or p
T
i
Bp
j
= 0, j k 2, j ,= i, par recurrence,
et r
T
k
Bp
j
= (Ae
k
)
T
Bp
j
= e
T
k
(BA)
T
p
j
= e
T
k
B(Ap
j
), car B et BA sont symetriques,
or Ap
j
/
k
(A, r
0
), j k 2,
donc r
T
k
Bp
j
= 0, j k 2,
do` u
j
= 0, j k 2,
et p
k
= r
k
+
k1
p
k1
.

6.5 Cas o` u A est symetrique indenie


Lorsque Aest symetrique mais indenie, on peut choisir B = Apour denir une methode symetrique
mais on ne garantit pas labsence dechec ou choisir B = A
2
qui est symetrique denie positive
(donc pas dechec et convergence monotone due `a une propriete de minimisation). Dans les deux
cas, il est possible dutiliser la methode de Lanczos puisque A est symetrique. Il existe plusieurs
methodes, detaillees par exemple dans [4] ; les methodes SYMMLQ et MINRES sont dues ` a [30].
6.5.1 Methode de Lanczos
Le procede de Lanczos construit une base orthonormee V
k
de lespace de Krylov /
k
(A, r
0
). Soit
v
1
= r
0
/|r
0
|
2
, on a
AV
k
= V
k
T
k
+
k
v
k+1
u
T
k
, (6.20)
o` u T
k
R
k,k
est une matrice tridiagonale symetrique. On peut aussi lecrire
AV
k
= V
k+1
T
k
(6.21)
o` u
T
k
=
_
T
k

k
u
T
k
_
.
62
Remarque 6.5.1 La methode de Lanczos construit la meme suite (x
k
) que le gradient conjugue,
mais elle le fait ` a partir de la relation :
x
k
= x
0
+|r
0
|V
k
T
k
1
e
1
. (6.22)
Litere nest pas deni `a letape k lorsque T
k
est singuli`ere (voir le theor`eme 6.4.1, ce qui peut
arriver puisque la matrice A nest pas supposee etre denie. Le Gradient Conjugue, qui revient ` a
factoriser au fur et ` a mesure la matrice T
k
, sarrete donc `a la meme etape. En fait, le procede de
Lanczos peut malgre tout etre poursuivi et donc litere pourra peut-etre etre construit `a une etape
ulterieure. Ce depassement de lobstacle nest pas possible avec lalgorithme du Gradient Conjugue.
6.5.2 Methode MINRES
On a e
T
k
A
2
y = r
T
k
Ay, donc pour B = A
2
, la condition de Galerkin secrit, dapr`es la proposition
6.2.4,
min |r
k
|
2
.
La condition despace secrit x
k
= x
0
+V
k
y do` u
r
k
= r
0
AV
k
y = |r
0
|
2
v
1
V
k+1
T
k
y = V
k+1
(|r
0
|
2
u
1
T
k
y)
et la condition de Galerkin devient
min
yR
k
||r
0
|
2
u
1
T
k
y| (6.23)
La methode MINRES resout (6.23) en factorisant T
k
`a laide de rotations de Givens. Cette
factorisation peut seectuer ` a laide de recurrences courtes, car T
k
est symetrique. La generalisation
au cas non symetrique est la methode GMRES decrite plus loin.
6.5.3 Methode CR
La methode MINRES utilise la propriete de minimisation. La methode CR, qui est aussi basee sur
B = A
2
, utilise quant ` a elle la propriete dorthogonalite. Les deux methodes construisent la meme
suite diteres (x
k
). La condition de Galerkin secrit e
T
k+1
A
T
Ar
j
= 0, j k soit
r
T
k+1
Ar
j
= 0, j k, (6.24)
autrement dit, les residus sont Aconjugues. Les vecteurs de descente p
k
sont A
2
orthonormes
donc les vecteurs Ap
k
sont orthogonaux au sens classique.
La methode CR (Conjugate Residuals) utilise les recurrences courtes comme dans le Gradient
Conjugue pour garantir r
T
k+1
Ar
k
= 0 et (Ap
k+1
)
T
Ap
k
= 0. Elle applique la methode de Lanczos
pour construire la base orthonormee (Ap
0
/|Ap
0
|
2
, . . . , Ap
k1
/|Ap
k1
|
2
) de lespace de Krylov
A/
k
(A, r
0
).
63
6.5.4 Methode SYMMLQ
Ici, on choisit B = A comme dans le Gradient Conjugue. La condition de Galerkin secrit donc
comme dans le Gradient Conjugue
x
k
= x
0
+V
k
y, T
k
y = |r
0
|
2
u
1
. (6.25)
La methode SYMMLQ resout le syst`eme lineaire (6.25) comme dans la methode de Lanczos, et
donc comme dans le Gradient Conjugue, sans propriete de minimisation, puisque la matrice A nest
pas supposee etre denie.
Tant quil ny a pas dechec, si le procede de Lanczos sarrete, la methode SYMMLQ a converge.
En eet, les espaces de Krylov deviennent stationnaires et on peut appliquer le theor`eme 6.4.1. Cest
un cas dechec heureux.
Il peut y avoir echec serieux si la matrice T
k
est singuli`ere. En eet, dans le theor`eme 6.4.1,
la matrice C
k
= V
T
k
AV
k
vaut T
k
. La methode SYMMLQ utilise une factorisation LQ de T
k
pour
eviter les situations dechec.
6.6 Cas o` u A est non symetrique - methodes de type gradient
conjugue
Si A est non symetrique, on peut preconditionner le syst`eme (6.1) pour se ramener `a un syst`eme
symetrique deni positif. Cest lidee des methodes dites des equations normales. Voir par exemple
[35, 2, 4].
6.6.1 Methode CGNR
En preconditionnant ` a gauche par A
T
, on obtient
A
T
Ax = A
T
b, (6.26)
sur lequel on peut appliquer lalgorithme du Gradient Conjugue. La methode calcule alors
x
k
x
0
+/
k
(A
T
A, A
T
r
0
)
tel que
|r
k
|
2
= min
yx
0
+K
k
(A
T
A,A
T
r
0
)
|b Ay|
2
.
On obtient ainsi la methode dite CGNR, Gradient Conjugue applique aux equations normales qui
minimise la norme euclidienne du residu.
Une variante de CGNR, appelee LSQR, qui est tr`es souvent utilisee pour resoudre les probl`emes
aux moindres carres, est decrite dans [31].
6.6.2 Methode CGNE
En preconditionnant ` a droite par A
T
, on obtient
AA
T
(A
T
x) = b, (6.27)
64
sur lequel on peut appliquer lalgorithme du Gradient Conjugue. La methode calcule alors
x
k
x
0
+A
T
/
k
(AA
T
, r
0
)
tel que
|e
k
|
2
= min
yx
0
+A
T
K
k
(AA
T
,r
0
)
|x

y|
2
.
On obtient ainsi la methode dite CGNE, Gradient Conjugue applique aux equations normales qui
minimise la norme euclidienne de lerreur.
6.6.3 Convergence de CGNR et CGNE
Les methodes CGNR et CGNE ont les avantages de la methode du Gradient Conjugue : recurrence
courte, minimisation, convergence strictement monotone.
Par contre, dans la borne derreur (6.17), le conditionnement est celui de la matrice preconditionnee
cest-`a-dire
(A
T
A) = (AA
T
) = (A)
2
= (

1
)
2
,
o` u 0 <
1
< . . . <
n
sont les valeurs singuli`eres de A.
6.7 Cas o` u A est non symetrique - methode GMRES
Une autre solution pour le cas non symetrique, comme pour le cas symetrique indeni, est de
choisir B = A
T
A qui est symetrique denie positive. La methode de Krylov associee est la methode
GMRES [36].
Theor`eme 6.7.1 La methode GMRES est caracterisee par
x
k
x
0
+/
k
(A, r
0
),
r
k
A/
k
(A, r
0
),
et cette condition est equivalente `a
|r
k
|
2
= min
xx
0
+K
k
(A,r
0
)
|b Ax|
2
. (6.28)
La methode GMRES nechoue pas (le probl`eme (6.28) a une solution unique). De plus, la conver-
gence est monotone et la solution est atteinte en au plus n iterations.
Preuve. Il sut dappliquer le theor`eme 6.4.2.
Remarque 6.7.1 Par contre, la matrice BA = A
T
A
2
nest pas symetrique et il nest pas possible
dappliquer le theor`eme 6.4.3 pour denir une recurrence courte.
Puisque la matrice BA
1
= A
T
nest pas denie en general, la convergence peut ne pas
etre strictement monotone. Dans lexemple ci-dessous, le residu stagne jusqu` a literation n o` u
il sannule.
65
Exemple 6.7.1 Soit (u
1
, . . . , u
n
) la base canonique de R
n
et soit la matrice A denie par
_
Au
i
= u
i+1
, 1 i n 1,
Au
n
= u
1
.
Soit b = u
1
. Le syst`eme lineaire Ax = b a pour solution x

= u
n
.
Si x
0
= 0, les espaces de Krylov sont
/(A, r
0
) = engu
1
, . . . , u
k
, 1 k n 1.
Les iteres valent
_
x
k
= 0, r
k
= u
1
, 1 k n 1,
x
n
= u
n
.
Il y a stagnation durant n 1 iterations et convergence ` a la n
ieme
iteration.
La proposition suivante caracterise les situations de stagnation dans GMRES.
Proposition 6.7.1 Si |r
k+1
|
2
= |r
k
|
2
alors r

k
Ar
k
= 0.
Reciproquement, si r

k
Ar
k
= 0, alors r
k+1
= r
k
ou r
k
= r
k1
.
Preuve. Si |r
k+1
|
2
= |r
k
|
2
, alors r
k
est lunique solution du probl`eme (6.28) pour lindice k +1
donc r
k
= r
k+1
et r
k
A/
k+1
(A, r
0
) ; or r
k
/
k+1
(A, r
0
) do` u r
k
Ar
k
.
Reciproquement, si r
k
= 0, alors r
k+1
= r
k
= 0. On peut donc supposer que r
k
,= 0. Alors
lespace de Krylov /
k+1
(A, r
0
) est de dimension k + 1.
Supposons que r

k
Ar
k
= 0.
On sait que r
k
/
k+1
(A, r
0
), alors analysons deux situations possibles.
Si r
k
nest pas dans /
k
(A, r
0
) alors eng/
k
(A, r
0
), r
k
= /
k+1
(A, r
0
). Comme r
k
A/
k
et
r
k
Ar
k
, on en deduit que r
k
A/
k+1
donc que r
k
est solution du probl`eme (6.28) pour lindice
k + 1 et par unicite, r
k+1
= r
k
.
Sinon, r
k
/
k
donc x
k
x
0
/
k
, A(x
k
x
0
) /
k
do` u, gr ace `a la proposition (6.2.3),
x
k
x
0
/
k1
. Par consequent, r
k
est solution du probl`eme (6.28) `a lindice k 1 et par unicite,
r
k
= r
k1
.
6.7.1 Lien avec la methode dArnoldi
Dans le cas symetrique, les methodes GC et MINRES sont liees au procede de Lanczos. Ici, la
methode GMRES est liee au procede dArnoldi.
Denition 6.7.1 Tant que la dimension de lespace de Krylov est maximale, le procede dArnoldi
construit une base orthonormee V
k+1
= (v
1
, . . . , v
k+1
) de lespace de Krylov /
k+1
(A, v
1
). Cette
base verie
AV
k
= V
k
H
k
+h
k+1,k
v
k+1
u
T
k
= V
k+1
H
k
(6.29)
o` u H
k
R
kk
est une matrice de Hessenberg, H
k
R
k+1k
est denie par
H
k
=
_
H
k
h
k+1,k
u
T
k
_
et o` u u
T
k
= (0 . . . 0 1) R
k
.
66
La methode GMRES peut maintenant etre construite gr ace `a la methode dArnoldi.
Theor`eme 6.7.2 Si la methode GMRES na pas converge, le probl`eme (6.28) est equivalent au
probl`eme
min
yR
k
(|r
0
|
2
u
1
H
k
y) (6.30)
o` u V
k+1
et H
k
sont la base et la matrice construites par le procede dArnoldi applique `a v
1
=
r
0
r
0

2
.
Preuve. Le syst`eme (6.19) est equivalent au probl`eme (6.28). La matrice C
k
= V
T
k
BV
k
vaut ici
(AV
k
)
T
(AV
k
) = H
T
k
H
k
car V
k+1
est un syst`eme orthonorme.
Le second membre du syst`eme (6.19) vaut V
T
k
Be
0
= H
T
k
V
T
k+1
r
0
= |r
0
|
2
H
T
k
u
1
car v
1
est orthog-
onal ` a v
i
, i 2.
Resoudre le syst`eme (6.19) equivaut donc ` a resoudre le syst`eme
H
T
k
H
k
y = |r
0
|
2
H
T
k
u
1
,
qui est le syst`eme des equations normales associe au probl`eme aux moindres carres (6.30).
Il reste `a choisir une methode de resolution de (6.30). La methode GMRES, telle quelle est
denie dans [36] et couramment utilisee, utilise une factorisation QR de la matrice H
k
par des
rotations de Givens. Il est alors possible de calculer |r
k
|
2
sans calculer x
k
et davoir un crit`ere
darret simple.
6.7.2 Convergence de GMRES
Comme pour GC, la propriete de minimisation de GMRES peut se traduire sous forme polynomiale.
Theor`eme 6.7.3 Si A est diagonalisable, soit A = UU
1
, o` u les colonnes de U forment une base
de vecteurs propres et o` u = diag(
1
, . . . ,
n
) et soit (U) = |U|
2
|U
1
|
2
le conditionnement de
U.
Les iterations de GMRES verient
|r
k
|
2
|r
0
|
2
(U) min
qP
0
k
max
z(A)
[q(z)[. (6.31)
Preuve. La propriete de minimisation (6.28) est equivalente ` a la propriete
|r
k
|
2
= min
qP
0
k
|q(A)r
0
|
2
.
Soit q T
0
k
, alors q(A) = Uq()U
1
; soit r
0
= U, alors q(A)r
0
= Uq().
Donc |q(A)r
0
|
2
|U|
2
|q()|
2
||
2
.
Or = U
1
r
0
do` u ||
2
|U
1
|
2
|r
0
|
2
.
En outre |q()|
2
= max

i
[q(
i
)[, ce qui donne linegalite (6.31).

67
6.7.3 Redemarrage de GMRES
Linconvenient principal de GMRES est labsence de recurrence. Le procede dArnoldi requiert le
stockage des vecteurs v
k
et lorthogonalisation du vecteur Av
k+1
par le procede de Gram-Schmidt
modie. Le nombre doperations, outre le produit par A, est donc en O(nk
2
). Pour limiter le co ut,
`a la fois en memoire et en temps de calcul, on utilise en pratique un redemarrage.
La methode GMRES(m) eectue des cycles de m iterations de GMRES, en redemarrant avec
la derni`ere approximation x
m
. Cela permet de limiter le stockage `a O(m) vecteurs et de reduire le
temps de calcul. Toutefois, le choix de m est delicat.
Remarque 6.7.2 Les normes euclidiennes des residus dans GMRES(m) decroissent mais il peut
y avoir stagnation. Dans lexemple 6.7.1, la methode GMRES(m) stagne sans converger pour tout
m < n.
Voici un squelette de lalgorithme GMRES(m), o` u nest pas detaillee la factorisation QR de la
matrice H avec des rotations de Givens.
Algorithm 11: GMRES(m)
* Initialisation ;
choisir x
0
;
r
0
= b Ax
0
;
* Iterations ;
until convergence do
v
1
=
r
0
r
0

2
;
* procede dArnoldi ;
for j = 1, m
w = Av
j
;
for i = 1, j
h
ij
= v
T
i
w;
w = w h
ij
v
i
;
end for ;
h
j+1,j
= |w|
2
;
v
j+1
= w/h
j+1,j
;
* probl`eme aux moindres carres
H
j
= Q
j
R
j
;
calculer |r
j
|
2
;
test de convergence
end for ;
calculer y
m
solution de min
y
(|r
0
|
2
e
1
H
m
y) ;
x
m
= x
0
+V
m
y
m
;
r
m
= b Ax
m
;
test de convergence
x
0
= x
m
; r
0
= r
m
;
end do
68
6.8 Cas o` u A est non symetrique - methodes de gradient bi-conjugue
Nous venons de voir que la methode GMRES a de bonnes proprietes de minimisation mais necessite
un redemarrage car elle ne poss`ede pas de recurrence courte. A loppose, les methodes de type
gradient bi-conjugue utilisent une recurrence courte mais nont pas de propriete de minimisation
et sont susceptibles dechouer. La methode BICG est une methode de projection de Krylov, les
variantes CGS, BICGSTAB et QMR ne sont plus des methodes de projection. Alors que la methode
GMRES est liee au procede dArnoldi, les methodes bi-conjuguees sont connectees `a la methode de
Lanczos non symetrique. Pour plus de details sur ces methodes, voir par exemple [35, 4, 7, 28, 19].
6.8.1 Construction de BICG
La methode du gradient bi-conjugue (BICG) resout le syst`eme augmente
_
A 0
0 A
T
__
x
x
_
=
_
b

b
_
par la methode de projection de Krylov o` u la matrice B est choisie egale `a
_
0 A
T
A 0
_
Proposition 6.8.1 La methode BICG est denie par les choix de x
0
et de x
0
et par les conditions
despace et de Galerkin suivantes :
x
k
x
0
+/
k
(A, r
0
),
x
k
x
0
+/
k
(A
T
, r
0
),
r
k
/
k
(A
T
, r
0
),
r
k
/
k
(A, r
0
).
La methode risque dechouer.
La methode BICG poss`ede une recurrence courte.
Preuve. Soit

A =
_
A 0
0 A
T
_
.
Lespace de Krylov associe est
_
/
k
(A, r
0
)
/
k
(A
T
, r
0
)
_
,
ce qui donne bien la condition despace. De plus,
B

A
1
=
_
0 I
I 0
_
,
ce qui donne bien la condition de Galerkin.
La matrice B nest pas denie donc la methode risque dechouer, dapr`es le theor`eme 6.4.2.
Les matrices B et B

A sont symetriques, la methode poss`ede donc une recurrence courte, dapr`es
le theor`eme 6.4.3.
69
Lalgorithme BICG est construit de la facon suivante.
Algorithm 12: BICG
* Initialisation ;
choisir x
0
et

b et x
0
;
r
0
= b Ax
0
; r
0
=

b A x
0
;
p
0
= r
0
; p
0
= r
0
;
* Iterations ;
for k = 0, 1, . . . until convergence do

k
=
r
T
k
r
k
p
T
k
Ap
k
;
x
k+1
= x
k
+
k
p
k
;
r
k+1
= r
k

k
Ap
k
;
r
k+1
= r
k

k
A
T
p
k
;

k+1
=
r
T
k+1
r
k+1
r
T
k
r
k
;
p
k+1
= r
k+1
+
k+1
p
k
;
p
k+1
= r
k+1
+
k+1
p
k
;
end do
Les residus et les directions de descente verient les conditions dorthogonalite suivantes :
r
T
k+1
r
k
= 0, Ap
T
k+1
p
k
= p
T
k+1
A
T
p
k
= 0.
6.8.2 Lien avec Lanczos non symetrique
Theor`eme 6.8.1 La methode BICG construit deux bases V
k
= (v
1
, . . . , v
k
) et W
k
= (w
1
, . . . , w
k
)
des espaces de Krylov /
k
(A, r
0
) et /
k
(A
T
, r
0
) qui verient
AV
k
= V
k
T
k
+
k
v
k+1
u
T
k
,
A
T
W
k
= W
k
T
T
k
+
k
w
k+1
u
T
k
,
V
T
k
W
k
= I,
(6.32)
o` u T
k
R
kk
est une matrice tridiagonale et o` u u
T
k
= (0 . . . 0 1) R
k
.
Autrement dit, la methode BIGC applique la methode de Lanczos non symetrique, appelee aussi
dans la suite methode Bi-Lanczos, aux vecteurs de depart v
1
= r
0
/|r
0
|
2
et w
1
= r
0
tel que
v
T
1
w
1
= 1.
La methode BICG resout le syst`eme lineaire
T
k
y = |r
0
|
2
u
1
.
Elle echoue si T
k
est singuli`ere.
Preuve. La preuve est la meme que pour CG, o` u V
k
et W
k
sont les bases (r
0
, . . . , r
k1
) et
( r
0
, . . . , r
k1
) normalisees de mani`ere `a avoir V
T
k
W
k
= I. Il y a echec si la matrice
C
k
=
_
0 T
T
k
T
k
0
_
,
70
du theor`eme 6.4.2 est singuli`ere, donc si la matrice T
k
est singuli`ere.

Il existe des situations dechec heureux dans la methode Bi-Lanczos, comme pour les methodes
de Lanczos et dArnoldi.
Proposition 6.8.2 Si la methode Bi-Lanczos sest poursuivie jusqu` a lindice k 1 et sarrete
parce que Av
k
engv
k
, v
k1
(dans ce cas, Aw
k
engw
k
, w
k1
), alors /
k
(A, v
1
) = /
k+1
(A, v
1
)
et /
k
(A
T
, w
1
) = /
k+1
(A
T
, w
1
).
Preuve. Par hypoth`ese, il ny pas eu dechec auparavant et on peut appliquer le theor`eme 6.4.1.

Cet arret est un echec heureux pour la methode BICG puisqualors la methode a converge.
6.8.3 Convergence de BICG
La methode BICG presente lavantage de posseder une recurrence courte. Par contre, elle requiert
`a chaque iteration deux produits matrice-vecteur, par A et A
T
. De plus, elle peut echouer (echec
serieux) si la matrice T
k
est singuli`ere. Enn, le residu ou lerreur ne verient pas de propriete de
minimisation, on ne peut pas prouver une convergence monotone. On observe eectivement dans
de nombreux cas une convergence tr`es irreguli`ere.
Pour eviter les echecs dans la methode Bi-Lanczos, il est possible dutiliser une version dite
look-ahead [32, 15]. Lidee est de construire plusieurs vecteurs `a la fois qui sont bi-orthogonaux
par blocs. Cette version est ecace sauf dans les cas dechecs dits incurables.
6.8.4 Variantes CGS et BICGSTAB
Pour eviter les produits par A
T
, il est possible de modier le polynome sous-jacent dans BICG.
Cest lidee des methodes CGS [38] et BICGSTAB [42]. Il est `a noter que ces variantes de methodes
de Krylov ne sont plus des methodes de projection.
6.9 Cas o` u A est non symetrique - methode QMR
La methode QMR permet deviter une convergence irreguli`ere. Ce nest plus `a proprement parler
une methode de projection de Krylov. Elle est basee aussi sur la methode Bi-Lanczos et impose
une condition de quasi-minimisation [16, 14]. Plus precisement, on a
x
k
= x
0
+V
k
y,
r
k
= r
0
AV
k
y = V
k+1
(u
1
T
k
y).
Puisque V
k+1
nest pas un syst`eme orthogonal, minimiser |r
k
| serait trop co uteux. On denit le
probl`eme de quasi-minimisation
min
y
|
1
k+1
(u
1

k+1
T
k
y)|
2
(6.33)
o` u
k+1
est une matrice diagonale.
Ce probl`eme est resolu par une factorisation QR de la matrice
k+1
T
k
.
La methode de Lanczos avec look-ahead permet deviter les situations dechec. Une version
Transpose-Free (TFQMR) ne requiert pas le produit par A
T
. La convergence nest pas monotone
mais est plus reguli`ere que pour les variantes de BICG. En outre, il existe un resultat de convergence.
71
6.10 Probl`emes numeriques dans les methodes de Krylov
6.10.1 Perte dorthogonalite et derive du residu
Les methodes de Krylov reposent sur des conditions dorthogonalite, qui sont souvent veriees par
recurrence. De meme, litere x
k
et le residu r
k
sont souvent calcules par deux recurrences, qui
verient implicitement r
k
= b Ax
k
. Ces conditions sont demontrees en arithmetique exacte, mais
ne sont pas veriees en arithmetique ottante, ` a cause des erreurs darrondi generees. Cela se
traduit par deux phenom`enes [] :
une perte dorthogonalite ; par exemple, dans le Gradient Conjugue, les directions de descente
ne sont plus conjuguees et les residus ne sont plus orthogonaux. Cette perte dorthogonalite
engendre une irregularite et un ralentissement de la convergence. Dans les versions matrix-free
notamment, le produit par A engendre des erreurs darrondi assez grandes pour provoquer
une perte dorthogonalite. Celle-ci peut etre corrigee par une reorthogonalisation totale ou
partielle.
un residu calcule qui nest plus egal `a bAx ; par exemple, dans le Gradient Bi-Conjugue, on
observe une derive entre r
k
calcule et b Ax
k
. Par consequent, le crit`ere darret base sur r
k
nest plus valide et les iterations risquent de sarreter avant reelle convergence. Ce probl`eme
peut etre corrige en recalculant reguli`erement le residu.
6.10.2 Breakdowns et near-breakdowns
Certaines methodes de Krylov peuvent echouer, par exemple SYMMLQ ou BICG, lorsque la matrice
tridiagonale du procede de Lanczos ou de Bi-Lanczos devient singuli`ere. De meme, le procede de
Lanczos peut sarreter si lespace de Krylov devient invariant (echec heureux). Numeriquement,
la situation se degrade d`es que la matrice de Lanczos devient proche de la singularite ou d`es que
lespace de Krylov devient presque invariant. On parle alors de near-breakdown.
Il faut en fait appliquer la methode de Lanczos avec look-ahead d`es quun probl`eme numerique
est detecte [].
6.11 Preconditionnement
En general, les methodes de Krylov convergent trop lentement et il faut preconditionner le syst`eme.
Lidee est de trouver une matrice C telle que CA soit mieux conditionnee que A et telle que le
produit par C soit peu co uteux. Lideal serait de choisir C = A
1
, aussi cherche-t-on `a ap-
procher linverse de A. Pour le Gradient Conjugue, un preconditionnement symetrique deni posi-
tif garantit de conserver les proprietes de la methode. Il existe dierentes facons de construire un
preconditionnement. Nous donnons ci-dessous un bref aper cu, plus de details peuvent se trouver
dans [35, 28].
6.11.1 Decomposition de A
Les preconditionnements les plus simples sont bases sur les methodes lineaires, donc sur une
decomposition de A.
Le preconditionnement diagonal, dit aussi de Jacobi, consiste ` a choisir C = D
1
o` u D =
diag(A).
72
Le preconditionnement SSOR consiste `a choisir C = (D+L)D
1
(D+U) o` u A = D+L+U,
avec D diagonale, L triangulaire inferieure et U triangulaire superieure. En general, on choisit
= 1.
Ces deux preconditionnements sont symetriques denis positifs d`es que A lest.
6.11.2 Factorisation incompl`ete
Les methodes iteratives sont souvent appliquees `a des matrices creuses, dont une grande partie des
coecients sont nuls. Un des inconvenients des methodes directes appliquees aux matrices creuses
est le co ut de stockage induit par le remplissage lors de la factorisation de Gauss ou de Cholesky,
voir par exemple [33]. Lidee des factorisations incompl`etes est de limiter le remplissage. On obtient
alors
A = LU +R
et le preconditionnement est deni par C = U
1
L
1
.
Il existe diverses strategies pour limiter le remplissage, mais la factorisation incompl`ete peut ne
pas exister. Toutefois, elle existe pour toute strategie si A est une Mmatrice [27]. Le cas le plus
simple est la methode ILU(0) o` u aucun remplissage nest autorise.
Ces preconditionnements sont tr`es souvent utilises pour leur ecacite, bien quils requi`erent un
stockage supplementaire consequent et un temps de calcul assez important.
6.11.3 Preconditionnement polynomial
Dans la mesure o` u les methodes de Krylov sont des methodes polynomiales, il parat naturel de les
preconditionner par des polyn omes. Lobjectif est de choisir un polynome qui approche linverse de
A. Plus precisement, on cherche q T
m
tel que |1 Xq(X)| soit minimal pour une norme denie
sur lespace des polyn omes. Il existe principalement deux choix, une norme uniforme et une norme
aux moindres carres, toutes deux denies sur un compact contenant le spectre de A [34].
Lavantage est un co ut memoire negligeable, mais linconvenient est une ecacite parfois reduite.
6.11.4 Inverse approche
Ici, il sagit de trouver une matrice C qui minimise |I CA| ou |I AC| pour une norme ` a
preciser. Ce type de preconditionnement peut saverer tr`es ecace, mais co uteux ` a calculer. En
outre, les conditions dexistence sont mal denies dans le cas non symetrique.
6.11.5 Multigrille et multiniveaux
Les methodes multigrilles et multiniveaux sont des methodes iteratives qui peuvent etre utilisees
en soi. Mais, comme pour les methodes lineaires de type Gauss-Seidel, il est possible de denir un
preconditionnement ` a partir de ces methodes. Par exemple, un V cycle dune methode multigrille
est un preconditionnement symetrique deni positif si A lest.
Linteret de ces methodes est de reduire notablement le conditionnement de A, lorsque A est
issue dune discretisation dEDP. Si h est le pas de discretisation, le conditionnement passe souvent
de O(h
1
) ` a O(1).
73
6.11.6 Probl`emes approches
Les preconditionnements decrits jusquici sont bases sur des concepts algebriques. Lorsque la ma-
trice A est issue dune discretisation dEDP, il peut etre tr`es ecace de construire un preconditionnement
`a partir dune decomposition de lEDP ou dune EDP plus simple.
6.11.7 Deation et syst`emes augmentes
Le phenom`ene de convergence superlineaire est `a la base des methodes de projection et de deation
pour accelerer la convergence dune sequence de syst`emes lineaires ou ` a chaque redemarrage de
GMRES(m). Lidee est de calculer les valeurs de Ritz et les vecteurs de Ritz associes aux plus
petites valeurs propres. Ces vecteurs engendrent un espace qui approche un espace invariant de
A. Les methodes de deation et de syst`emes augmentes denissent une projection associee `a ce
sous-espace [11].
74
Chapter 7
Cas des grands syst`emes
7.1 Stockage des matrices creuses
Dans de nombreuses simulations numeriques, la discretisation du probl`eme aboutit ` a manipuler une
matrice de tr`es grande taille (dordre pouvant aller jusqu` a 10
8
) mais dont la plupart des coecients
sont nuls. Dans ce cas, on consid`ere un stockage creux (par abus, on parle dune matrice creuse)
qui permet de ne pas stocker une grande partie des coecients nuls et de reduire considerablement
la complexite des resolutions de syst`emes.
Les stockages courants sont :
le stockage bande : on stocke toutes les diagonales situees entre les deux diagonales contenant les
elements non nuls les plus eloignes de la diagonale principale comme colonnes dune matrice
rectangulaire dont le nombre de lignes est egal `a lordre de la matrice creuse tandis que le
nombre de colonnes de la matrice est egal `a la largeur de la bande.
le stockage prol : Il peut arriver que les elements non nuls extremes de chaque ligne soient `a
des distances de la diagonale tr`es dierentes suivant les lignes. Un stockage bande oblige alors
`a stocker un grand nombre delements non nuls. Pour diminuer cet eet, on peut stocker les
portions de chaque ligne situees entre ces elements extremes.
le stockage par coordonnees (COO): dans un tableau ` a une dimension, on range tous les
elements non nuls de la matrice. Les indices de ligne et de colonne de chacun de ces elements
sont stockes dans le meme ordre dans deux tableaux dentiers ` a une dimension. Cest le
stockage de reference dans MATLAB.
le stockage compact par lignes (CSR) : dans un tableau ` a une dimension on range tous les
elements non nuls par ligne, une ligne apr`es lautre. Les indices de colonnes et les limites de
lignes sont retenus dans deux tableaux dentiers.
le stockage compact par colonnes (CSC) : ce format est le meme que le precedent, mais en
rempla cant le r ole des lignes par celui des colonnes.
Il existe encore dautres stockages compacts, par exemple par diagonales creuses ou en denissant
des blocs.
La biblioth`eque LAPACK permet le stockage bande. Beaucoup de solveurs directs ou iteratifs
utilisent un stockage compact, par lignes ou par colonnes.
75
7.2 Produit matrice-vecteur
Dans les methodes iteratives de resolution, les deux operations les plus co uteuses sont le produit
matrice-vecteur et le preconditionnement. Les stockages creux permettent de reduire la complexite
du produit matrice-vecteur. Dans ce qui suit, on consid`ere un stockage compact par lignes.
On suppose que la matrice A dordre n a nz(A) elements non nuls que lon a ranges dans le
tableau a(1:nz) en les enumerant par lignes. Dans le tableau ja(1:nz) on range les indices de
colonnes de ces elements dans le meme ordre et dans le tableau ia(1:n+1) on indique la liste des
indices des demarrages de lignes de la matrice A stockee dans a avec par convention la valeur nz+1
dans ia(n+1). Etant donne deux vecteurs x, y R
n
, loperation
y := y +A x
sexprime par le code FORTRAN suivant :
do i = 1, n
do k = ia(i),ia(i+1)-1
y(i) = y(i) + a(k) * x(ja(k))
end
end
La boucle interne est un produit scalaire creux; il met en jeu un gather (lecture indirecte). Si
on avait considere le stockage compact par colonnes, on serait arrive `a une boucle comportant un
scatter (ecriture indirecte). Ces operations sont optimisees sur les calculateurs daujourdhui.
La complexite passe de O(n
2
) pour loperation BLAS2 standard ` a O(nz(A)) pour le produit en
mode creux.
7.3 Factorisation de Cholesky
Soit A une matrice symetrique denie positive dordre n, et A = LL
T
. Du fait que la factorisation
de Cholesky ne necessite pas de pivot, donc pas de permutation des lignes ou colonnes en cours de
calcul, il est possible de prevoir `a lavance la structure creuse du facteur de Cholesy L.
7.3.1 Stockages bande et prol
Le facteur de Cholesky dune matrice bande est une matrice bande de meme largeur de bande.
La complexite passe de O(n
3
) pour loperation LAPACK en mode plein ` a O(nl
2
) en mode
bande, o` u l est la demi-largeur de bande.
De meme, le facteur de Cholesky dune matrice prol a le meme prol.
Il est donc interessant de minimiser la largeur de bande dune matrice ou de minimiser le prol.
Des techniques de renumerotation, avec permutation symetrique des lignes et des colonnes, sont
utilisees dans ce but. Soit P la matrice de permutation associee. On eectue alors la factorisation
de Cholesky sur la matrice P
T
AP, qui est toujours symetrique denie positive.
7.3.2 Remplissage dans le stockage compact
La structure creuse de L nest pas celle de A : des elements nuls dans A deviennent non nuls dans
L. Considerons par exemple la matrice de droite dans la gure 7.1. Le facteur L est dans ce cas
76
x
x
x x x
x
x
x
x
x
x
x x
x
x
x
x x
x
x
x
x x
x x
x
Figure 7.1: Deux types de matrices provoquant des remplissages dierents.
une matrice pleine. Par contre, pour la matrice de gauche, la structure de L est la meme. Entre
ces deux cas extremes, il peut y avoir plus ou moins de remplissage.
Pour predire la structure creuse en general, on utilise le graphe de la matrice et la notion de
graphe delimination.
Denition 7.3.1 Soit A R
nn
une matrice symetrique creuse. On denit alors son graphe par
:
un ensemble de sommets : X = 1, , n,
un ensemble darcs : G = (i, j) X
2
[ i > j et
ij
,= 0
Le degre dun sommet x X est egal au nombre de ses voisins dans le graphe, cest-` a-dire au
nombre de sommets y X tels que (y, x) G. Cela represente le nombre de coecients non nuls
dans la colonne dindice x sous la diagonale de la matrice A.
Chaque etape de lalgorithme de Cholesky correspond ` a un processus delimination des incon-
nues. La gure 7.2 montre linuence de cette elimination sur les inconnues suivantes dont les
indices i1, i2, i3 correspondent aux indices de ligne des coecients non nuls de la colonne j : cela
cree les trois elements indiques sur la matrice par un gros point noir.
o
o
o
o
o
o
o
o
i1 i2
i3
j
o
o o
i1
i2
i3
o
o
ox
x
x
i1
i2
i3
j
sommet limin
arc rajout
arc supprim
Figure 7.2: Remplissage apr`es elimination dun nud.
Sur le graphe, cela correspond ` a supprimer les arcs entre j et ses voisins et ` a creer tous les arcs
qui nexistent pas encore entre les voisins. On constate donc que d`es que les voisins dun sommet
sont nombreux, son elimination entrane un grand remplissage de la partie restante de la matrice.
77
7.3.3 Factorisation symbolique
Le processus complet conduit ` a la construction dun arbre delimination. Avant deectuer les
calculs, une phase preliminaire, basee sur cet arbre delimination, denit la structure creuse de L
et prepare les tableaux pour le stockage compact.
7.3.4 Renumerotation
Les exemples precedents montrent que lordre delimination inue fortement le niveau de rem-
plissage. Des techniques de renumerotation, basees sur une matrice de permutation P, visent ` a
minimiser le remplissage.
Un algorithme ecace et beaucoup utilise est lalgorithme du degre minimal. Le principe en
est de construire par recurrence une suite de graphes selon la procedure suivante :
1. (X
0
, G
0
) = (X, G)
2. Construction de (X
i+1
, G
i+1
) ` a partir de (X
i
, G
i
) par :
(a) trouver x X
i
de degre minimal dans G
i
(solution non necessairement unique)
(b) permuter x et i + 1 ;
(c) construire G
i+1
) ` a partir de G
i
en eliminant i + 1.
Il existe un autre algorithme qui a aussi de bons eets sur le remplissage : la dissection embotee.
De plus, il a lavantage dintroduire du parallelisme dans la factorisation et dans les resolutions des
syst`emes triangulaires qui en decoulent.
Lalgorithme est du type diviser pour regner. On suppose que la matrice A est irreductible,
cest-`a-dire quil nexiste pas de permutation des indices qui decompose la matrice en deux ou
plusieurs blocs diagonaux, ou encore dit autrement, que le graphe de la matrice A est connexe (il
existe toujours un chemin entre deux sommets dierents). Si A nest pas irreductible, on applique
lalgorithme `a chacune des sous-matrices irreductibles qui la composent.
Le principe de lalgorithme est de partitionner recursivement le graphe. A chaque graphe
(X, G) que lon consid`ere (le graphe entier ` a la premi`ere etape, des sous-graphes ensuite), on
recherche une partie X
1
de X, appelee separateur, telle que si on la supprime de (X, G) avec les
arcs correspondants, on aboutisse `a un graphe ` a deux composantes connexes et donc `a deux sous-
graphes independants. En numerotant les sommets des deux sous-graphes avant ceux du separateur,
on obtient une matrice de type `eche (par blocs) du type

A
1
C
1
A
2
C
2
C
1
t
C
2
t
B

.
Les etapes suivantes consistent `a donner la meme structure aux matrices A
1
et A
2
qui sont aussi
des matrices symetriques denies positives si A lest. Nous avons vu dans lexemple de la gure 7.1
linteret de telles structures.
78
7.4 Factorisation LU
Dans le cas non symetrique, il est necessaire dappliquer une permutation des colonnes ou des lignes
pour garantir la stabilite numerique de la factorisation LU. En general, la strategie est appliquee
en cours de calcul. Le crit`ere de choix du pivot est base `a la fois sur lalgorithme de degre minimal,
pour minimiser le remplissage, et sur le pivot partiel, pour la stabilite numerique. Dans le code
SuperLU, la strategie est appliquee a priori, avant de lancer les calculs, ce qui permet deectuer
une factorisation symbolique comme pour Cholesky.
79
80
Bibliography
[1] E. Anderson, z. Bai, C. Bischof, S. Blackford, J. Demmel, J. Dongarra, J. Du Croz, A. Green-
baum, S. Hammarling, A. McKenney, and D. Sorensen. LAPACK Users Guide, Third Edition.
SIAM, 1999.
[2] S.F. Ashby, T.A. Manteuel, and P.E. Saylor. A taxonomy for Conjugate Gradient Methods.
SIAM Journal on Numerical Analysis, 26:15421568, 1990.
[3] J-C. Bajard, O. Beaumont, J-M. Chesneaux, M. Daumas, J. Erhel, D. Michelucci, J-M. Muller,
B. Philippe, N. Revol, J-L. Roch, and J. Vignes. Qualite des Calculs sur Ordinateurs. Vers
des arithmetiques plus ables? Masson, 1997.
[4] R. Barret, M. Berry, T. Chan, J. Demmel, J. Donato, J. Dongarra, V. Eijkhout, R. Pozo,
C. Romine, and H. van der Vorst. Templates for the solution of linear systems: building blocks
for iterative methods - 2nd edition. SIAM / netlib, Philadelphia, PA, 1994.
[5] O. Beaumont. Algorithmique pour les intervalles : Comment obtenir un resultat s ur quand les
donnees sont incertaines. th`ese de doctorat, universite de Rennes 1, January 1999.
[6] A. Bj orck. Numerics of gram-schmidt orthogonalization. Linear Algebra Appl., 197/198:297
316, 1994.
[7] A.M. Bruaset. A survey of preconditioned iterative methods. Pitman Research Notes in Math-
ematics Series. Longman Scientic and Technical, 1995.
[8] F. Chatelin and V. Fraysse. Lectures on Finite Precision Computations. SIAM, 1995.
[9] Jean-Marie Chesnaux. LArithmetique Stochastique et le Logiciel CADNA. Habilitation ` a
diriger des recherche, Universite Paris VI, 1995.
[10] J. Erhel. Vitesse et precision en calcul scientique. habilitation ` a diriger des recherches,
Universite de Rennes 1, Juin 1992.
[11] J. Erhel and F. Guyomarch. An augmented conjugate gradient method for solving consecutive
symmetric positive denite systems. SIAM Journal on Matrix Analysis and Applications,
21(4):12791299, 2000.
[12] V. Faber and T. Manteuel. Necessary and sucient conditions for the existence of a conjugate
gradient methods. SIAM Journal on numerical analysis, 21:352362, 1984.
[13] V. Faber and T. Manteuel. Orthogonal error methods. SIAM journal on numerical analysis,
24(1):170187, 1987.
81
[14] R. Freund. A transpose-free quasi-minimal residual algorithm for non-hermitian linear systems.
SIAM journal on scientic computing, 14:470482, 1993.
[15] R. Freund, M. Gutknecht, and N. Nachtigal. An implementation of the look-ahead Lanczos
algorithm for non-hermitian matrices. SIAM journal on scientic computing, 14:137158, 1993.
[16] R. Freund and N. Nachtigal. QMR : a quasi-minimal residual method for non-Hermitian linear
systems. Numerische mathematik, 60:315339, 1991.
[17] K. Gallivan, W. Jalby, and U. Meier. The use of blas3 in linear algebra on a parallel processor
with hierachical memory. SIAM J. Sci. Stat. Comput., 1986.
[18] G.H Golub and C.F Van Loan. Matrix Computations. third edition. John Hopkins, 1996.
[19] M. Gutknecht. Lanczos-type solvers for nonsymmetric linear systems of equations. Acta
numerica, 6:271397, 1997.
[20] M. Hahad, J. Erhel, and T. Priol. Factorisation parall`ele de Cholesky pour matrices creuses
sur une memoire virtuelle partagee. Rapport de recherche 1988, INRIA, 1993.
[21] M. Hahad, J. Erhel, and T. Priol. A new approach to parallel sparse Cholesky on DMPCs. In
International Conference on Parallel Processing, USA,, Aout 1994.
[22] N.J. Higham. Accuracy and Stability of Numerical Algorithms. SIAM, 1995.
[23] W. Jalby and B. Philippe. Stability analysis and improvement of the block gram-schmidt
algorithm. SIAM J. Scient. and Stat. Comput., 12(5), 1991.
[24] W. D. Joubert and T. A. Manteuel. Iterative Methods for Nonsymmetric Linear Systems,
chapter 10, pages 149171. Academic Press, 1990.
[25] Philippe Langlois. Precision nie et methodes automatiques. Habilitation ` a diriger des
recherche, Universite de Lyon 1, 2001.
[26] P. Lascaux and R. Theodor. Analyse numerique matricielle appliquee `a lart de lingenieur,
Tomes 1 et 2. Masson, 1986.
[27] J. A. Meijerink and H. A. Van Der Vorst. An iterative solution method for linear systems of
which the coecient matrix is a symmetric M-matrices. Math. Comp., 31(137):148162, 1977.
[28] G. Meurant. Computer solution of large linear systems. North Holland, Amsterdam, 1999.
[29] J-M. Muller. Elementary Functions, Algorithms and Implementation. Birkhauser Boston,,
1997.
[30] C. Paige and M. Saunders. Solution of sparse indenite systems of linear equations. SIAM
journal on numerical analysis, 12:617629, 1975.
[31] C. Paige and M. Saunders. LSQR : an algorithm for sparse linear equations and sparse least
squares. ACM transactions on mathematical software, 8:4371, 1982.
[32] B. Parlett, D. Taylor, and Z. Liu. A look-ahead Lanczos algorithm for unsymmetric matrices.
Mathematics of computation, 44:105124, 1985.
82
[33] J Reid, I. Du, and A. Erisman. Direct methods for sparse matrices. Oxford University Press,
London, 1986.
[34] Y. Saad. Practical use of polynomial preconditioning for the conjugate gradient method. SIAM
J. Sci. Stat. Comput., 6(4):865881, 1985.
[35] Y. Saad. Iterative methods for sparse linear systems. PWS Publishing Company, 1996.
[36] Y Saad and H Schultz. GMRES: a generalized minimal residual algorithm for solving nonsym-
metric linear systems. SIAM J. Sci. Statist. Comput., 7:856869, 1986.
[37] G.L. Sleijpen and A. van der Sluis. Further results on the convergence behavior of Conjugate-
Gradients and Ritz values. Linear algebra and its applications, 246:233278, 1996.
[38] P. Sonnefeld. CGS, a fast Lanczos-type solver for nonsymmetric linear systems. SIAM journal
on scientic and statistical computing, 10(36-52), 1989.
[39] American National Standard. Ieee standard for binary oating-point arithmetic. ANSI/IEEE
Std. 754, IEEE, 1985.
[40] G.W. Stewart and Ji guang Sun. Matrix Perturbation Theory. Academic Press, 1990.
[41] A. van der Sluis and H. van der Vorst. the rate of convergence of conjugate gradients. Nu-
merische Mathematik, 48:543560, 1986.
[42] H. van der Vorst. Bi-CGSTAB: a fast and smoothly converging variant of Bi-CG for the
solution of nonsymmetric linear systems. SIAM journal on scientic and statistical computing,
13:631644, 1992.
[43] R. S. Varga. Matrix Iterative Analysis. Prentice-Hall, Englewood Clis, 1962.
83

Vous aimerez peut-être aussi