Vous êtes sur la page 1sur 81

REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET POPULAIRE

Ministère De L’Enseignement Supérieur et De la Recherche Scientifique

Laboratoire de mathématiques et ses applications (LAMAP)

FACULTÉ DES SCIENCES EXACTES ET APPLIQUÉES

UNIVERSITÉ D’ORAN

MEMOIRE DE MAGISTER

Option
Mathématiques Appliquées et Computationnelles
Intitulé : Les modèles de résolution des systèmes d’équations
linéaires. Applications numériques aux systèmes particuliers.
Présenté par :
ELARBI BENATTIA Mohamed
COMPOSITION DU JURY :

A. BOUHASSOUN MCA Président Université d’Oran


K. BELGHABA MCA Encadreur Université d’Oran
F. BOUDAOUD MCA Examinatrice Université d’Oran
K. NACHI MCA Examinatrice Université d’Oran
L. BELAIB MCA Examinateur Université d’Oran
Soutenuele07octobre2013

Année Universitaire : 2012/2013

1
Table des matières

Table des matières 2

Table des figures 4

Remerciements 5

Dédicace 6

Introduction 7

1 Les méthodes de relaxations 9


1.1 Généralités . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.1.1 Critère de convergence . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.1.2 Test d’arrêt d’algorithme . . . . . . . . . . . . . . . . . . . . . . . . 10
1.1.3 Méthode de décomposition ou" Spliting" . . . . . . . . . . . . . . . . 12
1.2 Les méthodes de Jacobi, de Gauss-Seidel et de relaxation . . . . . . . . . . . 12
1.2.1 Méthodes de Jacobi et de sur-relaxation . . . . . . . . . . . . . . . . 12
1.2.2 Méthodes de Gauss Seidel et de sur-relaxation successive . . . . . . . 15
1.2.3 Convergence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.2.4 Taux de convergence d’une méthode itérative . . . . . . . . . . . . . 18

2 Les méthodes de projection 21


2.1 Méthodes de projection. Approche géométrique . . . . . . . . . . . . . . . . 21
2.1.1 Méthodes générales de projection . . . . . . . . . . . . . . . . . . . . 21
2.1.2 Méthodes de projection pour systèmes symétriques . . . . . . . . . . 24
2.1.2.1 Généralités . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.1.2.2 Construction géométrique du processus . . . . . . . . . . . . 26
2.2 Méthodes de projection. Approche algébrique . . . . . . . . . . . . . . . . . 28
2.2.1 Généralités . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.2.1.1 Les projections . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.2.2 Méthode de projection . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.2.2.1 Projection orthogonale . . . . . . . . . . . . . . . . . . . . 31
2.2.2.2 Projection oblique . . . . . . . . . . . . . . . . . . . . . . . 31
2.3 Méthode des sous espaces de krylov et ses variantes . . . . . . . . . . . . . . 32
2.3.1 Méthode de gradient conjugué . . . . . . . . . . . . . . . . . . . . . . 38
2.3.1.1 Description de la méthode . . . . . . . . . . . . . . . . . . . 39

2
2.3.1.2 Convergence de GC . . . . . . . . . . . . . . . . . . . . . . 44
2.3.2 La méthode de GCR . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
2.3.2.1 Description de la méthode . . . . . . . . . . . . . . . . . . . 49
2.3.2.2 La convergence de GCR . . . . . . . . . . . . . . . . . . . . 53
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

3 Préconditionement des systèmes linéaires 58


3.1 Principe général . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
3.2 Quelques préconditionneurs classiques . . . . . . . . . . . . . . . . . . . . . . 60

4 Applications aux systèmes à matrices creuses 68


4.1 Matrices creuses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
4.1.1 Représentation des matrices creuses . . . . . . . . . . . . . . . . . . . 68
4.2 Matrices symétriques définies positives . . . . . . . . . . . . . . . . . . . . . 70
4.2.1 Complément de Schur . . . . . . . . . . . . . . . . . . . . . . . . . . 71
4.2.2 Caractérisation des matrices symétriques définies positives par le com-
plément de Schur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

Conclusion 78

Bibliographie 79

3
Table des figures

2.1.1 Méthode de projection (dimension 2) . . . . . . . . . . . . . . . . . . . . . 23


2.1.2 Méthode de descente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.1.3 Le graphe de la forme quadratique f (X) . . . . . . . . . . . . . . . . . . . 27
2.2.1 Projections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.2.2 Interprétation de la condition d’orthogonalité . . . . . . . . . . . . . . . . 31

4
Remerciements

J’exprime ma reconnaissance et mes vifs remerciements à mon directeur de thèse le


professeur BELGHABA Kacem, pour sa disponibilité et son appui constant, durant ma
thèse. Je le remercie pour tous les conseils et suggestions qu’il m’a donnés pendant cette année
Je remercie les professeurs F. BOUDAOUD, K. NACHI, A. BOUHSSOUN et L. BELAIB
d’avoir accepté de faire partie du jury pour l’évaluation de ma thèse ainsi que le professeur
A. HAKEM. Ce fut un grand honneur pour moi.
Je tiens à remercier mes collègues, KADA, MEDJAHED, ISMAIL et ZELLAL. Je ne
saurais oublier mes parents, ma femme et ma famille. Merci pour votre patience.
,

5
Dédicace

Je dédie ce modeste travail à mes êtres les plus chers au monde


A la mémoire de ma Mère.
A mon Père qui a tant sacrifié pour mes études.
A mes Frères et mes Sœurs.
A tous mes amis et mes collègues.
A mes Enfants :Bilal , Abderrahmanne et Ibrahim.
A ma chère femme.
En fin, je dédie ce travail à tous ceux qui m’ont aidé de prés ou de loin.
,

6
Introduction
Les systèmes d’équations linéaires sont d’une très grande importance en analyse numé-
rique. La plupart de ces systèmes trouvent leurs origines dans la discrétisation des équations
aux dérivées partielles par différentes techniques usuelles à savoir : différences finies, élé-
ments finis ou autres. Ces équations différentielles obtenues sont des modèles mathématiques
de phénomènes observés dans différentes disciplines scientifiques. Ces phénomènes étant très
complexes, les méthodes analytiques ne peuvent s’appliquer alors qu’ à une classe très limitée
d’équations.
Les systèmes d’équations linéaires obtenus après discrétisation par les méthodes numé-
riques appropriées peuvent être de très grandes dimensions et les matrices associées peuvent
elles aussi selon les cas présenter quelques propriétés particulières ( matrices symétriques,
matrices définies positives, matrices creuses par exemple) ou être tout simplement quel-
conques. Les algorithmes dits exacts ( Gauss et ses variantes) ne sont plus adaptés dans
ces cas. Des algorithmes dits algorithmes itératifs où la solution est obtenue mathématique-
ment par extrapolation à la limite d’une suite d’approximations itératives sont utilisés ( la
méthode du gradient conjugué [16] est convergente au plus après n itérations, où n est la
dimension du système linéaire considéré) Ces algorithmes itératifs sont obtenus à partir de
considérations mathématiques diverses. Les principales méthodes mathématiques engendrant
ces algorithmes sont les méthodes itératives dites de projection géométrique, variationnelle
ou algébrique selon l’approche considérée. Le choix de ces approches dans les méthodes de
projections n’est pas systématique. Il dépend en général des hypothèses sur les matrices des
systèmes linéaires considérés.
Dans notre mémoire, nous commençons par l’étude des méthodes de relaxations où la
plupart des concepts ayant trait aux algorithmes sont introduits : tolérance, test d’arrêt,
conditionnement , convergence, taux de convergence,...etc. La classe des méthodes de Ri-
chardson stationnaire ou instationnaire est aussi présentée et étudiée. Les méthodes de pro-
jection sont étudiées dans un cadre général dans une seconde partie en particulier le méthode
de krylov et ses différentes variantes.
Dans une troisième partie une étude est faite sur l’important concept du précondition-
nement des systèmes linéaires avec en particulier quelques exemples de préconditionneurs
classiques. En pratique ces préconditionneurs sont choisis parmi les méthodes numériques
les plus anciennes( Jacobi, Gauss-Seidel. . . )
,

7
Enfin en dernière partie, le travail présenté est illustré par des exemples numériques por-
tant sur des systèmes linéaires larges à matrices creuses. S’appuyant sur le résultat d’un théo-
rème théorique[11], des exemples de systèmes linéaires à matrices définies positives d’ordres
supérieurs sont construits et serviront à comparer la vitesse de convergence des deux mé-
thodes : méthode de gradient conjugué (CG) et méthode des résidus conjugués généralisés
(GCR). Tous les algorithmes étudiés sont accompagnés par des programmes de pseudo codes
en matlab avec des exemples numériques.
,

8
Chapitre 1

Les méthodes de relaxations

1.1 Généralités
Dans tout ce chapitre, on cherche à résoudre le système
Ax = b (1.1)

où A ∈ Rn×n est une matrice inversible et b ∈ Rn .


Les méthodes itératives basiques sont plus beaucoup utilisées en soi car leur convergence
n’est pas toujours assurée et est en général lente, surtout pour les systèmes de grande taille.
Donc les méthodes itératives sont souvent plus couteuses en temps de calcul que les méthodes
directes, mais elles ont l’avantage d’être plus faciles a programmer et nécessitent moins de
places mémoire ( ce qui peut être crucial lorsque n est très grand ) [21, p40].

- La stratégie habituelle consiste a construire la suite x(k) k>0 par une relation de récurrence
de la forme
x(k+1) = Bx(k) + c (1.2)

où B est la matrice d’itération de la méthode itérative, construite a partir de A , et c est un


vecteur dépendant de b, telle que
x = lim x(k)
k→+∞

avec x la solution de système (1.1)


En passant a la limite k → +∞, on voit que la solution x doit satisfaire

x = Bx + c

Puisque x = A−1 b, on voit que nécessairement c = (I − B) A−1 b. Donc la méthode itérative


est en fait complètement définie par la matrice B [22, p29].

9
1.1.1 Critère de convergence

En définissant l’erreur au itération k comme

e(k) = x − x(k)

Il suit de la relation de récurrence que


e(k+1) = x − x(k+1) = x − Bx(k) − c

= Bx − Bx(k) = B x − x(k) = Be(k) , ∀k ∈ N




Donc

e(k) = B k e(0) , ∀k ∈ N

On voit donc que x(k) → x pour tout x(0) si et seulement si e(k) → 0 lorsque k → +∞ ou
encore si et seulement si B k → 0 pour tout e(0) .
En utilisant le critère classique de convergence des puissances de matrice, on obtient le
théorème suivant [21, p41].

Théorème 1. [21, p41]La méthode d’itération (1.2) converge pour tout choix de x(0) si et
seulement si ρ (B)< 1, où ρ (B) désigne est le rayon spectral de la matrice B. De plus on a
h 1i
(k) k
lim sup e = ρ (B)
k→+∞

x(0) tel que x(0) 6 1

L’équation précédente signifie que la vitesse de convergence d’une méthode itérative se


comporte en ρ (B)k . C’est donc une convergence géométrique, d’autant plus rapide que ρ (B)
est petit.
Le problème revient donc à choisir une matrice B facile à déterminer à partir de A, telle que
ρ (B) soit aussi petit que possible[21, p41].

1.1.2 Test d’arrêt d’algorithme


S’agissant d’algorithmes itératifs,[21, p41] il faut définir un critère d’arrêt d’itération en
fonction de la précision souhaitée.

10
Une première méthode consiste à calculer à chaque itération le résidu

r(k) = b − Ax(k)

et arrêter l’algorithme au premier pas k tel que

r(k) 2

kbk2

où ε une tolérance donnée.

Proposition 1. Dans le cas où la matrice A est symétrique définie positive ,[8, p45] nous
avons le résultat suivant
e(k) 2
6 cond(A) × ε
kxk2

Démonstration. En effet, on a
e(k) 2
= x − x(k) 2
−1
= A b − x(k) 2
−1 (k)
= A (b − Ax ) 2
−1 (k) −1
= A r 2
6 A 2
r(k) 2

1 kAk2
et kbk2 = kAxk2 6 kAk2 kxk2 ⇐⇒ 6 , on déduit que
kxk2 kbk2
r(k) 2 e(k) 2
6ε⇒ 6 cond(A) × ε
kbk2 kxk2

En pratique, ce critère peut être couteux puisqu’il nécessite de calculer à chaque pas
d’itération le nouveau produit matrice − vecteur, Ax(k) , on peut alors utiliser le critère
d’arrêt suivant
x(k) − x(k−1)

kx(k) k
pour un ε donné [21, p42].

11
1.1.3 Méthode de décomposition ou" Spliting"
Une technique générale pour définir une méthode itérative linéaire consistante est basée
sur la décomposition ou "Splitting" de la matrice A sous la forme[21, p42]

A=M −N (1.3)

M une matrice inversible, On se donne x(0) et on calcule x(k) , pour k > 1


Ax = b ⇐⇒ (M − N ) x = b
⇐⇒ M x = N x + b
⇐⇒ x = M −1 N x + M −1 b
⇐⇒ x = Bx + c
avec B = M −1 N , en résolvant le système
x(k+1) = Bx(k) + c (1.4)
B s’appelle la matrice d’itération et c = M −1 b, on peut aussi écrire (1.4) sous la forme

x(k+1) = x(k) + M −1 r(k) (1.5)


r(k) = b − Ax(k) (1.6)
La relation (1.5) montre qu’on doit résoudre un système linéaire de matrice M à chaque
itération [3, p129].
Observons que, si les coefficients diagonaux de la matrice A sont non nuls, il est possible
d’isoler la ième inconnue dans la ième équation de (1.1), avec 1 6 i 6 n.
on obtient alors le système linéaire équivalent [8, p47]
 
n
1 bi −
P 
xi = aij x j
 , ∀i = 1......n
aii  
j=1
i6=j

1.2 Les méthodes de Jacobi, de Gauss-Seidel et de


relaxation

1.2.1 Méthodes de Jacobi et de sur-relaxation

La méthode de Jacobi se base sur les relations pour construire, à partir d’un vecteur

initial x(0) donné, une suite x(k) k∈N par récurrence

12
 
n
(k+1) 1 bi −
P (k)

xi = aij xj  , ∀i = 1.....n (1.7)
aii  
j=1
i6=j

ce implique que M = D, et N = E + F .
Dans la décomposition de la matrice A où D est la matrice diagonale composée des coefficients
diagonaux de A.
E est la matrice triangulaire inférieure de coefficients eij = −aij si i > j, eij = 0 si i 6 j.
F est la matrice triangulaire supérieure de coefficients fij = −aij si j > i, et fij = 0 si j 6 i.
Ainsi, A = D − (E + F ).
La matrice d’itération[8, p47] de la méthode de Jacobi est donc donnée par

BJ = D−1 (E + F )

Une généralisation de la méthode de Jacobi est la méthode de sur-relaxation de Ja-


cobi ( Jacobi over relaxation(JOR) en anglais), dans laquelle un paramètre de relaxation est
introduit, les relations de récurrence deviennent [8, p47]
 
n
(k+1) ω  bi −
P (k)
 (k)
xi =
aii  aij xj   + (1 − ω) xi , ∀i = 1.....n
j=1
i6=j

ce qui correspond à la matrice d’itération

BJ (ω) = ωBJ + (1 − ω) In (1.8)

Cette méthode est consistante pour tout ω 6= 0 , et coïncide avec la méthode de Jacobi
pour ω = 1.
L’idée de relaxer la méthode repose sur le fait que, si l’efficacité de la méthode se mesure par
le rayon spectral de la matrice d’itération, alors, puisque ρ (BJ (ω)) est une fonction continue
de ω.
On peut trouver une valeur de ω pour laquelle ce rayon spectral est le plus petit possible et
qui donne donc une méthode itérative plus efficace que la méthode de Jacobi. Ce type de
raisonnement s’applique également à la méthode de Gauss -Seidel [8, p47].

1. Carl Gustav Jakob Jacobi,(Potsdam,1804-Berlin, 1851), mathématicien allemand. Issu d’une famille
juive, il étudie à l’université de Berlin, où il obtient son doctorat en 1825 à peine age 21 ans, Sa thèse est
une discussion analytique sur la théorie des fonctions. En 1829, il devient professeur de mathématique à
l’université de Konigsberg, et ce jusqu’en 1842 .Il fait une dépression, et voyage en Italie en 1843. à son
retour, il déménage à Berlin où il sera pensionnaire royal jusqu’à sa mort [8, p43].

13
Les codes Matlab de la méthode de Jacobi
Function [x, iter]=Jacobi(A, b, x0 , itmax)
input A, b, x0, itmax
n = length(b) ;
x = x0, xold = x ;
for iter= 1 : itmax
for i = 1 : n
x(i) = (b(i) − A(i, [1 : i − 1, i + 1 : n] × xold([1 : i − 1, i + 1 : n]))A(i, i) ;
end, xold = x, end

Exemple 1. Soit le système     


4 1 −1 x1 1
1 4 −2 x2  = −7
    

−1 −2 5 x3 11
mis sous la forme 
(k−1) (k−1)
 (k) 1 x2 x3
x1 = − +


4 4(k−1) 4 (k−1)




(k) 7 x1 2x3
x2 = − − +

 4 4 4
 (k−1) (k−1)

 (k) 11 x1 2x2
 x3 =
 + +
5 5 5
Soit X0 = (0; 0; 0)T , le vecteur initial, en calculant les itérées, on obtient

(1) (2) (3)


les vecteurs xk xk xk
X1 0.2500 −1.7500 2.200
X2 1.2375 −0.7125 1.5500
X3 0.8156 −1.2844 2.1625
X4 1.1117 −0.8727 1.8494
X5 0.9305 −1.1032 2.0733
X6 1.0441 −0.9460 1.9448
X7 0.9727 −1.0386 2.0304
X8 1.0173 −0.9780 1.9791
X9 0.9893 −1.0148 2.0123
X10 1.0068 −0.9912 1.9919

La suite (Xk ) converge vers la solution exacte (1; −1; 2)T .

14
1.2.2 Méthodes de Gauss Seidel et de sur-relaxation successive

Remarquons à présent que, lors du calcul du vecteur x(k+1) par les formules de récurrence
(1.7), les premières i − 1ème composantes de x(k+1) sont connues lors de la détermination de
ième , 2 6 i 6 n.
La méthode de Gauss-Seidel utilise ce fait en se servant des composantes du vecteur x(k+1)
déjà obtenues pour le calcul "des suivantes [8, p48]. On a alors #
i−1 n
(k+1) 1 X (k+1)
X (k)
xi = bi − aij xj − aij xj , ∀i = 2.....n (1.9)
aii j=1 j=i+1

ce qui revient à poser M = D−E, et N = F . dans la décomposition (1.3), d’où la matrice


d’itération associée
BGS = (D − E)−1 F (1.10)
2

Pour que la méthode soit bien définie, il faut que la matrice D soit inversible, mais, là
encore cette condition n’est pas très restrictive en pratique.
On peut introduire dans cette méthode un paramètre de relaxation ω, on parle alors de
méthode de sur - relaxation successive ( successive over - relaxation (SOR) en anglais )
définis par
" i−1 n
#
(k+1) ω X (k+1)
X (k) (k)
xi = bi − aij xj − aij xj + (1 − ω) xi , ∀i ≥ 2 (1.11)
aii j=1 j=i+1

et dont la matrice d’itération est

BGS (ω) = In − ωD−1 E (1 − ω) In + ωD−1 F


 

Cette dernière méthode est consistante pour toute valeur de ω non nulle et coïncide avec
la méthode de Gauss Seidel pour ω = 1.
Si ω > 1, on parle de sur - relaxation, et de sous - relaxation si ω < 1 [8, p48].

2. Philippe Ludwig Von Seidel (Allemagne 1821- Munich, 13 August 1896) mathématicien allemand
dont il est dit qu’il découvert en 1847 le concept crucial de la convergence uniforme en étudiant une démons-
tration incorrecte de Cauchy [8, p43].

15
Les codes Matlab de la méthode de Gauss-Seidel
Function [x, ietr]=GS(A, b, x0, itmax )
%input A, b, x0, itmax
n = length(b) ;
x = x0, xold = x ;
for iter = 1 : itmax
for i = 1 : n
x(i) = (b(i) − A(i, 1 : i − 1) × x(1 : i − 1) − A(i, i + 1 : n) × x(i + 1 : n))A(i, i) ;
end, xold = x, end

Exemple 2. Soit le système


    
4 1 1 x1 1
1 4 −2 x2  = −7
    

−1 −2 5 x3 11

mis sous la forme 


(k−1) (k−1)
 (k) 1 x2 x3
x = − −

 1
4 4 4



 (k) (k−1)
(k) 7 x 2x
x2 = − − 1 + 3

 4 4 4
 (k) (k)
 11 x 2x
 x(k) + 1 + 2

3 =

5 5 5
Partant du point X0 = (0 ; 0 ; 0)T , on calculons successivement les itérés
(1) (2) (3)
Les vecteurs xk xk xk
X1 0.2500 −1.8125 1.5250
X2 1.0844 −1.2586 1.9134
X3 1.0430 −1.0540 1.9870
X4 1.0103 −1.0091 1.9984
Cet ensemble des points converge vers la solution exacte (1 ; −1 ; 2)T .

1.2.3 Convergence

Théorème 2. si A est une matrice à diagonale strictement dominante, les méthodes de


Jacobi, de Gauss-Seidel sont convergentes [8, P50].

16
Démonstration. 1- La matrice A étant à diagonale strictement dominante,
n
P
|aii | > |aij |, pour i = 1, 2, ....n, et j 6= i. Par conséquent,
j=1

n
X |aij |
kBJ k∞ = max <1
i=1,2...n
j=1
|aii |
j6=i

la méthode de Jacobi est donc convergente.


2- Pour Gauss Seidel : On considère à présent l’erreur à l’itération k + 1, k ∈ N, de la
méthode de Gauss-Seidel qui vérifie
i−1 i−1
(k+1)
X aij (k+1) X aij (k)
ei =− ej − e
a
j=1 ii
a j
j=i+1 ii

On va établir que e(k+1) ∞


6 r e(k) ∞
, ∀k ∈ N, avec
n
X |aij |
r = max
i=1,2...n
j=1
|aii |
j6=i

en raisonnement par récurrence sur l’indice i avec


1 6 i 6 n, des composantes du vecteur. Pour i = 1, on a
n
(k+1)
X a1j (k)
e1 =− e
a j
j=2 11

(k+1)
d’où e1 6 r e(k) ∞
.
(k+1)
Supposons que, ej 6 r e(k) ∞ , pour j = 1, ......., i − 1. On a alors
i−1
P aij (k+1) n aij (k)
(k+1) P
ei 6 ej + ej
j=1 aii j=i+1 aii
!
i−1 a n a
ij ij
6 e(k) ∞ r
P P
+
j=1 aii j=i+1 aii
P |aij |
n
< e(k) ∞ ,
j=1 |aii |
j6=i

(k+1)
d’où ei 6 r e(k) ∞
, ce qui achève la preuve par récurrence.
On a par conséquent
e(k+1) ∞
6 r e(k) ∞
≤ ......... 6 rk+1 e(0) ∞

et, par suite,


lim e(k) ∞
=0
k→+∞

ce qui prouve la convergence de la méthode de Gauss-Seidel[8, p50].

17
Théorème 3. (condition nécessaire de convergence de la méthode SOR) [8, p49]le
rayon spectrale de la matrice de sur-relaxation successive vérifie toujours l’inégalité

ρ (BGS (ω)) ≥ |1 − ω| , ∀ω > 0

cette méthode ne peut donc converge que si 0 < ω < 2.

Démonstration. on remarque que le déterminant de BGS (ω) vaut


det 1−ω

D + F
detBGS (ω) = ω
D
 = (1 − ω)n
det ω − E
Compte tenu des structures des matrices, respectivement diagonale et triangulaires, D, E et
F . En notant λi , 1 ≤ i ≤ n, les valeurs propres de cette matrice.
on en déduit alors que
Yn
n
ρ (BGS (ω)) > |λi | = |detBGS (ω)|n
i=1

= |1 − ω|n
⇒ ρ (BGS (ω)) > |1 − ω|n

Théorème 4. Si la méthode de Jacobi converge alors la méthode de JOR converge pour


0 6 ω 6 1 [8, p50].

Démonstration. D’après (1.8), les valeurs propres de BJ (ω) sont


µk = ωλk + 1 − ω, k = 1, 2......n. où λk sont les valeurs propres de BJ , alors en posons
λk = rk eiθk , on a

|µk |2 = ω 2 rk2 + 2ωrk cos (θk ) (1 − ω) + (1 − ω)2 6 (ωrk + 1 − ω)2

qui est strictement inférieure à 1 si 0 6 ω 6 1 .

1.2.4 Taux de convergence d’une méthode itérative

Considérons une méthode itérative, définie par

xk+1 = Bxk + c

Nous supposons qu’elle est convergente.

18
Définition 1. [23, p25]On appelle taux moyen de convergence pour une méthode itérative
définie par une matrice B, le nombre
1
Rk (B) = − ln B k
k

– On dit que la méthode définie par une matrice B1 est plus rapide ( pour k itérations )
que la méthode définie par la matrice B2 si

Rk (B1 ) > Rk (B2 )

Remarque 1. Le taux moyen de convergence dépend de la norme choisi, et également le fait


qu’une méthode itérative soit plus rapide qu’une autre au bout de k itération [23, p25].
- Le nombre Rk (B) permet de mesurer le nombre d’itérations nécessaires pour réduire l’erreur
ek = xk − x d’un facteur ε

ek = B k e0 ⇒ ek 6 B k e0

Si on veut avoir
ek

e0
cela est réalisé si B k 6 ε, soit

ln B k = −kRk (B) 6 ln(ε)

Puisque la méthode converge (Rk (B) > 0, au moins pour k assez grand), et on prendra

ln(ε)
k>−
Rk (B)

Définition 2. On appelle taux asymptotique[23, p25] de convergence d’une méthode itéra-


tive (définie par une matrice B ) le nombre

R(B) = R∞ (B) = limRk (B)


k→+∞

19
1. On dit que la méthode itérative définie par B1 est asymptotiquement plus rapide que
celle définie par B2 si
R(B1 ) > R(B2 )
1/k
2. R(B) = −lnρ(B), en effet lim B k = ρ(B), [23, p26]
k→+∞

La généralisation de la relation de récurrence (1.5), par l’introduction d’un paramètre


de relaxation ou d’accélération α conduit à la large classe des méthodes de Richardson
stationnaires
x(k+1) = x(k) + αM −1 r(k) (1.12)

Si le paramètre α dépend de l’itération, c’est à dire

x(k+1) = x(k) + α(k) M −1 r(k) (1.13)

On parle de méthode de Richardson instationnaire. Dans ce cadre, les méthodes de


Jacobi et de Gauss -Seidel (resp. JOR et SOR) peuvent être vues comme des méthodes
de Richardson avec α = 1 (resp. α = ω) et respectivement M = D et M = D − E. Bien
évidemment, de nombreux autres choix ont été proposés pour le préconditionneur (la matrice
M −1 ) et le paramètre d’accélération de la méthode. [17, p53]
3

3. Lewis Richardson (11 octobre 1881 -30 septembre 1953 ) était un mathématicien, météorologiste et
psychologue anglais [17, p53].

20
Chapitre 2

Les méthodes de projection

Soit à résoudre le système linéaire (1.1) où A une matrice non nécessairement symétrique
ou définie positive de dimension n × n avec n > 1, b un vecteur de Rn et x le vecteur solution
cherché.
Nous nous intéressons en particulier au cas où n est grand.
Les méthodes de projection pour résoudre les systèmes linéaires sont les plus utilisées à
l’heure actuelle. Pour cette raison, elles vont être étudiées dans ce thèse, il y a différents
manières de les aborder : géométrique et algébrique. Elles conduisent toutes à des méthodes
itératives pour résoudre les systèmes linéaires. Lorsque la matrice est quelconque, on effectue
des projections sur des plans successifs. Quand la matrice est symétrique définie positive, on
passe à une approche variationnelle du problème qui fait intervenir des ellipses [5, p41].

2.1 Méthodes de projection. Approche géométrique


2.1.1 Méthodes générales de projection
Résoudre le système (1.1) est équivalent à chercher l’intersection de n plans d’équations
n
X
fi (u) = (Au − b)i = aij uj − bi = 0, i = 1, ...., n
j=1

Soit z ∈ Rn un vecteur quelconque . Le plan


n
X
f (u) = zi fi (u) = z , Au − z , b = 0
i=1

– contient x.
– est normal au vecteur AT z. En effet, si v1 et v2 appartiennent au plan, on a

21
z, Av1 − z, b = 0

z, Av2 − z, b = 0

et on soustrayant, on obtient

z, A (v1 − v2 ) = 0 ⇐⇒ AT z, v1 − v2 = 0

Ce qui montre que les vecteurs AT z et v1 − v2 sont orthogonaux. Or, puisque v1 et v2


sont deux vecteurs quelconques du plan, cela prouve bien que le vecteur AT z est normal au
plan. Examinons maintenant comment s’effectue une itération d’une méthode de projection
[5, p42].

– Supposons connue une solution approchée xk du système (1.1).


– Choisissons un vecteur zk et faisons-lui correspondre le plan Pk d’équation

zk , Au = 0

La solution x appartient à ce plan Pk .

– Projetons orthogonalement xk sur ce plan, c’est à dire parallèlement à AT zk .


– On obtient, d’après le théorème de Pythagore, un vecteur xk+1 tel que

x − xk+1 6 x − xk

– Le vecteur xk+1 est de la forme

xk+1 = xk + λk AT zk

En effet, quand λk varie, xk + λk AT zk passe par xk ( pour λk = 0 ) et est parallèle au


vecteur AT zk .
– On va chercher la valeur qu’il faut donner à λk pour que xk+1 appartienne au plan Pk .
On doit donc avoir
zk , b − A xk + λk AT zk = 0


22
Figure 2.1.1: Méthode de projection (dimension 2)

d’où
zk , b − Axk zk , rk
λk = = 2 avec rk = b − Axk .
zk , AT Azk AT zk
On obtient finalement la méthode itérative suivante[5, p42]

zk , rk T
xk+1 = xk + 2 A zk
T
A zk

Cette méthode est convergente, en effet

zk , rk T
xk+1 − x = xk − x + 2 A zk
T
A zk

D’où
2
2 2 zk , rk T zk , rk 2
xk+1 − x = xk − x +2 2 xk − x, A zk + 4 AT zk
AT zk AT zk
2
2 zk , rk 2
= xk − x − 2 6 xk − x =⇒ xk+1 − x 6 xk − x
AT zk

23
On voit que le gain est nul si les vecteurs rk et zk sont orthogonaux [5, p43].

Nous avons donc démontrés que la suite xk − x est convergente, puisque c’est une suite
décroissante et bornée inférieurement, nous avons absolument pas démontré que sa limite
est nulle.
D’ailleurs, cela n’est pas toujours le cas et va dépendre du choix des vecteurs zk et, éventuel-
lement, de propriétés de la matrice A .
Montrons que le choix fait pour λk présente une autre propriété intéressante : c’est aussi
le choix qui minimise xk+1 − x . En effet, on a
2 2 2
xk+1 − x = xk − x + 2λk xk − x, AT zk + λ2k AT zk

Cette quantité est minimum lorsque sa dérivée par à rapport λk est nulle et il s’agit bien
d’un minimum car le coefficient de λk est positif [5, p43]. On a donc
d 2 2
xk+1 − x = 2 xk − x, AT zk + 2λk AT zk
dλk
2
= 2 A(xk − x), zk + 2λk AT zk
= −2 rk , zk + 2 rk , zk = 0

2.1.2 Méthodes de projection pour systèmes symétriques


Nous nous intéressons au cas où la matrice A est symétrique définie positive.

2.1.2.1 Généralités
Nous allons d’abord donner, dans ce cas, une interprétation variationnelle du problème.
Considérons la fonctionnelle f définie par
1
f (u) = hu , Aui − hb , ui , u ∈ Rn
2
C’est une forme quadratique par rapport aux composantes du vecteur u puisque
n n n
1X X X
f (u) = ui aij uj − bi ui
2 i=1 j=1 i=1

Dans l’espace Rn , f (u) = a est l’équation d’une quadrique.


Commençons par relier la forme quadratique définie ci dessus à la solution du système (1.1).
Nous avons le résultat suivant [5, p44].
Théorème 5. Soit u un vecteur quelconque et r le vecteur résidu correspondant tel que
r = b − Au. Alors r est dirigé suivant la normale à l’ellipsoïde passant par u [5, p45].

24
Démonstration. On a
1
hu , Aui − hb , ui
f (u) =
2
∂f 1 1
= Aui + AT ui − b
∂ui 2 2
= Aui − b = −ri
 T
∂f ∂f ∂f
On a donc, r = b − Au = −∇f (u), avec ∇f (u) = , , ......, .
∂u1 ∂u2 ∂un
L’approche variationnelle du problème se justifie par le théorème suivant.

Théorème 6. Trouver la solution de (1.1) pour A symétrique définie positive est équivalent
1
à trouver le vecteur pour lequel f (u) = hu , Aui − hb , ui atteint son minimum [5, p46].
2
Démonstration. On a
1
f (u) = hu , Aui − hb , ui
2
Soient xe et u deux vecteurs quelconques et t un scalaire, le vecteur v = x
e +tu, on a f (v) = a,
c’est à dire
1 2
t hu , Aui + t hu , Aex − bi + f (e
x) = a
2
Prenons x
e = x, on a
1 2
t hu , Aui + f (e
x) = a
2
Puisque f (v) = a, et si v = x + tu, on obtient
1
f (v) = t2 hu , Aui + f (x)
2
On voit que f (v) est minimum lorsque t est nul, puisque hu , Aui > 0.
On a donc dans ce cas v = x et par conséquent f (v) est minimum.

Le théorème (6) nous permet de définir une méthode itérative de résolution du système (1.1).
Dans cette méthode, on va passer de l’itéré xk à l’itéré xk+1 par la relation

xk+1 = xk + λk zk (2.1)

zk étant un vecteur quelconque. Pour les résidus, on a

rk+1 = rk − λk Azk

On choisit λk de façon à rendre f (xk+1 ) minimum, on a

25
1
f (xk+1 ) = hxk+1 , Axk+1 i − hb , xk+1 i
2
1
= hxk + λk zk , A (xk + λk zk )i − hb , xk + λk zk i
2
1 1 1 1
= hxk , Axk i + λk hxk , Azk i + λk hzk , Axk i + λ2k hzk , Azk i − hb , xk i − λk hb , zk i
2 2 2 2
1 2 1
= f (xk ) + λk hzk , Azk i + λk [hxk , Azk i + hzk , Axk i] − λk hb , zk i
2 2
Posons comme précédemment, rk = b − Axk , soit,

hzk , rk i = hzk , bi − hzk , Axk i

et par conséquent, d’après la symétrie de A,


1
f (xk+1 ) = f (xk ) + λ2k hzk , Azk i − λk hrk , zk i
2
∂f (xk+1 )
Ce trinôme atteint son minimum lorsque = 0, c’est à dire
∂λk
λk hzk , Azk i = hrk , zk i, ce qui donne

hrk , zk i
λk =
hzk , Azk i

2.1.2.2 Construction géométrique du processus

Réalisons une section à deux dimensions de l’espace Rn qui passe par xk , rk et xk+1 . Les
intersections de cette section avec les surfaces f (x) = a forment une famille d’ellipses ayant
même centre de symétrie x. On sait que

– rk est normal à l’ellipse passant par xk .


– zk est tangent à l’ellipse passant par xk+1 puisque zk est normal à rk+1 .

Nous avons la construction de la figure (2.1.2).


Les différentes méthodes employées proviennent de différents choix du vecteur zk [5, p47].

Exemple 3. Soit le système linéaire suivant



3x1 + 2x2 = 2
2x1 + 6x2 = −8
     
3 2 x1 2
est équivalent à AX = b avec A = ,X= et b = , la solution exacte
2 6 x2 −8
de ce système est X = (2 ; −2)T .
1
La forme quadratique f (X) = hX , AXi − hb , Xi.Figure(2.1.3)
2

26
Figure 2.1.2: Méthode de descente

Figure 2.1.3: Le graphe de la forme quadratique f (X)

27
2.2 Méthodes de projection. Approche algébrique
2.2.1 Généralités
Dans cette section, nous allons rappeler quelques résultats sur les projections obliques
et orthogonales et discuter de leur application à la résolution des systèmes linéaires [5, p83].

2.2.1.1 Les projections

Commençons par quelques notations et définitions.


Soit M = (mij ) une matrice carrée de dimension n. On pose

z , y = zT y
2
z = z, z
 
Ker M = z M z = 0
 
Im M = z z = M y

E ⊥ = z z , y = 0, ∀y ∈ E
 

Soient (u1 , ...., uk ) et (v1 , ...., vk ) deux ensembles de k (6 n) vecteurs linéairement indépen-
dants dans Rn . On pose Ek = vect (u1 , ...., uk ) et Fk = vect (v1 , ...., vk ) où la notation
vect (u1 , ...., uk ) désigne le sous-espace vectoriel engendré par les vecteurs u1 , ...., uk .
Nous supposons que les sous-espaces vectoriels Ek et Fk⊥ sont supplémentaires.
Une projection P est une application linéaire idempotente de Rn dans lui même, c’est à dire
qui vérifie P = P 2 . Si de plus, P = P T alors la projection est orthogonale. Dans le cas
contraire, la projection est oblique.
Examinons d’abord le point vue géométrique. Soit Pk la projection oblique sur Ek pa-
rallèlement à Fk⊥ , c’est à dire la projection sur Ek orthogonale à Fk . On rappelle que
Ek = Im Pk = Ker (I − Pk ) et que Fk⊥ = Ker Pk .
Il est évidement que I − Pk est également une projection. C’est la projection sur Fk⊥ paral-
lèlement à Ek .
PkT est la projection sur Fk parallèlement à Ek⊥ et I − PkT est la projection sur Ek⊥ parallè-
lement à Fk [5, p83].
Par conséquent, nous avons le diagramme de la figure (2.2.1).

28
Figure 2.2.1: Projections

Théorème 7. La projection Pk est représenté par la matrice[5, p84]


−1
Pk = Uk VkT Uk VkT

Démonstration. Démontrons d’abord que Pk est une projection, c’est à dire : Pk2 = Pk . On a
−1 −1
Pk2 = Uk VkT Uk VkT Uk VkT Uk VkT = Pk

Soit y un vecteur arbitraire. On a Pk y ∈ Ek . En effet Pk y s’écrit Pk y = Uk z avec


−1 T
z = VkT Uk Vk y, ce qui montre que Pk y est une combinaisons linéaire des vecteurs
u1 , ...., uk . Pour démontrer que Pk y est la projection de y sur Ek parallèlement à Fk⊥ , c’est à
dire orthogonalement à Fk , on doit démontré que y − Pk y ∈ Fk⊥ ou, en d’autres termes

VkT (y − Pk y) = 0

on a
−1
VkT y − VkT Pk y = VkT y − VkT Uk VkT Uk VkT y = VkT y − VkT y = 0

Théorème 8. Si Pk 6= 0 alors Pk > 1.


Pk = 1 si et seulement si Pk est une projection orthogonale [5, p86].

29
Démonstration. on a
2
Pk = Pk2 6 Pk
et donc Pk > 1.
Démontrons l’inégalité contraire dans le cas d’une projection orthogonale. On a
∀ x, x = Pk x + (x − Pk x). Donc

x , x = Pk x , Pk x + 2 Pk x , x − Pk x + x − Pk x , x − Pk x

Mais

Pk x , x − Pk x = Pk x , x − Pk x , Pk x = Pk x , x − PkT Pk x , x = 0

Puisque PkT Pk = Pk2 = Pk si Pk est une projection orthogonale. Par conséquent

x , x = P k x , P k x + x − Pk x , x − Pk x

Donc
x , x = Pk x , Pk x
et l’on obtient
Pk x
Pk = sup 61
x
x6=0

Réciproquement, si Pk = 1, alors ∀ x , Pk x = x . D’où


Pk x , Pk x = x , x = PkT Pk x , x et l’on a PkT Pk = Pk2 = I . et PkT = Pk [5, p86-87].

2.2.2 Méthode de projection

Le principe des méthodes de projection est de chercher la solution du système linéaire


(1.1) dans un espace Km ⊂ Rn , de dimension m petite devant n judicieusement choisi, est
appelé espace de recherche [24, p154].
En général , nous imposons des contraintes sous forme de m conditions d’orthogonalité qui
définissent un espace Lm de dimension m, appelé espace de contraintes [11, p9].
Plus précisément, nous cherchons à extraire une approximation
xm = x0 + δ de la solution, dans l’espace x0 + Km vérifiant la condition d’orthogonalité

b − A (x0 + δ) = b − Ax0 − Aδ

= (r0 − Aδ)⊥Lm
où encore (r0 − Aδ, ω) = 0 , ∀ω ∈ Lm , avec δ ∈ Km et (., .) est le produit scalaire sur Rn ,
donc rnouv = r0 − Aδ. Il y a deux classes de méthodes de projection [24, p154].

30
Figure 2.2.2: Interprétation de la condition d’orthogonalité

2.2.2.1 Projection orthogonale

Cas Lm = Km = Km (A, r0 ), c’est l’approche de Reitz-Galerkin, elle est basée sur la


construction de la solution xm de manière que le résidu soit orthogonal à l’espace de Km (A, · · · )

rm = (b − Axm )⊥Km (A, r0 ) (2.2)

Cette approche conduit à des méthodes de krylov[11, p11] telles que la méthode de GC(Gradient
conjugué), la méthode de Lanczos et la méthode de FOM(Full-orthogonalisation me-
thod )

2.2.2.2 Projection oblique

Dans ce cas, les deux espaces Km et Lm sont différents. Nous assignons ici deux approches

-Approche minimum résiduaire

Nous identifions la solution approchée xm pour laquelle la norme euclidienne b − Ax


2
est minimale sur l’espace Km , ce qui mathématiquement équivalent à la condition d’ortho-
gonalité
(b − Ax)⊥Lm

avec le choix Lm = AKm

31
L’approche minimum résiduelle [11, p11]aboutit aux méthodes de GMRES ( General
Minimal Residual ) et GCR ( Generalized Conjugate Residual ) et MINRES ( Mi-
nimum Residual )

-Approche Petro-Galerkin

Elle consiste à trouver la solution telle que le résidu soit orthogonale à l’espace contrainte

Lm = Km AT , r0 . Elle est basée sur une technique de gradient bi-conjugué, cette troisième
approche donne lieu aux méthodes telle que BI-CG ( Gradient Bi-Conjugué ) et QMR
(Quasi Minimal Residual Method ).
Une méthode hybride de ces trois approches permet de proposer des nouveaux algorithmes
BI-CGSTAB ( Bi-conjugate Gradient Stabilized ) et TFQMR[11, p12].

2.3 Méthode des sous espaces de krylov et ses variantes


Les méthodes itératives de type de krylov sont employées depuis une vingtaine d’années. En
1952, la méthode de krylov a commencé à apparaitre dans les travaux de Lanczos, Hestenes
et Stiefel qui introduisent indépendamment la méthode de Gradient Conjugué(G.C) [7,
10, 16] pour les systèmes symétriques et définis positifs. Après une dizaine d’années, on
trouve des extensions de la méthode de (G.C) aux systèmes de grande taille telles que la
méthode de Bi-conjugate Gradient (BICG) [10, 24] développé par Fletcher en 1974 et
les méthodes Minimum Residual (MINRES) [10, 24] et Symetric LQ (SYMMLQ) [10]
introduites par Paige et Saunders en 1975. Le traitement des systèmes non symétriques a
donné lieu aux méthodes ORTHOMIN [22] en 1976 introduit par Vinsome, ORTHODIR
[22]en 1980 introduit par Jea et Young, GCR(Generalized Congugate Residual) [22, 11, 24]
en 1983 développé par Eisenstat, Elman et Schultz et CGS( Generalized Congugate Squared)
[10, 24] en 1984 par Sonneveld. Des nouvelles méthodes intéressantes ont été proposées durant
les années 80 et au début des années 90, la méthode de GMRES ( Generalized Minimum
Residual) [11, 10, 7, 24] est développée en 1986 par Saad et Schultz, QMR ( Quasi Minimum
Residual) [24] est introduite en 1990 par Freund et Nachtigal, et en 1992 Van der Vorst a
proposé la méthode BICGSTAB [10] (Bi-conjugate Gradient Stabilized).[11, p18].
Dans ce chapitre, nous nous limiterons à l’étude de deux méthodes, la méthode de GCR(Ge-
neralized Conjugate Residual) pour des systèmes généraux et la méthode du Gradient Conju-
gué pour des systèmes à matrice définie positive.Donnons tout d’abord le cadre général d’une
méthode de krylov.
Les méthodes de krylov consistent à construire une suite de sous espaces emboités de
taille croissante qui vont contenir à la limite la solution recherchée .Elles sont basées sur
une technique de projection sur un sous espace de krylov de dimension (m  n) plus petite

32
que la taille du problème. En remplaçant dans l’équation (1.5) la matrice M par la matrice
identité I, nous retrouvons la récurrence de Richardson[11, p17].
on a
M x(k+1) = (M − A) x(k) + b

x(k+1) = (I − A) x(k) + b

x(k+1) = x(k) + b − Ax(k)

= x(k) + r(k)

On générale
x(k+1) = x(k) + αk r(k) (2.3)

avec r(k) = b − Ax(k) qui est le résidu et αk le paramètre de relaxation [3, p159].
La relation entre le k − ième résidu et le résidu initial est donnée par
k−1
Y
(k)
r = (I − αj A) r(0) (2.4)
j=0


car r(k+1) = b − Ax(k+1) = b − A x(k) + αk r(k) = r(k) (I − αk A).
Autrement dit r(k) = pk (A) r(0) , où pk (A) est un polynômes en A de degré k, cette méthode
engendre l’espace suivant
x(k) ∈ V ect {x0 , x1 , ....., xk−1 } = x0 + V ect r0 , Ar0 , A2 r0 , ......, Ak−1 r0

(2.5)

où r0 = b − Ax(0) est le résidu initial. Si on définit l’espace

Km (A, v) = V ect v, Av, A2 v, ......, Am−1 v




Il est immédiat d’après (2.4), que r(k) ∈ Kk+1 (A, r0 )


La solution xk est donc donnée par la relation

A−1 b ≈ xk = x0 + qk (A) r0 (2.6)

avec qk est un polynôme de degré égal à k. L’espace

Kk (A , r0 ) = V ect r0 , Ar0 , A2 r0 , ......, Ak−1 r0




n’est autre que l’espace de krylov.


De manière analogue à (2.4), [3, p160] on montre que l’itéré xk de la méthode de Richardson
est donné par
k−1
X
xk = x0 + α i rj
j=0

33
L’itéré xk appartient donc à l’espace

Wk = {v = x0 + y, y ∈ Kk (A, r0 )} (2.7)

Définition 3. Soit m ∈ N, une matrice carrée A d’ordre n et un vecteur v ∈ Rn , l’espace


Km (A , v) = V ect {v, Av, A2 v, ......, Am−1 v} est appelé espace de krylov (d’ordre m, engendré
par la matrice A et le vecteur v).[10, p50]
- La définition ce dessus et la relation (2.6) sont une conséquence directe du théorème de
Cayley Hamilton suivant

Théorème 9. Si PA (λ) = det (A − λI) dénote le polynôme caractéristique de A, alors on a


que :PA (A) = 0 [11, p10].

Proposition 2. [10, p50]Il existe un polynôme P de degré au plus n − 1 tel que

A−1 = P (A)

Démonstration. D’après le théorème de Cayley Hamilton, le polynôme caractéristique q


de A est de degré n et vérifie q (A) = 0, q (0m ) = det (A),
avec det (A) est le déterminant de A.
Soit q (X) = det (A) + Xq1 (X), alors

Aq1 (A) = q (A) − det (A) = −det(A)

−1
puisque A est inversible, on a det(A) 6= 0 et P (X) = q1 (X), donc
det(A)

−1
P (A) = q1 (A) = A−1
det(A)

- Soit x0 une approximation initiale et r0 = b − Ax0 , alors la solution


x = A−1 b = A−1 (r0 + Ax0 ) = x0 + A−1 r0 = x0 + p(A)r0

L’objectif des ces méthodes polynomiales est d’approcher ce polynôme p (X)[10, p50-51].

34
Définition 4. Les méthodes polynomiales sont définies par des itérations

xm = x0 + Sm−1 (A) r0

où Sm−1 est un polynôme de degré au plus (m − 1)[10, p51].


1

- Une méthode itérative[10, p51] est polynomiale si et seulement si elle vérifie la condition
de sous espace xm ∈ x0 + Km (A, r0 ), ou de façon équivalente

xm+1 ∈ xm + Km+1 (A, r0 ) (2.8)

Proposition 3. [10, p51]Dans une méthode polynomiale, le résidu rm = qm (A) r0 et

em = qm (A) e0 (2.9)

où qm (X) = 1 − X.Sm−1 (X) est un polynôme de degré au plus m qui vérifie qm (0) = 1.

Démonstration. rm = b − Axm = b − A (x0 + Sm−1 (A) r0 )


= b − Ax0 − ASm−1 (A) r0
= r0 − Sm−1 (A) Ar0
= r0 (1 − ASm−1 (A))
= qm (A) r0
⇐⇒ rm = qm (A) r0 , et on a encore

em = A−1 rm = A−1 qm (A) r0 = qm (A) e0

Lemme 1. Si Am r0 ∈ Km alors Am+q r0 ∈ Km , pour tout q > 0.

Démonstration. La démonstration se fait par récurrence.


m−1
si pour q > 0, Am+q ∈ Km , alors : Am+q r0 = αk Ak r0 , et donc
P
k=0
m−1
X
Am+q+1 r0 = αk Ak+1 r0
k=0
1. Alexeil Nikolaievitch Krylov ( 15 aout 1863 - 26 octobre 1945 ), était un ingénieur naval, mathématicien
et mémorialiste russe. Il est célèbre pour ses travaux en mathématiques appliquées notamment un article
paru en 1931, consacré aux problèmes aux valeurs propres et introduisant ce que l’on appelle aujourd’hui
les sous espaces de krylov [8, p54].

35
m−2
X
m+q+1
A r0 = αk Ak+1 r0 + αm−1 Am r0
k=0
m−2 m−1
!
X X
= αk Ak+1 r0 + αm−1 βk Ak r0
k=0 k=0
m−1
X
= γk Ak r0 ∈ Km
k=0

Lemme 2. La suite des espaces de krylov Km est strictement croissante de 1 à mmax puis
stagne à partir de m = mmax .

Démonstration. Si m est le plus petit entier lequel Am r0 est dépendant des vecteurs précé-
dents, alors, les vecteurs (r0 , Ar0 , A2 r0 , ......, Am−1 r0 ) sont linéairement indépendants et donc
Kq est de dimension q, pour tout q < m.
En particulier Km est de dimension m.
De plus, Am r0 ∈ Km , et d’après le lemme(1), tous les vecteurs Am+q ∈ Km , pour tout q > 0,
de sorte que Km+q = Km , pour tout q > 0.
on a, donc
K1 = [r0 ] K2 K3 . . . . . . . Km = Km+q , ∀q > 0

Et par définition mmax , nécessairement m = mmax .

Théorème 10. La solution du système linéaire Ax = b appartient à l’espace


affine x0 + Kmmax .

Démonstration. D’après les deux lemmes (1) et (2), les vecteurs (r0 , Ar0 , A2 r0 , ......, Am−1 r0 )
sont linéairement indépendants et

X−1
mmax
mmax
A r0 = αk Ak r0 (2.10)
k=0

Dans l’équation (2.10) le coefficient α0 n’est pas nul,


en multipliant les deux termes de l’équation (2.10) par A−1 , on obtient

X−1
mmax
mmax −1
A r0 = αk Ak−1 r0 (2.11)
k=0

ce qui impossible, étant donné l’indépendance des vecteurs.

36
En divisant les deux termes de l’équation (2.10) par α0 et en faisant passer le nombre de
gauche à droite, on obtient
X−1 αk
mmax
1
r0 + Ak−1 r0 − Ammax r0 = 0
k=1
α0 α0

X−1
mmax
αk 1
⇐⇒ Ax0 − b + A k r0 − Ammax r0 = 0
k=1
α0 α0
−1
mmaxX
!
αk 1
⇐⇒ A x0 + Ak−1 r0 − Ammax −1 r0 =b
k=1
α0 α0

Remarque 2. Les équivalences ci-dessus montrent aussi que, si x ∈ x0 + Km alors les vecteurs
(r0 , Ar0 , A2 r0 , ......, Am−1 r0 ) sont linéairement dépendants.
D’après le lemme (2), cela signifie que les espaces de krylov atteint son point de stagnation
et donc Km = Kmmax .

Proposition 4. Le sous espace Km (A, r0 ) est un sous-espace invariant de A, l’équation


Ay = r0 à une solution dans cet espace.

Démonstration. D’après la théorème précédente Kmmax +1 (A, r0 ) = Kmmax (A, r0 ), est la suite
est stationnaire à partir de ce rang, on a donc

AKm (A, r0 ) ⊂ Kmmax +1 (A , r0 ) = Kmmax (A, r0 )

ce qui prouve l’invariance de l’espace.

Définition 5. Une méthode de projection de krylov[10, p52] est une méthode polynomiale
définie par une matrice B et deux conditions, la condition de sous espace (2.8) et la condition
de Petro-Galerkin
(Bem )T δ = 0 , ∀δ ∈ Km (A , r0 ) (2.12)

Le choix de B dicte la condition de la méthode de projection. Lorsque B définit un produit


scalaire, on obtient la propriété de minimisation souhaitée.

37
Proposition 5. [10, p52] Si B est une matrice symétrique définie positive, alors pour xm
satisfaisant la condition de sous espace (2.8), la condition de Petro-Galerkin (2.12) est
équivalente à minimiser l’erreur

em = min e0 − δ (2.13)
B B
δ∈Km (A,r0 )

où em = x − xm = x − (x0 + δ) = e0 − δ.

Démonstration. Soit xm = x0 + δ avec δ ∈ Km (A, r0 ). La condition (2.12) exprime que


l’erreur em = e0 − δ doit appartenir au B -orthogonal de l’espace Km (A , r0 ),
or em ∈ e0 + Km (A, r0 ), il s’ensuit que em est la projection B -orthogonal de e0 sur
(Km (A, r0 ))⊥B . Le vecteur δ solution du problème aux moindres carrés (2.13) est bien la
B -projection de e0 sur Km (A, r0 )[10, p52].

2.3.1 Méthode de gradient conjugué

La méthode de gradient conjugué (CG) a été découverte en 1952 par Hestenes et Steifel
pour la minimisation la fonction quadratique f tel que
1
f (X) = AX , X − b , X
2
où A ∈ Mn (R) est une matrice symétrique définie positive et b ∈ Rn et ., . définie un
produit scalaire.
On rappelle que ∇f (X) = AX − b et ∇2 f = A est définie positive.
La fonctionnelle f est donc strictement convexe, elle admet donc un minimum global X qui
vérifie 
∇f X = 0 ⇔ AX − b = 0 ⇔ AX = b
Chercher à minimiser f revient à résoudre le système (1.1).
Définition 6. (vecteurs conjugués) [21, p128] Soit A ∈ Mn (R) une matrice symétrique
définie positive


1. Deux vecteurs v et w de Rn 0 sont dits A-conjugués si

Av , w = v , Aw = 0
 
2. Une famille w(1) , w(2) , ......, w(p) de Rn 0 est dite A-conjugué

38

si Aw(i) , w(j) = 0 pour toute couple (i, j) ∈ 1, ....., p tel que i 6= j.

Remarque 3. Deux vecteurs sont conjugués s’ils sont orthogonaux par rapport à ce produit
scalaire. La relation de conjugaison est une relation symétrique. Si v est le conjugué de w
alors w est le conjugué de v.

Définition 7. La méthode du gradient conjugué (CG) est la méthode de projection de


krylov dans la quelle B = A et A symétrique définie positive [10, p53].

2.3.1.1 Description de la méthode

La méthode du gradient conjugué [10, p53]cherche à construire une suite (xk ) pour tout
k > 0, qui sont bien définies à partir des conditions d’espace et de Petro-Galerkin. Ils sont
tels minimisent l’erreur x − xk A en norme de A. Quantité égale au résidu, b − Axk A−1
en norme A−1 .

Définition 8. D’après la condition d’espace (2.8), il existe αk ∈ R et pk ∈ kk+1 (A, r0 ) tels


que :
xk+1 = xk + αk pk (2.14)

le vecteur pk est appelé direction de descente[10, p54].


Nous cherchons à construire les directions p0 , . . . . . . , pk de manière à ce que xk+1 − x0

appartienne à vect p0 , p1 , ....., pk , avec
 ⊥
pk ∈ vect Ap0 , Ap1 , ....., Apk

Proposition 6. [4, p190]La condition de Galerkin (2.12) est équivalent à

rk ⊥kk (A, r0 ) (2.15)

Démonstration. Le problème de minimisation


2
min z − x A
z∈x0 +KA (A,r0 )

39
a une solution xk unique qui est égale à la projection orthogonale de x sur x0 + KA (A, r0 )
pour le produit scalaire ., . A . On a donc xk ∈ x0 + KA (A, r0 ) et

x − xk , δ A
=0

pour tout δ ∈ KA (A, r0 ). Cette dernière condition s’écrit

A(x − xk ) , δ = 0

C’est à dire (rk = b − Axk )⊥kk (A, r0 ) [4, p191].

Théorème 11. [10, p54]Tant que les résidus rk sont non nuls, la méthode de (CG) vérifie :

r0 = b − Ax0

xk+1 = xk + αk pk

rk+1 = rk − αk Apk (2.16)


 
vect r0 , r1 , ....., rk = vect p0 , p1 , ....., pk = Kk+1 (A, r0 )
(rk , rj ) = 0, (Apk , pj ) = 0, pour j 6= k
et les directions de descente peuvent êtres choisies pour vérifier la récurrence ( à une constante
près).
p0 = r0 , pk+1 = rk+1 + βk pk (2.17)

Démonstration. -D’après la condition de (2.14), on a xk+1 = xk + αk pk ,


Axk+1 = Axk + αk Apk , d’où b − Axk+1 = b − Axk − αk Apk , soit

rk+1 = rk − αk Apk
 
-On fait la preuve par récurrence, puisque r0 = p0 , on a : vect r0 = vect p0 , donc la
propriété est satisfaite pour k = 0.
Supposons que
 
vect r0 , r1 , ....., rk−1 = vect p0 , p1 , ....., pk−1 = Kk (A, r0 )

et montrons que l’égalité est encore vraie pour k + 1.


Remarquons pour cela que si
   
dim vect p0 , p1 , ....., pk = dim vect p0 , p1 , ....., pk−1

40
on a xk+1 = xk , et on a convergé, donc rk+1 = 0.
Le seul cas intéressant reste donc celui où :
   
dim vect p0 , p1 , ....., pk = dim vect p0 , p1 , ....., pk−1 + 1

On a pk ∈ kk+1 (A, r0 ) ce qui implique que l’on ait inclusion



vect p0 , p1 , ....., pk ⊆ kk+1 (A, r0 )

et d’autre part,
rk = rk−1 − αk−1 Apk−1

avec rk−1 ∈ Kk (A, r0 ) et pk−1 ∈ Kk (A, r0 ), donc

Apk−1 ∈ Kk+1 (A, r0 ) ⇒ rk ∈ kk+1 (A, r0 )



vect r0 , r1 , ....., rk ⊆ kk+1 (A, r0 )

Dans les deux cas, on a donc l’égalité. D’après la condition de Galerkin, on a

rk , rj = 0 et rk , pj = 0

pour 0 6 j 6 k − 1, et d’après (2.16), on a

rk+1 , rj = rk , rj − αk Apk , rj = 0 ⇒ Apk , rj = 0

rk+1 , pj = rk , pj − αk Apk , pj = 0 ⇒ Apk , pj = 0

D’autre part, rk+1 ∈ kk+2 (A, r0 ), c’est à dire


k+1
X
rk+1 = γi pi
i=0

et Apj ∈ kj+2 (A, r0 ) ⊆ kk+1 (A, r0 ), pour j 6 k − 1.


Donc γj = 0 pour j 6 k − 1. On en déduit que

rk+1 = γk pk + γk+1 pk+1

Puisque dimkk+2 (A, r0 ) = k + 2, on a γk+1 6= 0, et on choisit γk+1 = 1, on en déduit la


récurrence (2.17)

Il reste à caractériser αk et βk pour définir complètement la méthode [10, p54-55].

41
Théorème 12. [10, p54]La méthode du gradient conjugué est définie

r0 = b − Ax0 , p0 = r0
2
rk , rk rk 2
αk = =
Apk , pk (Apk )T pk
2
rk+1 , rk+1 rk+1 2
βk+1 = = 2
rk , rk rk 2

Démonstration. [19, p23-24]Les résidus sont orthogonaux, on particulier


rk+1 , rk = 0 ⇒ b − Axk+1 , rk = 0
⇒ b − A (xk + αk pk ) , rk = 0 ⇐⇒ rk − αk Apk , rk = 0
rk , rk
⇐⇒ rk , rk − αk Apk , rk = 0 ⇐⇒ αk =
Apk , rk
rk , rk
αk = (2.18)
Apk , rk
et d’après l’équation (2.17), pk = rk + βk−1 pk−1 . Donc

Apk , rk = Apk , pk − βk−1 pk−1 = Apk , pk − βk−1 Apk , pk−1


| {z }
q
0

Donc Apk , rk = Apk , pk et d’après l’équation (2.18), on a


2
rk , rk rk 2
αk = = (2.19)
Apk , pk (Apk )T pk

-on a pk+1 et Apk sont orthogonaux , pk+1 , Apk = 0


⇐⇒ rk+1 + βk pk , Apk = 0 ⇐⇒ rk+1 , Apk + βk pk , Apk = 0
rk+1 , Apk
⇐⇒ rk+1 , Apk = −βk pk , Apk ⇐⇒ βk = −
pk , Apk
1
et d’après l’équation (2.16), on a Apk = − (rk+1 − rk ), donc
αk
1
rk+1 , Apk rk+1 , − (rk+1 − rk )
αk
βk = − =−
pk , Apk pk , Apk

1 rk+1 , rk+1 − rk+1 , rk


=
αk pk , Apk

42
on pose la valeur de αk dans cette relation, on obtient
Apk , pk rk+1 , rk+1 − rk+1 , rk
βk =
rk , rk pk , Apk
2
rk+1 , rk+1 rk+1 2
βk = = 2 (2.20)
rk , rk rk 2

L’algorithme de GC
L’algorithme ci-dessus donne l’explication la plus simple de la méthode du gradient conju-
gué. Cependant, il nécessite le stockage de toutes les directions précédentes recherchées et les
vecteurs des résidus, ainsi que de nombreuses multiplications vecteur de la matrice, et donc
peut être couteuse en ressources informatiques. Dans le pratique, on modifie légèrement la
condition d’obtention du vecteur dernier résidu, ne pas minimiser la métrique suivant la di-
rection de la recherche, mais au lieu d’en faire orthogonale au résidu précédent. Minimisation
de la métrique le long de la direction de la recherche sera obtenue automatiquement dans ce
cas. On peut alors obtenir un algorithme qui ne nécessite que le stockage des deux derniers
vecteurs de résidus et la direction dernière recherchée, et un seul vecteur de multiplication
matricielle. Noter que l’algorithme décrit ci-après correspond à la procédure précédemment
simple [16, p197].
L’algorithme est détaillé ci-dessous pour résoudre Ax = b. Le vecteur d’entrée x0 peut être
une solution approchée initiale ou 0.

Algorithme de Gradient conjugué : [18, p25]

Compute r0 = b − Ax0 , p0 = r0
For k = 0, 1, 2........,, until convergence, do
2
rk , rk rk 2
αk = =
Apk , pk (Apk )T pk
xk+1 = xk + αk pk
rk+1 = rk − αk Apk
2
rk+1 , rk+1 rk+1 2
βk = = 2
rk , rk rk 2
pk+1 = rk+1 + βk pk
End do

43
2.3.1.2 Convergence de GC

Nous avons vu la construction de la méthode du Gradient Conjugué. Nous allons mainte-


nant étudier les propriétés de convergence.

Proposition 7. [10, p57] Les coefficients βk et αk existent et sont uniques tant que
rk 6= 0

Démonstration. Tant que rk 6= 0, le coefficient βk est bien définie et unique.


Tant que rk 6= 0, on a aussi pk 6= 0.
La matrice A est définie positive, donc

(Apk )T pk 6= 0

et le coefficient αk existe et unique.

Théorème 13. [10, p57] Soit


κ (A) = A 2
A−1 2

le conditionnement spectrale de A.
La méthode de GC a une convergence strictement monotone, plus précisément
s
1
ek+1 A 6 1 − ek A ek A (2.21)
κ (A)

Démonstration. rk+1 = rk − αk Apk et

rk = b − Axk = A (x − xk ) = Aek
2
ek+1 A
= eTk+1 Aek+1 = rk+1
T
A−1 rk+1
= rkT A−1 rk − 2αk rkT pk + αk2 pTk Apk
rkT rk
or pTk Apk = , et rkT pk = rkT rk , d’où
αk
2 2 2
ek+1 A
= ek A
− α k rk 2
2
Nous allons minorer successivement rk 2
et αk .
2
2 2 2 ek
ek A = rkT A−1 rk 6 A −1
2
rk 2 =⇒ rk 2 > A
A−1 2

44
2 2
ek A
= rkT A−1 rk 6 A−1 2
rk 2
2
2 ek A
=⇒ rk 2 >
A−1 2
D’autre part,
pTk Apk = (rk + βk−1 pk−1 )T Apk = rkT Apk = rkT Ark + βk−1 rkT Apk−1
or
rkT Apk−1 = (pk − βk−1 pk−1 )T Apk−1
= −βk−1 pTk−1 Apk−1 6 0
2
donc pTk Apk 6 rkT Ark 6 A 2
rk 2
, et
2
rk 1
αk = T 2 >
pk Apk A 2
On en conclut que
2 1 2
αk rk 2
> ek A
A−1 2
A 2
donc !
2 1 2
ek+1 A 6 1− ek A
A−1 2
A 2
C’est à dire s
1
ek+1 A
6 1− ek A
κ (A)

Théorème 14. La méthode de gradient conjugué converge en n itérations au plus ( où n est


la dimension du système) [5, p53].

Démonstration. Nous allons démontrer que tous les vecteurs rk sont deux à deux orthogonaux
et que tous les vecteurs pk sont mutuellement conjugués, c’est à dire que l’on a

rk , rj = 0 et pk , Apj = 0, ∀j 6= k

Du fait que les n + 1 vecteurs r0 , r1 , ......, rn sont mutuellement orthogonaux et distincts


et qu’il ne peut exister, dans un espace de dimension n, plus de n vecteurs linéairement
indépendants, on voit que d’après la relation

rk , rk+1 = 0

il existe un indice k 6 n tel que rk = 0, ce qui prouve que xk est la solution exacte et qu’elle
est obtenue en n itérations au plus [5, p53-54].

45
2

Remarque 4. La méthode du gradient conjugué peut théoriquement être considérée comme


une méthode directe, car elle produit la solution exacte en un nombre fini d’itérations, ce qui
n’est pas supérieure à la taille de la matrice, en l’absence d’une erreur d’arrondi. Cependant,
la méthode du gradient conjugué est instable par rapport à même de petites perturbations,
par exemple, la plupart des directions ne sont pas conjuguées dans le pratique, et la so-
lution exacte n’est jamais obtenue. Heureusement, la méthode du gradient conjugué peut
être utilisée comme une méthode itérative, car elle comporte de façon monotone améliorer
approximations xk de la solution exacte, qui peut atteindre la tolérance requise après un
nombre relativement petit (par rapport à la taille du problème) d’itérations [5, p55].

Exemple 4. Soit le système linéaire


 Ax = b donné
  par
  
1 2 −1 1 x1 0
    
2 5 0 2 x2  =  2 
   
Ax = −1 0 6 0 x3  −1
   

1 2 0 3 x4 1
nous allons effectuer quatre étapes de la méthode du gradient conjugué début de l’estimation
initiale X0 = (1 ; 0 ; 0 ; 0)T pour trouver une solution approximative du système.
Solution
On va résumé la solution dans le tableau ci-dessous.

2. Les premiers résultats théoriques de convergence sont dus aux travaux de S.Kaniel (1966) et de
H.A.Van der Vost (1986) et elle a vraiment été popularisée pour la résolution de gros systèmes creux par
J.K.Reid(1971).

46
composantes des vecteurs
vecteurs
step

(1) (2) (3) (4)


xk xk xk xk αk βk−1
X0 1 0 0 0
0 r0 −1 0 0 0 1
p0 −1 0 0 0
Ap0 −1 −2 1 −1
X1 0 0 0 0
1 r1 0 2 −1 1 6 6
p1 −6 2 −1 1
Ap1 0 0 0 1
X2 −36 12 −6 6
5
2 r2 0 2 −1 −5 5
6
p2 −30 12 −6 0
Ap2 0 0 −6 −6
X3 −61 22 −11 6
1 2
3 r3 0 2 4 0
5 3
p3 −20 10 0 0
Ap3 0 10 20 0
X4 −65 24 −11 6
4 r4 0 0 0 0

La suite (Xk ) converge vers la solution exacte (−65 ; 24 ; −11 ; 6)T .


Les codes Matlab de la méthode de CG
Function [x, iter, flag] = solve CG(A, b, x0 , tol, nmax)
% Solve CG Conjugate Gradients method
% [X,RELES,ITER,FLAG]=CONJGRAD(A, b, X0 , N M AX, T OL)
%tente de résoudre le système A × X = b avec la méthode de gradient conjugué
% TOL est la tolérance de la méthode.
% NMAX est le nombre maximum d’itérations. X0 est la donnée initiale.
% RELRES est le résidu relatif Si FLAG vau 1, alors RELRES > TOL.
% ITER est l’itération à laquelle la solution X a été calculée.
X= X0 ;
r= b − A × X0 ; p = r ;
rho = r0 × r ; iter = 0 ;
f lag = 0 ; normb = norm(b) ;
if normb < eps ;normb = 1 ; end
relres = norm(r)/normb ;

47
if relres < tol, return, end
for (relres > tol)
a = A ∗ p;
alpha = rho/(a0 ∗ p) ;
X = X + alpha ∗ p ;
r = r − alpha ∗ a ;
rhonew = r0 ∗ r,
p = r + rhonew/rho ∗ p ;
rho = rhonew ;
niter = niter + 1 ;
if (iter == nmax)
f lag = 1 ; break ; end ; end

Exemple 5. Considérons le système suivant


    
4 1 −1 x1 1
1 4 −2 x2  = −7
    

−1 −2 5 x3 11

Soit X0 = (0 ; 0 ; 0)T , le vecteur initial, en calculant les itérés , on trouve que la suite (Xk )
converge vers la solution exacte (1 ; −1 ; 2)T .

les composantes des vecteurs


vecteurs
step

(1) (2) (3)


xk xk xk αk βk−1
X0 0 0 0
0 r0 1 −7 11
p0 1 −7 11 0.1587
Ap0 −14 −49 68
X1 0.1587743 −1.1114206 1.74651810
1 r1 3.2228412 0.77994428 0.20334261
p1 3.2873813 0.32816318 0.91328434 0.2579 0.0041
Ap1 1.2564404 2.77346544 0.62271397
X2 1.00679511 −1.02676685 1.98211111
2 r2 −0.0183025 0.06449452 0.04270583 0.4138 3.2 × 10−7

48
2.3.2 La méthode de GCR

La méthode GCR (Generalized Conjugate Residual ) est développée par Eisenstat, Elman
et Schultz en1983 [11, p10].

Définition 9. La méthode du (GCR) est une méthode de projection de krylov dans la


quelle B = AT A et A une matrice non symétrique.

2.3.2.1 Description de la méthode

Elle est basée sur la recherche d’une approximation xm de la solution du problème (1.1)
en minimisant, sur chaque sous espace, la norme du vecteur résidu r = b − Ax. A l’itération
m, le problème de minimisation se formule comme suit
Trouver xm ∈ x0 + Km (A, r0 )tel que

min b − Ax = b − Axm (2.22)


x∈x0 +Km (A,r0 )

Toutefois, nous allons construire une base différente de Km (A, r0 )[11, p19].
Etant donnée p0 , p1 , ..., pm−1 une base AT A−orthogonale de Km (A, r0 ), c’est à dire

Api , Apk = 0 , pour i 6= k (2.23)

et la direction pi+1 est générée par tous les directions précédentes {pj }ij=0 .
et d’après l’équation(2.17)
Xi
pi+1 = ri+1 + βji pj (2.24)
j=0

La solution de (2.22) s’écrit


i=m−1
X r0 , Api
xm = x0 + pi
i=0
Api , Api

Par addition, xm peut s’écrire avec xm−1 comme suit

rm−1 , Apm−1
xm = xm−1 + pm−1
Apm−1 , Apm−1

En effet, le minimum est caractérisé par

rm , Api = 0 , i = 0, 1, ...., m − 1

49
La solution approximative associée à le vecteur résidu s’écrit
i=m−1
X i=m−1
X
xm = x0 + αi pi , rm = r0 − αi Api (2.25)
i=0 i=0

On a donc
D i=m−1
X E
(r0 − αi Api ) , Api = 0 i = 0, 1, ...., m − 1
i=0

r0 , Api
=⇒ αi =
Api , Api
D’après, la relation, (2.25) on a
xm = xm−1 + αm−1 pm−1

En effet, supposons que xm−1 est connu et qu’on veut déterminer xm [22, p6].
On sait que p0 , p1 , ..., pm−1 forment une base AT A -orthogonale de sous espace Km−1 (A, r0 ),
et comme
i=m−2
X
rm−1 = r0 − αj Apj
j=0

alors on a
D i=m−2
X E
rm−1 , Apm−1 = (r0 − αj Apj ) , Apm−1
j=0

Di=m−2
X E
= r0 , Apm−1 − αj Apj , Apm−1 = r0 , Apm−1
j=0

Théorème 15. Si {xi }, {ri } et {pi } sont générées par la méthode de GCR[22, p8], alors on
a les relations suivantes
ri , Apj = 0 , i > j (2.26)

ri , Api = ri , Ari (2.27)

ri , Arj = 0 , i > j (2.28)

Démonstration. relation (2.26) est prouvée par récurrence sur i,


elle est trivialement vraie pour i = 0. Supposons qu’elle est vraie pour i < t.
puis en utilisant (2.16). En prenant le produit scalaire avec Apj , on obtient
Apt , Apj = rt , Apj − αt Apt , Apj

si i < t, rt , Apj = 0, par l’hypothèse Apt , Apj = 0.

50
d’après la AT A−orthogonalité de {pj }o,..,m−1 . Si j = t , alors

rt+1 , Apj = 0

d’après la définition de αi , donc i = t + 1 [22, p9].


Pour la relation (2.27), par multiplication la relation (2.24) par A, on trouve
i
Api+1 = Ari+1 + βji Apj , donc
P
j=0

i−1
X (i−1)
Api = Ari + βj Apj
j=0

D i−1
X E
(i−1)
ri , Api = ri , Api + ri , βj Apj = ri , Ari
j=0

Pour la relation (2.28),[24, p204] on a d’après (2.24)


j−1
X (j−1)
Arj = Apj − βt Apt
t=0

et
D j−1 E
X (j−1)
ri , Arj = ri , Apj − ri , βt Apt = 0
t=0

L’algorithme de GCR

Algorithme de GCR[24, p205]


1. compute r0 = b − Ax0 , p0 = r0
2. for i = 0, ....,unitil convergence DO
ri , Api
3. αi =
Api , Api
4. xi+1 = xi + αi pi
5. ri+1 = ri − αi Api
Ari+1 , Apj
6. compute βji = −
Apj , Apj
i
pi+1 = ri+1 + βji pj
P
7.
j=0
8. End Do

51
Les codes Matlab de la méthode de GCR
Function [x,error,iter,flag] = rgc( A,x,b,maxit,tol )
%[x,error,iter,flag,hist] = rgc( A,x,b,maxit,tol )
% TOL est la tolérance de la méthode.
% MAXIT est le nombre maximum d’itérations.
% X0 est la donnée initiale.
% FLAG vau = 1 , alors non convergence maxit.
= 0, alors solution found to tolérance
% ITER est l’itération à laquelle la solution X a été calculée.
x = x0 ;
f lag = 0 ; iter = 0 ;
bnrm2 = norm (b; 2) ;
if (bnrm2 == 0.0), (bnrm2 = 1.0) ; end
r =b−A×x % r0
 
pi = r ; % pour stocker les directions de descente pi
 
qi = A ? pi (: , 1) ; % pour stocker les vecteurs A ? pi
error = norm (r) /bnrm2 ;
if (error < tol) return , end
for m = 1 : maxit % on itere
iter = m;   
0 0
alpha = qi (: , m) ? r / qi (: , m) ? qi (: , m) ;
x = x + alpha ? qi (: , m) ; % mise a jour de la solution approchée
r = r − alpha ? qi (: , m) ; % mise a jour du residu
error = norm(r)/bnrm2 ; % test de convergence
if (error <= tol ) , breack , end ;
% calcul des BETAim, de la nouvelle direction p et du nouveau vecteurs A ? p
p = r ; Arm = A ? r ;
q = Arm ;
for i=1 : m  
0 0
BET Aim = (qi (: , i) ? Arm)/ qi (: , i) ? qi (: , i) ;
p = p − BET Aim ? pi (: , i) ;
q = q − BET Aim ? qi (: , i) ; end
 
pi = pi , p ; % on conserve les directions de descente
 
qi = qi , q ; % on conserve les Api
end ; fin de l’ itérations
if (error > tol ) f lag = 1 ; end

52
2.3.2.2 La convergence de GCR

Les espaces de Krylov Km (A, r0 ) sont emboités et de dimension croissante

Km−1 (A, r0 ) ⊆ Km (A, r0 )

min b − Ax > min b − Ax


x∈x0 +Km−1 (A,r0 ) x∈x0 +Km (A,r0 )

soit
rm−1 2
> rm 2

Plaçons nous dans le cas où la convergence n’est pas encore atteinte. S’il existe un espace
Km avec m < n tel que Km = Km−1 , alors la solution va être obtenue dans Km et le procédé
itératif prend fin. Sinon, on obtient au final m = n, soit Km = Rn , nous sommes donc sûr
de trouver la solution approchée xm [11, p18].
La solution approchée xm peut s’écrire aussi sous la forme

xm = x0 + qm (A)r0

où qm est un polynôme de degré m. La propriété de minimisation de GCR peut donc se


traduire sous forme polynomiale

b − Axm = min b − Ax = min p(A)r0


p∈Pm
x∈x0 +Km (A,r0 )

avec
 
Pm = p p est un polynôme de degré m et p(0) = 1

Une estimation de taux de convergence de la méthode de GCR[11, p18] est donc donnée
par
rm = min p(A)r0 6 r0 min p(A) 2
2 p∈Pm 2 p∈Pm

et pour tout p ∈ Pm nous avons


rm
2
6 p(A) 2
r0
2

Remarque 5. Dans l’algorithme de GCR, une division par zéro (appelée breakdown) peut se
produire. Dans ce cas, l’algorithme échoue et s’arrête sans converger [11, p22].

53
Corollaire 1. GCR donne la solution exacte de (1.1) au plus n itérations [22, p11].

Démonstration. Si ri = 0 pour i 6 n − 1, alors Axi = b, et la propriété est prouvée.


Si ri 6= 0 pour tout i 6 n − 1, alors pi 6= 0 pour tout i 6 n − 1, les vecteurs {pi }o,..,n−1
sont linéairement indépendants, alors, on a (p0 , p1 , ....pn−1 ) forment une base de sous espace
Kn (A, r0 ) c’est à dire (p0 , p1 , ....pn−1 ) = Rn , donc xn solution de (2.22)

Théorème 16. Supposons que Pj 6= 0 pour tout j = 0, 1, ..., i. Si αi = 0, alors pi+1 = 0 et


donc la GCR se décompose à l’itération (i + 1)−ième ( breakdown)[13, p452].

Démonstration. On a αi = 0 et Pi 6= 0, ri+1 = ri 6= 0, alors dans l’étape (7) dans l’algorithme,


on a
X i
pi+1 = ri+1 + βji pj
j=0

pi+1 ∈ (p0 , p1 , ..., pi )⇒ Api+1 ∈ (Ap0 , Ap1 , ..., Api ), et d’après (2.23) il est clair que Api+1
appartient à l’orthogonal complément de (Ap0 , Ap1 , ..., Api ), ainsi Api+1 = 0 de sorte que
pi+1 = 0 puisque A non singulière. À l’itération (i + 1)-ième, une division par zéro a lieu lors
du calcul αi+1 , ce qui provoque une rupture de l’algorithme GCR.

Exemple 6. Soit le système


    
4 1 −1 x1 1
1 4 −2 x2  = −7
    

−1 −2 5 x3 11

On va résoudre ce système par la méthode GCR avec X0 = (0 ; 0 ; 0)T .

(1) (2) (3)


Les vecteurs xk xk xk
X1 0.1491483174 −1.0440382218 1.6406314914
X2 1.0062727440 −1.0267773732 1.9819031274

Remarque 6. Pour cet exemple, la méthode GCR est plus rapide que celle de GC.

54
Exemple 7. Considérant
 le système suivant    
4 0 0 0 0 1 0 1 x1 −1
    
0 4 0 1 0 0 0 0 x2   0 
   

0 0 1 0 0 0 0 0 x3   2 
   

    
0 1 0 2 0 0 0 1 x4  =  5 
   

0 0 0 0 4 0 0 0 x5   4 
   

    
 x6  −2
1 0 0 0 0 1 0 0    

0 0 0 0 0 0 2 0 x7   0 
   

1 0 0 1 0 0 0 1 x8 3
Nous allons résoudre ce système par les deux méthodes GC et GCR

55
(1) (2) (3) (4) (5) (6) (7) (8)
les vecteurs xk xk xk xk xk xk xk xk
Méthode de CG
X1 −0.36196319 0 0.072392663 1.80981595 1.44785276 −0.72392638 0 1.08588957
X2 −0.38945035 −0.70006379 1.33895175 2.22727730 0.99775039 −1.19893899 0 1.44833765
X3 0.16618287 −0.44092254 1.97928283 2.17611930 0.89646141 −1.61973820 0 1.32200716
X4 −0.13085697 −0.52239240 2.12320987 2.08777620 1.01225591 −1.78086281 0 1.18474252
X5 0.40500949 −0.66536336 1.90303279 2.56328094 1.03243426 −2.42525757 0 0.37405808
X6 0.50826314 −0.71710385 1.79887795 2.95710717 0.98742987 −2.84904923 0 −0.32512373
X7 1 −1 2 4 1 −3 0 −2
Méthode de GCR
X1 −0.31285988 0 0.62571976 1.56429942 1.25143953 −0.62571976 0 0.93857965
X2 −0.37980670 0.61191742 1.24914734 2.14380049 1.02966928 −1.12676386 0 1.38418708
X3 −0.24197428 −0.50158966 1.72023871 2.16471746 0.94373048 −1.44483627 0 1.34406792

56
X4 −0.15240481 −0.51835834 2.04506579 2.10269663 0.99896747 −1.71570061 0 1.21563887
X5 −0.08501823 −0.53612998 2.02789522 2.15837730 1.00301332 −1.80147993 0 1.11389904
X6 0.04235792 −0.57498465 1.97872574 2.32986278 0.99966758 −2.02639067 0 0.80494411
X7 0.99999999 −1 2 3.99999999 −1 −2.99999999 0 −1.99999999
Remarque 7. En appliquant le test d’arrêt qui est indiqué dans le premier chapitre, c’est à
r(k) 2
dire 6 ε. On prend ε = 0.035.
b 2

r(4) 2
Pour la méthode de GCR, on constatons que 6 ε, et pour la méthode de CG, on
b 2
r(6) 2
remarquons que 6 ε.
b 2

Remarque 8. Pour cet exemple, la méthode de (GCR) est plus rapide que celle de (CG).

Conclusion
Dans ce chapitre, nous avons présentés deux méthodes de type de Krylov pour la résolution
des problèmes linéaires creux et de grande taille, la méthode de (CG) dans le cas symétrique
définie positive et la méthode de (GCR) dans le cas non symétrique ( dans le cas générale).
D’après les deux exemples (6) et (7), on déduisons que la méthode de (GCR) est plus rapide
que la méthode de (CG).

57
Chapitre 3

Préconditionement des systèmes linéaires

3.1 Principe général


Sur un problème donné, la convergence d’une méthode de krylov est difficilement prévi-
sible. Dans le cas du gradient conjugué, elle dépend du nombre de conditionnement
κ (A) = A . A−1 . En effet
x−x
e r
6 κ (A) , où r = b − Ae
x ; x est la solution exacte et x
e une solution approchée.
x b
Lorsque la résolution de système Ax = b prend trop d’itérations, c’est généralement que
la matrice A est mal conditionnée ( c’est à dire κ (A) est très grand ). On remplace alors
la résolution du système (1.1) par la résolution d’un système préconditionné admettant la
même solution [12, p17].
Étant donné une matrice M inversible d’ordre n, le système

M −1 Ax = M −1 b (3.1)

admet la même solution que le système initial, la matrice M est appelée matrice de pré-
conditionement associée au système préconditionné (3.1). Dans ce qui procède, le précon-
ditionnement est effectue à gauche MG−1 Ax = MG−1 b , mais il peut aussi être réalisé à droite


(AMD−1 y = b avec x = MD−1 y ), ou des deux côtés MG−1 AMD−1 y = MG−1 b [12, p18].


Le résidu d’un système préconditionné à droite est identique au résidu de système initial.
Dans la suite de ce paragraphe nous utilisons les notations d’un préconditionnement à gauche
mais le discours s’applique aussi autres préconditionneurs.
Reste à choisir M de manière à accélérer la convergence. Le but est de trouver une matrice
M −1 telle que M −1 A soit mieux conditionnée que A, il n’existe pas de solution universelle
mais quelques idées directrices peuvent guider l’élaboration d’un préconditionneur.

58
Notons par exemple que si M = A, la résolution est immédiate car le système devient

A−1 Ax = A−1 b ⇐⇒ x = A−1 b

Mais, le calcul du préconditionneur est aussi difficile que le problème initial. Pour construire
un préconditionneur, on peut donc chercher à construire une matrice M la plus creuse pos-
sible, pour pouvoir facilement l’inverser et pour gagner de la place mémoire, et de l’autre
côté, il faudra trouver une matrice M la plus proche possible de A, avec le moins de calcul
possible, de manière à accélérer la convergence de la méthode itérative utilisée [12, p18].
Voici quelques critères du choix d’un préconditionneur :

1. M doit être une bonne approximation de A, de manière à ce que le conditionnement


du système préconditionné soit bien meilleur que celui du système original.

κ M −1 A  κ (A)


2. La construction et le stockage de M doivent êtres peu couteux comparés à ceux de A.


3. Le système M z = r doit être plus facile à résoudre que le système original [11, p26].

Pour les problèmes symétriques définies positives, le taux de convergence du gradient


conjugué dépend de la distribution des valeurs propres de A et le préconditionneur doit
améliorer les propriétés spectrales de la matrice( le système préconditionné doit avoir un
nombre de préconditionnement plus faible et les valeurs propres devient êtres regroupées
autour de 1 ) [12, p17].
Pour les matrices non symétriques, la relation entre la convergence et les valeurs propres est
plus complexe, mais on peut retenir qu’un spectre regroupé induite souvent une convergence
rapide, surtout lorsque la matrice préconditionnée devient presque normale.
L’utilisation d’un préconditionneur dans une méthode de krylov se fait de manière suivante,
on considère le système (1.1) préconditionné par la matrice M

M −1 Ax = M −1 b (3.2)

le résidu initial préconditionné est alors définie par

r0 = M −1 (b − Ax0 ) (3.3)

et la recherche de la solution s’effectue dans l’espace de krylov

Km = V ect r0 , M −1 Ar0 , M −1 Ar02 , ......, M −1 Ar0m−1



(3.4)

en recherchant la solution dans x0 + Km qui minimise le résidu préconditionné.

59
Dans la pratique, on ne calcule jamais la matrice inverse M −1 , car les méthodes de krylov
préconditionnées n’ont pas besoin explicitement de cette matrice au cours du processus
itératif, seul le produit matrices- vecteurs avec M −1 est utilisée. Ainsi par exemple, pour
calculer le k ième résidu
rk = M −1 Ark−1

On pourra résoudre M rk = Ark−1 . Il est donc fondamental que ce produit matrices - vec-
teurs ne soit pas trop couteux à effectuer.
D’un point de vue général, un bon préconditionneur doit à la fois :

– Améliorer la convergence du système préconditionné en diminuant le nombre d’itéra-


tions.
– Etre peu couteux à calculer et à utiliser le cout d’initialisation du préconditionneur et
le calcul d’une itération doit rester rapide.

Ce compromis dépend notamment de la difficulté du problème à résoudre et de la précision


souhaitée [12, p18].

3.2 Quelques préconditionneurs classiques


On peut séparer les préconditionneurs en deux catégories principales : les précondition-
neurs algébriques et fonctionnels. Les préconditionneurs algébriques sont indépendants du
problème dont est issu le système à résoudre, ils sont construits par une procédure purement
algébrique. Au contraire, le préconditionneurs fonctionnels tirent avantage de la connaissance
du problème et sont construits en conséquence.
Décrivons à présent les préconditionneurs algébriques d’usage courant.

1.Préconditionneurs diagonaux ou de jacobi


Ils correspondent au cas où M est simplement une matrice diagonale.
Pour les matrices symétriques définies positives, il est souvent assez efficace de prendre pour
M = diag (A). avec
1 P n bi
zi = xi − aij xj +
aii j=1 aii

1  Pn
= b − aij xj  , i = 1, ..., n

 i
aii j=1
j6=i

60
Un choix habituel pour les matrices non symétriques est de prendre

n
!1/2
X
mii = a2ij , mij = 0, i 6= j
j=1

Exemple 8. Considérons le système suivant


    
12 1 0 x1 27
 0 9 3 x2  =  12 
    

−10 11 4 x3 −7

Le conditonnement de A est κ2 (A) = 649.9023.


La méthode de Jacobi converge très lentement après 1520 itérations vers la solution
X = (2 ; 3 ; −5)T . Pour améliorer la vitesse de convergence, on utilise le préconditionneur
de jacobi dans le cas non symétrique, c’est à dire
√ 
145 0 0

M = 0 3 10 0 
 

0 0 237

La méthode jacobi préconditionné converge après 550 itérations. En effet

(k) (k) (k)


Les vecteurs x1 x2 x3
X546 2.0030 2.9639 −4.89424
X547 2.0030 2.9641 −4.8931
X548 2.0030 2.9644 −4.8938
X549 2.0030 2.9646 −4.8946
X550 2.0029 2.9649 −4.8953

2.Préconditionneur de Gauss-seidel : On prend M = (D − E), et


i−1 n
1 X X bi
zi = xi − ( aij zj + aij xj ) +
aii j=1 j=i
aii

i−1 n
!
1 X X
= aij zj − aij xj , i = 1, ..., n
aii j=1 j=i+1

61
Exemple 9. Considérons le même système précédent d’exemple (8).
La méthode de Gauss-Seidel converge après 500 itérations, on utilisons le préconditionneur
de Gauss-Seidel  
12 1 0
M = (D − E) =  0 9 3
 

0 0 4
La méthode de Gauss-Seidel préconditionné converge après 30 itérations vers la solution
X = (2 ; 3 ; −5)T . En effet

(k) (k) (k)


Les vecteurs x1 x1 x1
X26 2.0018 2.9823 −4.9468
X27 2.0015 2.9854 −4.9563
X28 2.0012 2.9881 −4.9642
X29 2.0010 2.9902 −4.9706
X30 2.0008 2.9920 −4.9759

3.Préconditionneur de SOR : On prend

M = D − ωE

avec
i−1 n
ω X X bi
zi = xi − ( aij zj + aij xj ) + ω
aii j=1 j=i
aii
i−1 n
ω X X
= (1 − ω) xi − ( aij zj + aij xj ), i = 1, ..., n
aii j=1 j=i

En général, si la matrice A est symétrique, la matrice M ne l’est pas. Pour cette raison,
on préfère utiliser le préconditionnement SSOR.
4.Le préconditionneur de SSOR : On prend

M = (D − ωE)D−1 (D − ωF )

On notera que, si A est symétrique, la matrice M l’est aussi car F = E T . Donc, ce type de
préconditionnement serait adapté à l’algorithme du (CG).[2, p23]

5.Le préconditionneur SGS :(Gauss-Seidel Symétrique), ce type de précondi-


tionnement est obtenu à partir de SSOR en posant ω = 1.
C’est à dire M = (D − E)D−1 (D − F ) [20, p27].

62
Exemple 10. Soit le système
    
5 7 3 x1 9
7 11 2 x2  = 15
    

3 2 6 x3 1

Le conditionnement de la matrice A est κ2 (A) = 1478.8


La méthode de Gauss- Seidel converge très lentement après 1150 itérations. Pour améliorer
la vitesse de convergence on utilisons le préconditionneur SGS M = (D − E)D−1 (D − F ). La
méthode de Gauss-Seidel préconditionné converge très rapide vers la solution (−1 ; 2 ; 0 )T .
En effet
(k) (k) (k)
Les vecteurs x1 x2 x3
X0 0 0 0
X1 1.77300275482 2.00000000000 0.00000000001
X2 −1.000000000004 2.00000000004 0.00000000000

Maintenant, on va résoudre le système par la méthode de (GC) avec X0 = (0 ; 0 ; 0 )T .


Malgré le conditionnement κ2 (A) = 1478.8 est grand, mais la méthode de (GC) converge en
troisième itération vers la solution (−1 ; 2 ; 0 )T .

(k) (k) (k)


Les vecteurs x1 x2 x3
X0 0 0 0
X1 0.565030674846 0.941717791411 0.06278118609407
X2 0.505884935871 1.124837312851 −0.462110748322
X3 −0.999999999998 2.000000000103 0.0000000000035

63
6.Factorisation LU incomplète et Factorisation de Cholesky in-
complète
Les méthodes de factorisations incomplètes ont été introduites vers 1960 séparément par
Buleev et Varga [12, p19]. L’existence théorique des factorisations incomplètes peut être véri-
fiée pour certaines classes de matrices mais pour des matrices quelconques, les factorisations
incomplètes peuvent échouer.
Le principe d’une factorisation incomplète (ILU) est de limiter en cours de factorisation le
remplissage des facteurs en ignorant une partie des coefficients des facteurs.
Une telle factorisation peut être utilisée comme un préconditionneur d’une méthode itéra-
tive, sous la forme M = LU , où L et U sont les facteurs approchés d’une factorisation de
A.
Le but est d’obtenir une bonne approximation de A, au moindre cout en temps et en
mémoire [12, p19].
Une factorisation est dit incomplète si pendant que le processus de factorisation progresse,
certains éléments de remplissage sont ignorés. Pour certaines applications ou certains algo-
rithmes itératifs, il est intéressant d’utiliser cet algorithme pour chercher une matrice trian-
gulaire inférieure creuse L à diagonale unité et une matrice triangulaire supérieure creuse U
telles que la matrice R = LU + A vérifie certaines contraintes, par exemple, LU soit aussi
proche de A en imposant que R soit petit [14, p23], ou bien en imposant la contrainte sur
les positions des éléments non nuls de R qui doivent appartenir à une configuration donnée.
Souvent, on impose la structure creuse de L et U , en donnant la configuration des éléments
nuls de F = L + U − I dans un ensemble P où

P ∈ (i , j) , i 6= j , 1 6 i , j 6 n

Plusieurs algorithmes de factorisation incomplète pour calculer les facteurs L et U sont


connus et largement utilisés, notamment ILU (0), ILU (k), ILUT [12, p26].

– Algorithme ILU(0)
Dans le cas général où la configuration P est imposée, la factorisation incomplète sous
cette configuration, notée ILUP , peut être calculée comme dans l’algorithme suivant.

64
Algorithme de ILUP générale[12, p26]

1.for all k = 1, . . . . . . ., n − 1 do
2. for all i = k + 1, ....n and if (i; j) ∈
/ P do
aik
3. aik :=
akk
4. for all j = k + 1, ....n and if (i; j) ∈
/ P do
5. aij := aij − aik × akj
6. end for
7. end for
8.end for

Pour j = k + 1, ...n et seulement pour les indices j qui ne sont pas dans P exécuter la ligne
suivante.

Remarque 9. Algorithme précédent produit les facteurs L et U tels que

A = LU + R

où R est une matrice des éléments qui sont relâchés pendant le déroulement d’élimination
incomplète. De plus, si (i; j) ∈
/ P , rij = aij , sinon rij = 0.

-Le cas particulier de la factorisation incomplète ILUP est le cas ILU (0) où on impose
n o
P = ZERO(A) = (i; j), aij = 0

C’est à dire, aucun remplissage n’est autorisé dans le facteur de L et U . Autrement dit,
tous les éléments de la matrice A − LU sont nuls à la position où il était nuls dans A. Ces
contraintes ne garantissent pas l’unicité des facteurs L et U parce qu’en général il existe une
infinité de paires L et U qui vérifient ces contraintes.
Le standard d’algorithme[14, p26] ILU (0) est défini constructivement en remplaçant dans
l’algorithme ILUP général toutes les occurrences de ∈ / P par ∈ N Z(A) où
n o
N Z(A) = (i , j) , 1 6 i , j 6 n tel que aij 6= 0

Exemple 11. Soit la matrice  


2 3 0 1
 
0 3 0 2
A=
1

 0 2 1

1 2 0 3

65
La factorisation incomplète ILU(0) de A est la matrice
 
2 3 0 1
0 3 0 2 
 
1 1
LU = 
0 2

2 2
 
1 1 13
0
2 6 6
 
0 0 0 0
0 0 0 0
 
1 1
Avec la matrice résidu R = A − LU =  .
0 0
2 2
 
1 11 5
 
0
2 6 6

– Algorithme de Cholesky incomplète IC(0)


Opérateur initial A est une matrice symétrique définie positive, on appelle une factorisation
incomplète de Cholesky, la recherche d’une matrice H triangulaire inférieure aussi creuse que
possible et telle que H T H soit proche de A , par exemple, en posant R = A − H T H. On va
demander que l’erreur relative
R
∆=
A
Soit le plus petite possible [20, p28].
Algorithme de IC(0)[6, p23]
1.for k = 1, ......., n

2. akk = akk
3. for i = k + 1, ...., n and if (i; k) ∈ N Z(A) do
aik
4. aik =
akk
5. end
6. end
7. for j = k + 1, ......., n and if (i; j) ∈ N Z(A) do
8. aij = aij − aik × ajk
9. end
10. end
11. end

Exemple 12. Soit la matrice


 
24 0 6 0 0
0 8 2 0 0
 
6
A= 2 8 −6 2
0 0 −6 24 0
0 0 2 0 8

66
La factorisation incomplète de Cholesky IC(0) de A est
 
4.8990 0 0 0 0
 0 2.8284 0 0 0 
 
1.2247 0.7071 2.4495
H= 0 0 
 0 0 −2.4495 4.2426 0 
0 0 0.8165 0 2.7080
 
24 0 6 0 0
0 8 2 0 0
 
=⇒ HH T =  6 2 8 −6 2 
 0 0 −6 24 −2
0 0 2 −2 8
 
0 0 0 0 0
0 0 0 0 0
 
avec la matrice résidu R = HH T − A =  0 0 0 0 0.
0 0 0 0 −2
0 0 0 −2 0
R 2 2
et l’erreur relative ∆ = = = 0.0721.
A 2 27.7265

67
Chapitre 4

Applications aux systèmes à matrices


creuses

Lorsqu’on effectue des calculs numériques, il est très important de tenir compte de la
structure du problème afin de choisir l’algorithme le plus adapté pour sa résolution.

4.1 Matrices creuses


On dit qu’une matrice A est creuse si un grand nombre de ces coefficients est nuls, sinon,
elle est pleine [21, p27].

4.1.1 Représentation des matrices creuses


Dans la suite nous mettrons l’accent sur l’approche réalisée dans matlab pour le
traitement des structures creuses.

On peut envisager de nombreuses façons pour représenter une matrice creuse et il n’existe pas
de schéma qui soit le meilleur dans l’absolu. Le choix optimal dépend du type d’opérations
effectuées sur les éléments de la matrice.
Matlab stocke les matrices qu’elles soient pleines ou creuses colonne par colonne.
Une matrice creuse est représentée par la concaténation des éléments non nuls des vecteurs
colonnes[17, p61].

Exemple 13. Soit la matrice  


0 1 0
A = 2 0 3
4 0 0

68
L’information est stockée colonne par colonne
 
0
2
4
 
1
0
0
 
0
3
0
La commande nnz renseigne sur le nombre d’ éléments non nuls et nonzeros empile les
éléments non nuls colonne après colonne.
>> nnz(A)
ans =
4
>> nonzeros(A)
ans =
2
4
1
3
Avec la commande f ind on obtient le vecteur d’indices des éléments non nuls dans le vecteur
des colonnes empilées.
>> f ind(A)
ans =
2
3
4
8
Pour obtenir l’indice de la ligne et de la colonne des éléments non nuls et leur valeur on
exécute la commande.
 
>> i , j , e = f ind(A)
i =
2
3
1
2
j =
1
1
2
3

69
e =
2
4
1
3

4.2 Matrices symétriques définies positives


Définition 10. Une matrice A ∈ Rn×n est symétrique définie positive sur Rn si

A = AT et AX , X > 0 , ∀X ∈ Rn , X 6= 0

Avec AT la matrice transposée de A.


Si l’inégalité stricte est remplacée par une inégalité au sens large (>), la matrice est dite
semi définie positive [3, p42].

Exemple 14. Soit la matrice  


2 −1
A=
−1 2
La matrice A est symétrique définie positive, car : ∀X = (x1 , ; x2 )T 6= 0, on a

X T AX = (x1 − x2 )2 + x21 + x22 > 0

Proposition 8. Soit A ∈ Rn×n une matrice définie positive, alors on a


- A−1 existe.
- aii > 0.
- Les valeurs propres de A sont tous réelles positives.

Démonstration. -On va démontré que : AX = 0 =⇒ X = 0.


Supposons que AX = 0 et X 6= 0. Mais A est symétrique définie positive X T AX 6= 0,
contradiction avec AX = 0.
-Si ei le i − ème vecteur de la base canonique de Rn , alors eTi Aei = aii > 0.
-Comme A est symétrique, elle est diagonalisable dans R, et D = P T AP avec D diagonale
et P orthogonale. Posons X = P X, e alors
1

X T AX > 0, ∀ X 6= 0 ⇐⇒ X
e T (P T AP )X
e > 0, ∀ X
e 6= 0
e T DX
⇐⇒ X e > 0, ∀ X
e 6= 0
1. On dit que A est orthogonale si A−1 = AT [7, p100].

70
où D est la matrice diagonale des valeurs propres de A. On a donc
n
X
T
X AX > 0, ∀ X =
6 0 ⇐⇒ λi xei 2 > 0, ∀ X
e 6= 0
i=1

Il est alors clair que si toutes les valeurs propres sont strictement positives, la matrice est
définie positive. Réciproquement, si la matrice est définie positive, en prenant X
e égal succes-
sivement aux vecteurs de la base canonique de Rn , on obtient aisément que toutes les valeurs
propres sont strictement positives.

4.2.1 Complément de Schur

Soit M une matrice n × n. Considérons sa représentation sous forme de blocs


!
A B
M= (4.1)
C D

où A et D sont des matrices carrées k × k et (n − k) × (n − k) respectivement, et C et B


sont des matrices rectangulaires k × (n − k) et (n − k) × k respectivement. On résoudre le
système linéaire ! ! !
A B x c
= (4.2)
C D y d
c’est à dire 
 Ax + By = c
 Cx + Dy = d

Avec l’élimination de Gauss, et que, D soit inversible, on cherche y d’après deuxième l’équa-
tion
y = D−1 (d − Cx)

Par substitution y dans la première équation, on obtient

Ax + B D−1 (d − Cx) = c ⇐⇒ A − BD−1 C x = c − BD−1 d


 

Si la matrice A − BD−1 C est inversible, on obtient la solution de système (4.2)



 x = (A − BD−1 C)−1 (c − BD−1 d)
 
 y = D−1 d − C (A − BD−1 C)−1 (c − BD−1 d)

71
Définition 11. La matrice S = A − BD−1 C s’appelle le complément de Schur de la matrice
D dans la matrice M [11, p1].

Remarque 10. [11, p2]Si A est inversible, on peut utiliser le complément de Schur D−CA−1 B
de A dans M , on obtient la factorisation de M :
! ! ! !
A B I 0 A 0 I A−1 B
M= =
C D CA−1 I 0 D − CA−1 B 0 I

4.2.2 Caractérisation des matrices symétriques définies positives


par le complément de Schur
!
A B
Soit M une matrice symétrique représentée sous forme de blocs c’est à dire M = ,
BT C
donc A et C sont symétriques.
Le complément de Schur de C dans M est S = A − B T C −1 B, la factorisation de M s’écrit
comme suit
! ! ! !T
A B I BC −1 A − B T C −1 B 0 I BC −1
M= =
BT C 0 I 0 C 0 I

La matrice S = A − B T C −1 B est symétrique.


On utilisons la notation usuelle (M  0 c’est à dire définie positive) [11, p2].

Proposition 9. [11, p3] Soit M une matrice symétrique sous forme


!
A B
M= (4.3)
BT C

Si A est inversible , on a
M  0 si et seulement si A  0 et C − B T A−1 B  0.

!−1 !
I BA−1 I −BA−1
Démonstration. On observons que = ,
0 I 0 I
(=⇒) supposons que M  0 et A inversible, la factorisation de M est
! ! ! !
A B I BA−1 A 0 I 0
M= =
BT C 0 I 0 C − B T A−1 B (BA−1 )T I

72
! ! ! !
A 0 I BA−1 A B I 0
⇐⇒ =
0 C − B T A−1 B 0 I BT C −1 T
−(BA ) I
On sait que si pour toute matrice T symétrique, et pour toute matrice inversible N , on a la
propriété suivante.
T  0 ⇐⇒ N T N T  0 (4.4)
!
A 0
on obtient,  0.
0 C − B T A−1 B
!
A 0
(⇐=)Supposons que A  0 et C − BA−1 B T  0, on a donc  0, et
0 C − B T A−1 B
!
A B
d’après la propriété (4.4), on obtient, M =  0.
BT C

Proposition 10. [11, p3] Soit M une matrice symétrique sous forme de blocs (4.3), Si C
est inversible, on a
-M  0 si et seulement si C  0 et A − B T C −1 B  0.

Lemme 3. Soit M une matrice symétrique définie positive sous forme de blocs (4.3), alors
A et C sont symétriques définies positives.

Démonstration. Soit Y un vecteur non nul de dimension k, Y = (y1 , y2 , ....., yk )T 6= 0 et soit


X = (x1 , x2 , ......., xk , 0, 0, ....., 0)T 6= 0. Alors Y T AY = X T M X > 0.
La preuve pour la matrice C est analogue.

Exemple 15. Soit la matrice


 .. 
4 0 0 0 0 1
. 0 1

0 .. 
 4 0 1 0 0 . 0 0 


0 .. 
0 1 0 0 0 . 0 0 
..
 
0 1 0 2 0 0 . 0 1
 

M = .. 
 0 0 0 0 4 0 . 0 0 


1 .. 
0 0 0 0 1 . 0 0
..
 
· · · · · · · · · · · · · · · · · · . · · · · · ·
 
 . 
0 0 0 0 0 0 .. 2 0
 
.
1 0 0 1 0 0 .. 0 1

73
 
4 0 0 0 0 1
0 4 0 1 0 0
     
0 0 1 0 0 0 T 0 0 0 0 0 0 2 0
avec A = 
0
, B = et C = .
 1 0 2 0 0
 1 0 0 1 0 0 0 1
0 0 0 0 4 0
1 0 0 0 0 1

La matrice M  0, et d’après le lemme (3) les matrices A et C sont symétriques définies


positives. En effet, C  0, et les valeurs propres de A sont 0.6972; 1; 1.5858; 4; 4.3028; 4.4142.
Donc, A est une matrice symétrique définie positive.

Exemple 16. Soit A  0 et symétrique, où


 
4 0 0 0 0 1
 
0 4 0 1 0 0
 
0 0 1 0 0 0
A=
 

0 1 0 2 0 0
 
0 0 0 0 4 0
 
1 0 0 0 0 1

On va construire une matrice M symétrique définie positive sous forme de blocs (4.3).
 
1 0 0 −1 2 0
On prend B T = 0 2 1 1 4 −1, pour que M  0, il faut que C − B T A−1 B  0.
 

0 3 0 1 0 5
On a
40 43 38
 
 21 −
 43 21 21 
T −1 157 107 
B A B=  − 
21
 38 21 21 
107 748 
− −
21 21 21
On pose C − B T A−1 B = T ⇐⇒ C = T + B T A−1 B, où T une matrice symétrique définie
positive de taille 3 × 3.  
4 0 0
On prend par exemple T une sous matrice dans A, T = 0 4 0, on obtient donc la
 

0 0 1
matrice C
124 43 38
 
 21 − 
 43 21 21
241 107 
C=
 − 
21
 38 21 21 
107 769 
− −
21 21 21

74
Finalement, on a
 
4 0 0 0 0
1 10 0
 
0 4 0 1 0
0 02 3 
 
0 0 1 0 0
0 01 0 
 
 
0
 1 0 2 −1
0 01 1  
0 0 0 0 4
2 04 0 
M =
 

1 0 0 0 0
0 −1
1 5 
124 43 38 
 
0 0 −1 2 0 − 

1
 21 21 21 
 43 241 107 
0 2 1 1 4 −1 − 
 21 21 21 
 38 107 769 
0 3 0 1 0 5 − −
21 21 21
est une matrice symétrique définie positive.

Exemple 17. Soit A  0 et symétrique, où


 
4 0 0 0 0 1
 
0 4 0 1 0 0
 
0 0 1 0 0 0
A=
 

0 1 0 2 0 0
 
0 0 0 0 4 0
 
1 0 0 0 0 1

 une matrice M 
On va construire symétrique définie positive sous forme de blocs(4.3)
1 0 0 0 0
 
0 0 2 0 0
 
0 0 −2 0 0
On prend B =  , pour que M  0, il faut que C − B T A−1 B  0 .
 
1 0 0 0 1
 
4 0 1 0 0
 
0 0 0 2 0
On a  103 5 2 4 
0 −
 21 7 3 7 
 0 0 0 0 0 
 
 5 151 2
B T A−1 B =  7
 0 0 − 
 2 28 7
− 16 
0 0 0 
 3 3
 
4 2 4

0 − 0
7 7 7

75
On pose C − B T A−1 B = T ⇐⇒ C = T + B T A−1 B, où T une matrice symétrique définie
positive de taille 5 × 5.  
4 0 0 0 0 1
 
0 4 0 1 0 0
 
0 0 1 0 0 0
On prend par exemple T une sous matrice dans A, T =  .
 
0 1 0 2 0 0
 
0 0 0 0 4 0
 
1 0 0 0 0 1
on obtient, donc la matrice C
 187 5 2 4 
0 −
 21 7 3 7 
 0 4 0 1 0 
 
 5 179 2
C= 7
 0 0 − 
 2 28 7
− 22 
1 0 0 
 3 3
 
4 2 32

0 − 0
7 7 7
Finalement, on a
 
4 0 0 0 0 1 1 0 0 0 0
0 4 0 1 0 0 0 0 2 0 0 
 
0
 0 1 0 0 0 0 0 −2 0 0 
0 1 0 2 0 0 1 0 0 0 1 
 
0 0 0 0 4 0 4 0 1 0 0 
 
1 0 0 0 0 1 0 0 0 2 0 
187 5 2 4
 
M = 1 0 0 1 4 0 0 −



0 21 7 3 7
 0 0 0 0 0 0 4 0 1 0 
 5 179 −2 
0 2 −2 0 1 0 0 0 
 7 28 7 
 2 22 
0 0 0 0 0 2 − 1 0 0
3 3
 
4 2 32
 
0 0 0 1 0 0 0 − 0
7 7 7
est une matrice symétrique définie positive.

76
Considérons maintenant le système suivant
 
4 0 0 0 0 1 1 0 0 0 0
0 4 0 1 0 0 0 0 2 0 0     7 
 x1
 −2 

0 0 1 0
 0 0 0 0 −2 0 0  x2   
0 1 0 2 0 0 1 0 0 0 1     0 
  x
 3   13 
 
0 0 0 0 4 0 4 0 1 0 0  x4 

   
1 0 0 0 0 1 0 0 0 2 0     2 
 x 5
  24 
187 5 2 4
 
1 0 0 1 4 0 0 − x =
  
 6
  −5 
 21 7 3 7x  
 
0 0 0 0 0 0 0 4 0 1 0   7  44 
 x8  
    

0 2 −2 0 5 179 −2  1 
1 0 0 0 
x9   3 
 
7 28 7 
  

 2 22 x10
  
−23

0 0 0 0 0 2 − 1 0 0
3 3  x11
 

4 2 32 6
0 0 0 1 0 0 0 − 0
7 7 7
On va résoudre se système par les deux méthodes (CG) et (GCR) avec le vecteur initial
X0 = (0; 0; 0; 0; 0; 0; 0; 0; 0; 0 ; 0)T .

La méthode de GCR La méthode de CG


X8 X9 X8 X9
1.0901 1.0065 1.0516 1.0029
−0.9788 −0.9991 −1.0183 −1
−0.1036 −0.0048 −0.0832 −0.0004
1.9932 1.9997 2.0087 2
3.0154 3 2.9924 2.9993
−0.3425 −0.0142 −0.2180 0.0002
2.9945 2.9997 3.0030 3
0.9740 0.9979 0.9777 0.9989
−0.0414 −0.0017 −0.0130 0.0001
−2.9013 −2.9959 −2.9350 −3
0.5 0.5 0.5058 0.5
Les deux méthodes (CG) et (GCR) convergent vers la solution exacte
 T
1
X = 1 ; −1 ; 0 ; 2 ; 3 ; 0 ; 3 ; 1 ; 0 ; −3 ; .
2
En appliquant le test d’arrêt qui est indiqué dans le premier chapitre, c’est à dire
r(k) 2
6 ε, on prend ε = 0.23 × 10−3 .
b 2
r(9)
Pour la méthode de (GCR), on a 2
= 0.22723 × 10−3 6 ε, mais pour la méthode
b 2
r(9)
de (CG), on a 2
= 0.2321 × 10−3 > ε.
b 2

77
Remarque 11. Pour cet exemple, la méthode de (GCR) est plus rapide que celle de (CG).

Conclusion
Nous comptons réaliser des applications de travail en considérant des exemples concrets
de systèmes linéaires issus de modèles physiques.

78
Bibliographie

[1] A. Elmaliki. Résolution de problèmes aux limites à l’aide de méthodes itératives hiérar-
chiques à préconditionneur variable. Université Laval (2007) . Internet.
[2] A. Facius. Iterative Solution of Linear Systems. Université Kalsruhe(2000). Internet
[3] A. Quarteroni, R. Sacco, F. Saleri. Numerical Mathematics, Springer, Verlag Italia,
Milano(2004). Internet.
[4] B. Despres. Analyse numérique matricielle (2004). Internet.
[5] C. Brezinski, M. Zaglia. Méthodes numériques itératives. Ellipses Edidion Marketing
S.A., 2006.ISBN 978-2-7298-2887-5.
[6] C. Jen lin, R. Saigal. An Incomplete Cholesky Factorization For Dense Symmetric Po-
sitive Definite Matrices. BIT 2000, Vol. 40, No3, pp. 536-558.
[7] F. Jedrzejewski. Introduction aux méthodes numériques. Springer-Verlag France, Paris
(2005). Internet.
[8] G. Legendre. Méthodes numériques. Université Paris (2009). Internet.
[9] I. Gueye. Résolution de grands systèmes linéaires issus de la méthode des éléments
finis.(2009). Internet.
[10] J. Erhel, N. Nassif, B. Philippe. Calcul Matriciel et Systèmes Linéaires.(2004). Internet.
[11] J. Gallier. The Schur Complement and Symetric Positive Definite Matrices.(2010). In-
ternet.
[12] J.Gaidamor. Conçeption d’un solveur linéaire creux parallèle hybride direct-itératif. Uni-
versité de Bordeaux 1.(2009). Internet
[13] J. Heon Yun. Efficient Parallel Iterative Method For Solving Large Nonsymmetric Linear
Systems.Comm. Korean. Math. Soc. 9(1994), No.2, pp. 449-465.
[14] K. Kimcheng. Analyse de l’impact numérique du réordonnancement pour les méthodes
directes et itératives de résolution parallèle de très grands systèmes linéaires creux.
Université Bordeaux 1(2000). I nternet
[15] L.Amodei, J. Dedieu. Analyse Numérique Matricielle. Dunod, Paris, 2008. ISBN 978-2-
10-052085-5.
[16] M. Hestenes, E. Stiefel. Methods of Conjugate Gradients For Solving Linear Systems,
J.Res.Natl.Bur.Stand.,49 (1952) 409-436.

79
[17] M. Gilli. Méthodes numériques. Université de Genève(2006). Internet.
[18] N. Roshyara. Krylov Subspace Iteration (2005). Internet.
[19] N. Chanpagnant. Différences finies et analyse numériques matricielles.(2010). Internet.
[20] O. Boiteau.Généralités Sur le Gradient Conjugué.GCPC Aster.Clé R6.01.02. Internet.
[21] R. Herbin. Cours d’Analyse numérique (2010).Internet.
[22] S. Eisentat, H. Elman, M. Schultz . Variational Iterative Methods for Non symetric
systems of Linear equations.Aout (1981). Internet.
[23] T. Roger. Algèbre linéaire(1970). Internet.
[24] Y. Saad. Iterative methods for sparse linear Systems.Second Edition (2003). Internet.

80
Résumé

Les systèmes d’équations linéaires sont d’une grande importance dans l’analyse
numérique. La plupart de ces systèmes trouvent leurs origines dans la discrétisation
des équations aux dérivées partielles par différentes technique usuelles à savoir :
différences finies, éléments finis ou autre. Les systèmes d’équations linéaires
obtenus après discrétisation par les méthodes numériques appropriées peuvent
être de très grande dimension et les matrices associées peuvent elles aussi selon
les cas présentées quelques propriétés particulières (matrices symétriques,
matrices définies positives, matrices creuses par exemple) ou être simplement
quelconque. Dans notre mémoire, nous commençons par l’étude des méthodes de
relaxations. Les méthodes de projection sont étudiées dans un cadre général ainsi
que les méthodes de Krylov et ses variantes dans une seconde partie. Dans une
troisième partie, une étude est faite sur le pré conditionnement des matrices et
différents types de pré conditionneurs. Dans la dernière partie, le travail présenté
est illustré par des exemples numériques portant sur des systèmes linéaires larges
à matrices creuses.

Mots clés:

Méthodes de relaxations; Vitesse de convergence; Méthode de Jacobi;


Méthode de Gauss-Seidel; Méthodes de Richardson stationnaires;
Méthodes de Krylov; Méthodes de projection; Pré conditionnement des
matrices; Méthode de Gradients conjugués; Matrices symétriques
définies positives; Matrices creuses; Complément de Schur

Vous aimerez peut-être aussi