Académique Documents
Professionnel Documents
Culture Documents
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 :
1
Table des matières
Remerciements 5
Dédicace 6
Introduction 7
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
Conclusion 78
Bibliographie 79
3
Table des figures
4
Remerciements
5
Dédicace
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
1.1 Généralités
Dans tout ce chapitre, on cherche à résoudre le système
Ax = b (1.1)
x = Bx + c
9
1.1.1 Critère de convergence
e(k) = x − x(k)
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→+∞
10
Une première méthode consiste à calculer à chaque itération le résidu
r(k) = b − Ax(k)
r(k) 2
6ε
kbk2
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)
6ε
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)
où
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
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 )
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
−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
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
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
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
−1 −2 5 x3 11
1.2.3 Convergence
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
(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) ∞
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é
= |1 − ω|n
⇒ ρ (BGS (ω)) > |1 − ω|n
xk+1 = Bxk + c
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
ek = B k e0 ⇒ ek 6 B k e0
Si on veut avoir
ek
6ε
e0
cela est réalisé si B k 6 ε, soit
Puisque la méthode converge (Rk (B) > 0, au moins pour k assez grand), et on prendra
ln(ε)
k>−
Rk (B)
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→+∞
3. Lewis Richardson (11 octobre 1881 -30 septembre 1953 ) était un mathématicien, météorologiste et
psychologue anglais [17, p53].
20
Chapitre 2
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].
– 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
zk , Au = 0
x − xk+1 6 x − xk
xk+1 = xk + λk AT zk
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
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.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
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)
rk+1 = rk − λk Azk
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,
hrk , zk i
λk =
hzk , Azk i
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
26
Figure 2.1.2: Méthode de descente
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].
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
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
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
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
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
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é
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 )
Dans ce cas, les deux espaces Km et Lm sont différents. Nous assignons ici deux approches
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].
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) + 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)
33
L’itéré xk appartient donc à l’espace
Wk = {v = x0 + y, y ∈ Kk (A, r0 )} (2.7)
A−1 = P (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)
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
- 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
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.
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
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
X−1
mmax
mmax −1
A r0 = αk Ak−1 r0 (2.11)
k=0
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 .
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
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)
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 − δ.
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.
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 .
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
A(x − xk ) , δ = 0
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
-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 )
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
et d’autre part,
rk = rk−1 − αk−1 Apk−1
rk , rj = 0 et rk , pj = 0
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
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.
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
Proposition 7. [10, p57] Les coefficients βk et αk existent et sont uniques tant que
rk 6= 0
(Apk )T pk 6= 0
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)
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)
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
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
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
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
−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 .
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].
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
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
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
rm−1 , Apm−1
xm = xm−1 + pm−1
Apm−1 , Apm−1
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)
50
d’après la AT A−orthogonalité de {pj }o,..,m−1 . Si j = t , alors
rt+1 , Apj = 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
et
D j−1 E
X (j−1)
ri , Arj = ri , Apj − ri , βt Apt = 0
t=0
L’algorithme de GCR
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
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
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
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].
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.
−1 −2 5 x3 11
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
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
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 :
κ M −1 A κ (A)
M −1 Ax = M −1 b (3.2)
r0 = M −1 (b − Ax0 ) (3.3)
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 :
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
−10 11 4 x3 −7
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
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]
62
Exemple 10. Soit le système
5 7 3 x1 9
7 11 2 x2 = 15
3 2 6 x3 1
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
– 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.
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
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
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
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.
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].
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
A = AT et AX , X > 0 , ∀X ∈ Rn , X 6= 0
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.
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)
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
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.
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
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.
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 7x
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 .
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: