Cours Analyse Numerique Matricielle
Cours Analyse Numerique Matricielle
Cours Analyse Numerique Matricielle
Daniele A. Di Pietro
A.A. 2012–2013
Table des matières
2 Méthodes directes 22
2.1 Solution numérique des systèmes linéaires . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.1.1 Conditionnement d’une matrice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.1.2 Analyse a priori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.2 Opérations élémentaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.3 Méthode de Gauss . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.3.1 Factorisation A = LU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.3.2 Existence et unicité de la factorisation A = LU . . . . . . . . . . . . . . . . . . . 29
2.3.3 Pivoting partiel et factorisation PA = LU . . . . . . . . . . . . . . . . . . . . . . . 29
2.3.4 Résolution de systèmes linéaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.4 Autres factorisations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.4.1 Matrices SDP : La factorisation de Cholesky . . . . . . . . . . . . . . . . . . . . . 31
2.4.2 Matrices rectangulaires : La factorisation A = QR . . . . . . . . . . . . . . . . . 32
2.5 Matrices creuses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.5.1 Matrices tridiagonales : La méthode de Thomas . . . . . . . . . . . . . . . . . 32
2.5.2 Matrices creuses non structurées . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.6 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3 Méthodes itératives 43
3.1 Généralités . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.2 Méthodes de point fixe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.2.1 Formulation abstraite basée sur une décomposition régulière . . . . . . . 43
3.2.2 Les méthodes de Jacobi et Gauss–Seidel . . . . . . . . . . . . . . . . . . . . . . . 45
3.2.3 La méthode du gradient . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.3 Méthode du gradient conjugué . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
1
3.3.1 Vecteurs A-conjuguées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.3.2 La méthode du gradient conjugué . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.4 Méthodes basées sur les espaces de Krylov . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
3.4.1 Espaces de Krylov . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
3.4.2 Retour sur la méthode du gradient conjugué . . . . . . . . . . . . . . . . . . . . 53
3.4.3 L’algorithme de Gram–Schmidt–Arnoldi . . . . . . . . . . . . . . . . . . . . . . . 54
3.4.4 Principe des méthodes de Arnoldi et GMRes . . . . . . . . . . . . . . . . . . . . 55
3.5 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
2
Chapitre 1
On peut identifier chaque ligne i (resp. colonne j ) de A avec le vecteur ligne A i : (resp. vecteur
colonne A :j ) correspondant, et on parlera alors tout simplement de lignes et de colonnes de
A. Une matrice qui a autant de lignes que de colonnes est dite carrée. Les matrices non
carrées sont dites rectangulaires.
3
Définition 1.1 (Matrice triangulaire, strictement triangulaire et diagonale). Une matrice
A ∈ C n,n est dite triangulaire supérieure (resp. inférieure) si i > j =⇒ a i j = 0 (resp.
i < j =⇒ a i j = 0 ) pour tout 1 ≤ i , j ≤ n . Si les inégalité strictes sont remplacées par des
inégalités simples (à savoir, on admet des éléments non nuls sur la diagonale de A) on parle
alors de matrice strictement triangulaire supérieure (resp. inférieure). Une matrice (stricte-
ment) triangulaire inférieure ou supérieure est dite (strictement) triangulaire. La matrice A
est dite diagonale si i 6= j =⇒ a i j = 0. pour tout 1 ≤ i , j ≤ n .
Exercice 1.2 (Matrice triangulaire, strictement triangulaire et diagonale). Dire si les matrices
suivantes sont triangulaires, strictement triangulaires ou diagonales :
1 0 0 1 0 0 0 2 1
1 2 0 , 0 2 0 , 0 0 2 .
1 2 3 0 0 3 0 0 0
Définition 1.3 (Matrice de Hessenberg). Une matrice A ∈ Cn +1,n est dite de Hessenberg
supérieure si i > j + 1 =⇒ a i j = 0.
Par la suite nous omettrons d’indiquer les éléments nuls des matrices triangulaires, di-
agonales ou de Hessenberg.
A T := (a j i ) ∈ Cn,m , A H := (a j i ) ∈ Cn ,m .
Proposition 1.6 (Propriétés du produit matriciel). Le produit matriciel est (i) associatif, à
savoir, pour tout A, B , et C pour lesquelles les produits ont un sens, on a (A B )C = A(BC ) =
A BC ; (ii) distributif par rapport à addition, à savoir, pour toutes matrices A, B , C pour
lesquelles l’écriture A(B + C ) a un sens on a A(B + C ) = A B + AC .
4
B ∈ Cm ,l
b 11 b 12 ... b 1l
b 21 b 22 ... b 2l
12
b
.. .. ..
×
..
. . . .
21
2
+
b2
a
2
×
a2
bm1 bm2 ... bml
+
..
.+
2
bp
×
p
a2
a 11 a 12 ... a 1m c 11 c 12 ... c 1l
a a 22 ... a 2m c 21 c 22 ... c 2l
21
.. .. .. .. .. ..
.. ..
. .
. . .
. . .
a n1 a n2 ... a nm c n1 cn2 ... c nl
A ∈ Cn ,m C = A B ∈ Cn ,l
5
Il est important de retenir que le produit matriciel n’est pas commutatif.
Exercice 1.7 (Produit matriciel). Soient A ∈ R2,3 et B ∈ R3,3 définies comme suit :
2 3 1
1 2 3
A := , B := 7 3 2 .
3 2 1
8 1 2
On a
40 12 11
AB = .
28 16 9
Précisez si les produits B A et B A T sont définis et, si c’est le cas, les calculer.
Démonstration. On détaille la preuve pour le cas triangulaire inférieure, l’autre cas pouvant
se traiter de manière analogue. Par définition nous avons (i < k =⇒ a i k = 0) et k < j =⇒ b k j = 0 .
Par conséquent,
n
X i
X n
X
i < j =⇒ (A B )i j = a ik bk j = a ik bk j + a i k b k j = 0,
|{z}
k =1 k =1 k =i +1
|{z}
=0 =0
Example 1.9 (Produit de deux matrices triangulaires). On considère les deux matrices trian-
gulaires inférieures
1 8
A = 2 3 , B = 2 4 .
2 4 5 5 9 2
On a
8
A B = 22 12 .
49 61 10
Exercice 1.11 (Transposé et transconjugué d’un produit). Reprendre les matrices de l’Exer-
cice 1.7 et vérifier que (A B )T = B T A T .
Définition 1.12 (Matrice hermitienne et symétrique). Une matrice complexe A ∈ Cn ,n est dite
hermitienne si A H = A. Une matrice réelle A ∈ Rn ,n est dite symétrique si A T = A.
6
Example 1.13 (Matrice hermitienne et symétrique). Les matrices suivantes sont, respective-
ment, hermitienne et symétrique.
1+i 2+i
1 1 1 2
A = 1 − i 2 3 + i, B = 1 2 3 .
2−i 3−i 3 2 3 3
Définition 1.14 (Matrice normale, unitaire et orthogonale). Soit A ∈ Cn ,n . On dit que A est
normale si AA H = A H A. Si, de plus, AA H = A H A = I n on dit que A est unitaire. Si A ∈ Rn,n , on
dit que A est orthogonale si AA T = A T A = I n .
Il est utile de rappeler que les produits scalaires canoniques sur Rn et Cn sont définis,
respectivement, par
(x , y )Rn := y T x , ∀x , y ∈ Rn , (x , y )Cn := y H x , ∀x , y ∈ Cn .
Quand le contexte rende la notation non ambiguë, nous allons omettre l’indice pour le pro-
duit interne de Rn .
Remarque 1.15 (Matrices unitaires et norme 2). La dénomination des matrices unitaires se
justifie par la remarque suivante. Soit k·k2 la norme vectorielle sur Cn définie par kx k22 :=
(x , x )Cn = x H x . Alors, pour tout x ∈ Cn ,
à savoir, la multiplication par une matrice unitaire ne modifie pas la norme d’un vecteur.
Plus généralement, pour tout x , y ∈ Cn , on a
Example 1.16 (Matrice élémentaire unitaire). Soit w ∈ Cn tel que (w, w )Cn = w H w = 1. On
définit
A := I n − 2w w H . (1.1)
Une matrice de la forme (1.1) est dite élémentaire. On peut vérifier que A est unitaire. En effet
A H A = (I n − 2w w H )H (I n − 2w w H )
= (I n − 2w w H )(I n − 2w w H ) Proposition 1.10
= I n − 4w w + 4(w w )(w w )
H H H
Proposition 1.6, distributivité
= I n − 4w w + 4w (w w ) w
H H H
Proposition 1.6, associativité
| {z }
=1
= I n − 4w w + 4w w = I n .
H H
Définition 1.17 (Inverse d’une matrice). Soit A ∈ Cn ,n . On dit que A est inversible s’il existe
B ∈ Cn ,n telle que A B = B A = I n . B est dit inverse de la matrice A et elle est notée A −1 .
7
On vérifie aisément que l’inverse d’une matrice, si elle existe, est unique. Pour s’en con-
vaincre, soit A ∈ Cn,n une matrice inversible et B, C ∈ Cn ,n deux matrices telles que A B =
B A = AC = C A = I n . De par la Proposition 1.6 on a
A B = B A =⇒ C A B = C B A =⇒ (C A)B = C (B A) =⇒ I n B = C I n =⇒ B = C .
Par définition, en outre, toute matrice A ∈ Cn,n (resp. A ∈ Rn ,n ) unitaire (resp. orthogonale)
est inversible avec A −1 = A H (resp. A −1 = A T ).
Il est utile de considérer l’inverse de la transposée d’une matrice. On a, par définition,
T T
I n = (A T )−1 A T ⇐⇒ I nT = (A T )−1 A T ⇐⇒ I n = A (A T )−1 = AA −1 ,
Proposition 1.19 (Inverse d’un produit). Pour tout A, B ∈ Cn ,n inversibles telles que A B est
inversible on a
(A B )−1 = B −1 A −1 .
Ax = λx .
On dit dans ce cas que x ∈ Cn est un vecteur propre associé à la valeur propre λ. L’ensemble
des valeurs propres d’une matrice A, noté λ(A), est dit spectre de A.
Les valeurs propres sont par définition les solutions de l’équation caractéristique
p A (λ) := det(A − λI ) = 0.
Proposition 1.21 (Valeurs propres de l’inverse d’une matrice). Pour toute matrice A ∈ Cn ,n
inversible on a
λ ∈ λ(A) =⇒ λ−1 ∈ λ(A −1 ). (1.2)
Démonstration. On verra plus loin (Théorème 1.30) que l’inversibilité de A implique que
toutes ses valeurs propres soient non nulles. Comme λ ∈ λ(A), il existe x ∈ Cn non nul tel
que
Ax = λx ⇐⇒ x = A −1 Ax = λA −1 x ⇐⇒ λ−1 x = A −1 x ,
ce qui prouve que λ−1 ∈ λ(A −1 ).
8
Définition 1.22 (Matrice HDP et SDP). Une matrice A ∈ Cn ,n est HDP si elle est hermitienne
et définie positive, à savoir,
(Ax , x )Cn > 0 ∀x ∈ Rn .
Une matrice A ∈ Rn ,n est SDP si elle est symétrique et définie positive.
Démonstration. On détaille la preuve uniquement pour le cas HDP, l’autre étant similaire.
Soit λ une valeur propre de A et x ∈ Cn un vecteur propre associé. Alors,
x H Ax
Ax = λx =⇒ 0 < x H Ax = λx H x = λkx k22 =⇒ λ = ∈ R+
∗
.
kx k22
Proposition 1.24 (Valeurs propres d’une matrice triangulaire). Les valeurs propres d’une
matrice triangulaire sont ses éléments diagonaux.
Définition 1.25 (Rayon spectral). Soit A ∈ Cn ,n . On définit son rayon spectral comme la plus
grande valeur propre en valeur absolue,
Le rayon spectral n’est pas une norme matricielle (voir Section 1.5), car on peut avoir
ρ(A) = 0 sans que A soit nulle (il suffit de prendre une matrice triangulaire non nulle avec
diagonale nulle pour s’en convaincre).
9
1.3 Noyau et image d’une matrice
Soit A ∈ Rm ,n et CA le sous-espace vectoriel de Rm engendré par ses colonnes,
CA := span(A :j )1≤j ≤n .
range(A) := {y ∈ Rm | y = Ax , x ∈ Rn }.
ker(A) := {x ∈ Rn | Ax = 0 ∈ Rm }.
Définition 1.28 (Rang d’une matrice). On définit le rang d’une matrice comme la dimension
de son image,
rank(A) := dim(range(A)).
Proposition 1.29 (Propriétés du rang d’une matrice). Soit A ∈ Rm ,n . Nous avons rank(A) =
rank(A T ) et
rank(A) + dim(ker(A)) = n.
Le résultat suivant, que l’on admettra, établit un lien entre le déterminant, le rang, et le
noyau d’une matrice et son inversibilité.
Les résultats de cette section s’étendent sans difficulté au cas de matrices complexes.
10
1.4.1 Matrices diagonalisables
Définition 1.31 (Matrice diagonalisable). Une matrice A ∈ Cn,n est diagonalisable s’il existe
une matrice Q ∈ Cn ,n inversible telle que A = Q −1 ΛQ avec Λ ∈ Cn,n matrice diagonale.
Dans certains cas, on peut prouver des propriétés additionnelle pour la matrice Q qui
apparaît dans la Définition 1.31. Un exemple à retenir est donné dans le lemme suivant, qui
affirme que les matrices normales sont les seules matrices unitairement semblables à des
matrices diagonales.
U −1 AU = U H AU = Λ := diag(λ1 , . . . , λn ),
Théorème 1.35 (Décomposition de Schur (DS)). Pour toute A ∈ Cn ,n il existe U ∈ Cn,n uni-
taire telle que
λ1 b 12 · · · b 1n
λ2
b 2n
U AU = U AU =
−1 H
.. .. := T,
. .
λn
où λ1 , . . . , λn ∈ C sont les valeurs propres de A.
11
On pourra remarquer que, si T et une matrice carrée triangulaire supérieure, sa décom-
position de Schur s’obtient en posant U = I n . Ceci implique, en particulier, que les valeurs
propres de T sont ses éléments diagonaux. Ce résultat s’applique également aux matrices
triangulaires inférieures.
Le corollaire suivant montre une autre conséquence importante de la DS, à savoir, toute
matrice hermitienne est diagonalisable.
T H = (U H AU )H = U H A H U = U H AU = T,
Démonstration. On a
ΣH Σ = (U H AV )H U H AV = V H A H U H UAV = V H A H AV = V −1 A H AV
12
Corollaire 1.39 (Valeurs singulières et rayon spectral d’une matrice hermitienne). Si A ∈
Cn ,n est une matrice hermitienne, on a
p
σi (A) = λi (A)2 = |λi (A)|, ρ(A) = max σi (A) = kAk2 .
1≤i ≤n
Ax = λx =⇒ AAx = λAx = λ2 x ,
Dans le reste de cette section nous allons supposer A ∈ Cn ,n sans nécessairement le pré-
ciser à chaque fois.
Définition 1.41 (Norme matricielle subordonnée à une norme vectorielle). Soit k·k une
norme vectorielle sur Cn . On définit la norme matricielle subordonné à la norme vectorielle
k·k par
kAx k
∀A ∈ Cn,n , kAk := sup .
x ∈Cn , x 6=0 kx k
avec p ∈ N∗ et
kx k∞ := max |x i |.
1≤i ≤n
Remarque 1.42 (Définition alternatives d’une norme subordonnée). Soit k·k une norme vec-
torielle sur Cn . On prouve aisément que la norme matricielle subordonnée à k·k vérifie pour
tout A ∈ Cn ,n ,
kAk = sup kAx k = sup kAx k.
x ∈Cn , kx k=1 x ∈Cn , kx k≤1
13
Proposition 1.43 (Norme d’un produit matrice-vecteur). Soit k·k une norme matricielle sub-
ordonnée à la norme vectorielle k·k. Alors pour toute matrice A ∈ Cn,n et tout vecteur x ∈ Cn ,
kAx k ≤ kAkkx k.
Démonstration. Par définition on a
kAy k kAx k
kAk := sup ≥ ,
y ∈Cn , y 6=0 ky k kx k
où la deuxième inégalité vient de la définition de supremum.
Proposition 1.44 (Normes 1, 2 et ∞). On a
Démonstration. On commence par remarquer que la matrice A H A est normale. Elle admet
donc une DVS, à savoir, il existe une matrice unitaire U ∈ Cn ,n telle que U H A H AU = Λ =
diag(λ1 (A H A), . . . λn (A H A)) où on a noté λi (A H A), 1 ≤ i ≤ n, les valeurs propres de A H A. Nous
avons alors
kAk22 = sup kAx k22 = sup x H A H Ax
x ∈Cn , kx k2 =1 x ∈Cn , kx k2 =1
= sup x H U H ΛUx A H A = U H ΛU
x ∈Cn , kx k 2 =1
= sup y H Λy y := Ux
y ∈Cn , kU H y k 2 =1
kAk ≤ ρ(A) + ε.
14
1.6 Exercices
Exercice 1.47 (Matrice SDP). Soit A = (a i j ) ∈ Rn ,n une matrice SDP. Prouver que a k k > 0 pour
tout 1 ≤ k ≤ n .
x T Ax = (Ax , x ) = (x , x )A > 0.
B + = B −T . (1.3)
Par conséquent
B −T B − = B + B − = I n − A 2 , B − B −T = B − B + = I n − A 2 ,
(iii) Comme B − est normale, d’après le Lemme 1.34 elle est unitairement semblable à une
matrice diagonale, à savoir, il existe U ∈ Rn ,n orthogonale et Λ ∈ Rn ,n diagonale telles que
B − = U T ΛU , Lemme 1.34
B+ = B −T = U T ΛU , eq. (1.3)
B −−1 = U Λ U
−1 −1 −T
= U T Λ−1U , Proposition 1.19, U T = U −1
B +−1 = U −1 Λ−1U −T = U T Λ−1U . eq. (1.3), U T = U −1
15
En utilisant les rélations ci-dessus et le fait que B +−1 = B −−T (voir point (i)) on trouve
et
C T C = (U T Λ−1U )(U T ΛU )(U T ΛU )(U T Λ−1U ) = I n ,
où nous avons utilisé à plusieures réprises le fait que U T = U −1 pour simplifier.
Exercice 1.49 (Matrice hermitienne et antihermitienne). Une matrice A ∈ Cn ,n est dite an-
tihermitienne si A H = −A. Montrer que (i) les éléments diagonaux d’une matrice hermiti-
enne sont des réels tandis que ceux d’une matrice antihermitienne sont des imaginaires purs ;
(ii) montrer que, si une matrice triangulaire est hermitienne ou antihermitienne, elle est di-
agonale.
1
hi j = .
i + j −1
On remarque que
Z 1
1
= t j −1 t i −1 dt . (1.4)
i + j −1 0
où on a conclu grâce au fait que, par construction, w n’est pas la fonction identiquement
nulle.
16
Exercice 1.51. Soient A, B ∈ Rn ,n deux matrices inversibles telles que A + B est inversible.
Montrer que A −1 + B −1 est inversible et qu’on a
−1
A −1 + B −1 = B (A + B )−1 A = A (A + B )−1 B.
On observe que
A −1 + B −1 = A −1 I n + A B −1 = A −1 (B + A) B −1 .
Or, A, B et A + B étant inversibles, nous avons que
−1
B (A + B )−1 A = A −1 (B + A) B −1 = (A −1 + B −1 )−1 ,
ce qui prouve la première égalité. Pour prouver la deuxième on procède de manière ana-
logue en factorisant A −1 à droite et B −1 à gauche.
Ax = λx =⇒ A k −1 Ax = λA k −1 x =⇒ A k x = λk x ,
Pn
et, par définition, k =0 c k λk ∈ λ(P(A)). Comme card(λ(A)) = card(λ(P(A))) = n nous avons
trouvé toutes les n valeurs propres de P(A), ce qui permet de conclure.
Exercice 1.53 (Valeurs singulières de l’inverse d’une matrice). Soit A ∈ Cn ,n inversible. Ex-
primer les valeurs singulières de A −1 en fonction de celles de A.
A = U DU T = U DU −1 , D = diag(λ)λ∈λ(A) .
p
Soit t := λmin λmax . On a
1 1
A + t A −1 = U D +tD −1
U −1 := U ∆U −1 , (1.5)
t t
17
avec ∆ = diag(λ/t +t /λ)λ∈λ(A) . La fonction f (ξ) := ξ/t +t /ξ est convexe sur R+
∗
et elle atteint
son infimum en ξ = t , comme on le voit en résolvant
1 t
0 = f 0 (ξ) = − 2 ⇐⇒ ξ2 − t 2 = 0 et t > 0 ⇐⇒ ξ = t .
t ξ
De plus, on a r r
λmax λmin
max f = f (λmin ) = f (λmax ) = + .
ξ∈[λmin ,λmax ] λmin λmax
Par conséquent, pour tout ξ ∈ [λmin , λmax ],
r r
λmax λmin
f (ξ) ≤ + . (1.6)
λmin λmax
I n ± αA = Q −1Q ± αQ −1 ΛQ = Q −1 (I n ± αΛ)Q,
ce qui permet de conclure que la matrice I n ± αA est diagonalisable et ses valeurs propres
sont de la forme 1 ± αλ, λ ∈ λ(A). De par le Théorème 1.30, la matrice I n + αA est inversible
si et seulement si toutes ses valeurs propres sont non nulles, à savoir α 6= −1/λ pour tout
λ ∈ λ(A), ce qui est toujours vérifié car α > 0 par hypothèse. De plus,
−1
(I n + αA)−1 = Q −1 (I n + αΛ)Q = Q −1 (I n + αΛ)−1Q,
18
et (I n + αΛ)−1 = diag 1
1+αλ λ∈λ(A)
. De par les résultats précédents, on a
où nous avons utilisé le fait que Λ̃ est une matrice diagonale à valeurs réells pour conclure
Λ̃H = Λ̃.
Exercice 1.55 (Pséudo-inverse de Moore–Penrose). Soient m et n deux entiers avec m ≥ n ,
et soit A ∈ Rm ,n une matrice de rang n . On admettra par la suite que A T A ∈ Rn ,n est définie
positive et donc inversible. On définit la pseudo-inverse de Moore–Penrose par
A † := (A T A)−1 A T .
A †A = I n , A † AA † = A † , si m = n , A † = A −1 ;
J (y ) = (Ay − b )T (Ay − b )
= (Ay )T Ay − (Ay )T b − b T Ay + b T b
= y T (A T A)y − y T A T b − b T Ay + b T b.
= y j (A T A)i j y i − y i (A T b )i − (b T A)i y i + b i b i
où par brévité nous avons utilisé la notation de Einstein qui sous-entend les sommes sur les
indices repétés. Par conséquent, pour tout 1 ≤ k ≤ n,
∂ J (y )
= (A T A)i k y i + y j (A T A)k j − (A T b )k − (b T A)k ,
∂ yk
à savoir,
∇ J (y ) = 2(A T A)y − 2A T b.
La condition d’optimalité donne
19
Exercice 1.56 (Valeurs singulières d’une matrice normale). Soit A ∈ Cn ,n une matrice nor-
male. Montrer que les valeurs singulières de A sont les modules de ses valeurs propres.
COMPLETER
Exercice 1.57 (Inégalité triangulaire). Soit k·k une norme matricielle subordonnée. Prouver
que pour tout A, B ∈ Cn ,n ,
kA + B k ≤ kAk + kB k.
On a
kA + B k := sup k(A + B )x k = sup kAx + Bx k
x ∈Cn , kx k=1 x ∈Cn , kx k=1
où nous avons utilisé l’inégalité triangulaire pour la norme vectorielle pour passer à la deux-
ième ligne.
Exercice 1.58 (Norme d’une matrice unitaire). Soit U ∈ Cn,n une matrice unitaire. Prouver
que kU k2 = 1 et que pour tout A ∈ Cn ,n on a kAU k2 = kUAk2 = kAk2 .
Soit x ∈ Cn . Par définition on a kUx k22 = (Ux )H (Ux ) = x H U H Ux = x H x = kx k22 . Par con-
séquent,
kU k2 = sup kUx k2 = 1.
x ∈Cn , kx k2 =1
Cette norme n’est pas subordonnée à une norme vectorielle. Prouver que
1 p 1 p
kAk1 ≤ kAkF ≤ nkAk1 , kAk∞ ≤ kAkF ≤ nkAk∞ .
n n
Calculer kI n kF .
Il est utile de rappeler que
n X
X n n
X n
X
kAk2F := |a i j |2 , kAk1 := max |a i j |, kAk∞ := max |a i j |.
1≤j ≤n 1≤i ≤n
i =1 j =1 i =1 j =1
Or,
21 12
n
X n X
X n Xn X
n Xn X
n
kAk1 = max |a i j | ≤ 1 × |a i j | ≤ 12 × |a i j |2 = nkAkF ,
1≤j ≤n
i =1 j =1 i =1 j =1 i =1 j =1 i =1
20
ou nous avons utilisé l’inégalité de Cauchy–Schwarz dans le deuxième passage. La preuve
que kAk∞ ≤ nkAkF est similaire. Pour prouver la borne supérieure, on observe que
! 12
n X
X n n
X n
X
kAk2F = |a i j |2 ≤ n max |a i j |2 ≤ n max |a i j |2 = nkAk21 ,
1≤j ≤n 1≤j ≤n
i =1 j =1 i =1 i =1
p p
d’où kAkF ≤ nkAk1 . La preuve de kAkF ≤ nkAk∞ suit un raisonnement analogue. On a
p
kI n kF = n.
Exercice 1.60 (Rayon spectral). Soit A ∈ Rn ,n une matrice SDP. Montrer que ρ(A) < 1 si et
seulement s’il existe une matrice Q ∈ Rn ,n SDP telle que B := Q − A T QA est SDP.
(i) ρ(A) < 1 =⇒ (∃Q ∈ Rn ,n , B SDP) Il suffit de prendre Q = I n . En effet, avec ce choix on
a pour tout x ∈ Rn \ {0 ∈ Rn },
x T Bx = x T I n − A T I n A x = kx k22 − kAx k22
≥ kx k22 − kAk22 kx k22 Proposition 1.43
= 1 − ρ(A)2 kx k22 ≥ 0, Corollaire 1.36
Soit λ la plus grande valeur propre (en valeur absolue) de A, x ∈ Rn un vecteur propre associé
avec kx k2 = 1, et y := Ax = λx . De par la rélation (1.8) on a
2
x T Qx > y T Qy = λ x T Qx ,
21
Chapitre 2
Méthodes directes
cond(A) := kAk kA −1 k.
Comme k·k est une norme subordonnée, nous avons
1 = kI n k = kAA −1 k ≤ kAk kA −1 k = cond(A),
à savoir, le conditionnement d’une matrice est toujours ≥ 1. Pour p ∈ N on définit condp (A) :=
kAkp kA −1 kp le conditionnement associé à la norme p . Un cas particulièrement important est
p = 2, pour lequel on a d’après la Proposition 1.44,
σ1 (A)
cond2 (A) = ,
σn (A)
où σ1 (A) et σn (A) dénotent, respectivement, la plus grande et la plus petite valeur singulière
de A (le fait que 1/σn (A) est la plus grande valeur singulière de A −1 est justifié dans l’Exer-
cice 1.53). Si, de plus, A est hermitienne, de par le Corollaire 1.39 on a
maxλ∈λ(A) |λ| ρ(A)
cond2 (A) = = = kAk2 kA −1 k2 , (2.2)
minλ∈λ(A) |λ| ρ(A −1 )
ce qui justifie l’appellation de nombre de conditionnement spectral.
22
2.1.2 Analyse a priori
Proposition 2.2. Soit A ∈ Cn,n telle que ρ(A) < 1. Alors, la matrice I n − A est inversible et on a
pour toute norme matricielle subordonnée telle que kAk < 1,
1 1
≤ k(I n − A)−1 k ≤ .
1 + kAk 1 − kAk
On note x ∈ Rn la solution du système linéaire Ax = b avec b ∈ Rn \ {0} et, pour une perturba-
tion du seconde membre δb ∈ Rn , soit δx ∈ Rn tel que
(A + δA)(x + δx ) = b + δb.
Alors,
kδx k cond(A) kδb k kδAk
≤ + . (2.4)
kx k 1 − cond(A)kδAk/kAk kb k kAk
Remarque 2.4 (Hypothèse (2.3)). L’hypothèse (2.3) a une interprétation naturelle dans la
mesure où elle implique kA −1 δAk < 1, à savoir, les erreurs d’arrondi sur la matrice A sont
supposées petites par rapport aux valeurs des entrées de A.
23
Proposition 2.2 à la matrice −A −1 δA, obtenant ainsi
(A + δA)(x + δx ) = b + δb définition de δx
=⇒ + δAx + A(I n + A δA)δx =
Ax −1
b + δb Ax = b , A+δA = A(I n +A −1 δA)
δx δb δAx (I n + A −1 δA)−1 A −1
=⇒ = (I + A δA) A
−1 −1 −1
− mult. à gauche par
kx k kx k kx k kx k
δx
kδb k
=⇒ ≤ k(I + A δA) k kA k
−1 −1 −1
+ kδAk kδAx k ≤ kδAk kx k
kx k kx k
δx
kδb k kδAk
=⇒ ≤ k(I + A δA) k cond(A)
−1 −1
+ kAk kx k ≥ kAx k = kb k
kx k kb k kAk
δx
cond(A) kδb k kδAk
=⇒ ≤ + Proposition 2.2
kx k 1 − kA −1 δAk kb k kAk
δx
cond(A) kδb k kδAk
=⇒ ≤ + . (2.3)
kx k 1 − cond(A)kδAk/kAk kb k kAk
Remarque 2.5. Si les perturbations δb et δA sont telles que δb = γkb k et δA = γkAk avec
δ ∈ R+
∗
et γ cond(A) < 1, l’estimation (2.4) se reduit à
kδx k 2 cond(A)
≤ .
kx k 1 − γ cond(A)
En pratique cette hypothèse est raisonnable, et le paramètre γ depend de l’epsilon machine ε,
à savoir, le plus petit nombre tel que 1 + ε > 1 en arithmétique flottante.
B i : ← λA i : + µA j : ,
B i : ← 0A i : + 1A j : , B j : ← 1A i : + 0A j : .
24
Cependant, sans l’hypothèse λ, µ 6= 0 on ne pourra plus garantir des propriétés d’équivalence
entre les deux matrices.
Nous allons par la suite montrer qu’on peut interpréter ces deux opérations élémentaires
comme des multiplications à gauche par des matrices opportunes. On commencera par
remarquer que, étant donné une matrice P = (p i j ) ∈ Rn ,n , nous avons pour tout 1 ≤ i , j ≤ n,
n
X
(PA)i : = p i 1 A 1: + p i 2 A 2: + . . . + p i n A n : = p i k A k :, (2.5)
k =1
à savoir, l’i -ème ligne de PA est obtenue par combinaison linéaire des lignes de A avec coef-
ficients p i 1 , . . . , p i n . Soient maintenant 1 ≤ i 6= j ≤ n deux indices. La matrice de permutation
P qui réalise l’échange A i : ↔ A j : doit satisfaire les conditions suivantes :
Par conséquent, les seuls éléments non nuls de P sont les suivants :
p i j = 1, p j i = 1, p l l = 1 ∀l ∈ ¹1, nº \ {i , j }. (2.6)
P −1 = P T = P.
p i i = λ, p i j = µ, p l l = 1 ∀l ∈ ¹1, nº \ {i , j }.
Exercice 2.9 (Combinaison linéaire de deux lignes). Écrire la matrice P qui correspond à la
combinaison linéaire A 1: ← 2A 1: + 3A 4: pour la matrice de l’Exercise 2.7 et vérifier le résultat.
25
Exercice 2.10 (Échange de deux colonnes). Soient 1 ≤ i 6= j ≤ n . Montrer que l’échange de
colonnes
A :i ↔ A :j
peut s’interpréter comme la multiplication à droite par la matrice de permutation P = (p i j )
dont les seuls éléments non nuls sont
p i j = 1, p j i = 1, p l l = 1 ∀l ∈ ¹1, nº \ {i , j }.
(AP):l = A :1 p 1l + A :2 p 2l + . . . + A :n p nl .
avec, en particulier,
(k ) (k )
(k )
a 11 · · · a 1k 0 ··· 0 a k +1k
.. .. (k ) ..
U (k ) =
. . ,
A 21 =
0 · · · 0 .
(k ) (k )
a kk 0 ··· 0 a nk
(k )
On supposera pour l’instant que u k k = a k k (le pivot) est non nul. Notre objectif consiste
à annuler les coefficients de la variable k dans les lignes k + 1, . . . n de A, à savoir, annuler
(k )
l’unique colonne non nulle de A 21 . Cela revient à effectuer les combinaisons linéaires suiv-
antes :
(k )
(k +1) (k ) a i k (k )
A i : ← A i : − (k A
) k:
∀i ∈ ¹k + 1, nº. (2.8)
a kk
D’après (2.5), les seuls éléments non nuls de la matrice E (k ) = (e i j ) ∈ Rn ,n telle que A (k +1) =
E (k ) A (k ) sont
(k )
eii = 1 ∀i ∈ ¹1, nº
(k )
(k ) a ik (2.9)
eik =− (k )
∀i ∈ ¹k + 1, nº.
a kk
26
La matrice E (k ) est donc de la forme
1
.
0 . .
..
. 1
(k ) . (k )
E = . .
a
k +1k
. − (k ) 1
akk
.. .. ..
. . .
(k )
a nk
0 − (k ) 1
akk
(k +1)
La nouvelle matrice A (k +1) = E (k ) A (k ) est par construction telle que a i j = 0 pour tout j ∈
¹1, k + 1º et 1 ≤ i < j . Un point important à noter est que la matrice E ) est triangulaire
(k
(k )
inférieure car, pour tout 1 ≤ i < j ≤ n on a e i j = 0. De plus, on a diag(E (k ) ) = (1, . . . , 1). En
(k )
supposant les pivots non nuls, à savoir, a k k 6= 0 pour tout k ∈ ¹1, n −1º, la méthode de Gauss
s’écrit synthétiquement
E (n −1) . . . E (1) A = U ⇐⇒ A = LU ,
où nous avons posé L := (E (n −1) . . . E (1) )−1 et U := A (n) ∈ Rn ,n est une matrice triangulaire
supérieure. La proposition suivante montre que la matrice L est obtenue au cours des itéra-
tions sans coût supplémentaire.
Proposition 2.11 (Calcul du facteur L). Le facteur L ∈ Rn ,n est triangulaire inférieure et on a
L = L (1) . . . L (n −1) ,
(k )
avec, pour tout k ∈ ¹1, n − 1º, L (k ) = (l i j ) := (E (k ) )−1 et
(k )
lii = 1 ∀i ∈ ¹1, nº
(k )
(k ) a ik
lik = (k )
∀i ∈ ¹k + 1, nº.
a kk
1
..
0 .
..
. 1
(k )
= 2I n − E (k ) .
(k )
L = ..
a k +1k
. (k )
akk
1
.. .. ..
. . .
(k )
a nk
0 (k ) 1
akk
27
(k +1) (k )
où nous avons utilisé le fait que A k k = A k k . A partir de la formule (2.5) on vérifie aisément
que la matrice correspondante est précisément L (k ) . Nous avons donc
A (k ) = L (k ) A (k +1) = L (k ) E (k ) A (k ) ,
et encore
A (k +1) = E (k ) A (k ) = E (k ) L (k ) A (k +1) ,
ce qui montre que L (k ) E (k ) = E (k ) L (k ) = I n , à savoir, E (k ) est inversible et (E (k ) )−1 = L (k ) . Enfin,
de par la Proposition 1.8, L est triangulaire inférieure car produit de matrices triangulaires
inférieures.
en précisant à chaque étape la matrice L (k ) . Vérifier que L = L (n −1) . . . L (1) est triangulaire in-
férieure et que LA (n) = LU = A.
Exercice 2.14 (Compte d’opérations). Prouver que le nombre d’opérations élémentaires effec-
tué pour accomplir la factorisation LU est de l’ordre de 2n 3 /3 (on négligera les termes d’ordre
inférieur).
Proposition 2.15 (Calcul du déterminant de A). Soit A une matrice admettant une factori-
sation LU . Alors,
n
Y
det(A) = det(U ) = uii .
i =1
28
2.3.2 Existence et unicité de la factorisation A = LU
(k )
Dans la section précédent nous avions supposé que les pivots a k k , k ∈ ¹1, n − 1º soient
non nuls. Le théorème suivant fournit une condition suffisante pour que cette hypothèse
soit vérifiée.
Remarque 2.17 (Matrices de rang n − 1). D’après le théorème précédent, on peut obtenir une
factorisation LU pour toute matrice de rang n − 1.
A partir de l’égalité
∆ (k ) A
L̃ (k ) A (k ) = A =
12
,
A 21 A 22
29
à savoir, on choisit le plus grand élément en valeur absolue dans la colonne k de A. On ad-
(k )
mettra par la suite qu’il existe un indice l tel que a l k 6= 0. Comme on le verra plus loin,
choisir le plus grand pivot en valeur absolue permet de réduire les erreurs d’arrondi asso-
ciées à la méthode de Gauss. La nouvelle itération k consiste maintenant à effectuer deux
opérations élémentaires, à savoir, l’échange de la ligne k avec la ligne l puis les combi-
naisons linéaires (2.8) :
(k )
(k ) (k ) (k +1) (k ) a ik (k )
Ak: ↔ Al : , Ai: ← Ai: − (k )
Ak: ∀i ∈ ¹k + 1, nº.
a kk
(k )
Il faut bien noter que le pivot a k k est non nul On vérifie aisement à l’aide de (2.5) que ces
deux opérations s’écrivent de manière synthétique comme suit :
A (k +1) = E (k ) P (k ) A (k ) ,
avec E (k ) définie par (2.9) et les seuls éléments non nuls de la matrice de permutation P (k ) =
(k )
(p i j ) ∈ Rn,n sont
(k ) (k ) (k )
p k l = 1, p l k = 1, p i i = 1 ∀i ∈ ¹1, nº \ {l , k }. (2.11)
30
Qnnous avons omis d’indiquer les éléments nuls. Puisque A est inversible et donc, det(A) =
où
a 6= 0, on a a i i 6= 0 pour tout 1 ≤ i ≤ n. Alors,
i =1 i i
!
n
bn 1 X
xn = , xi = bi − a ik xk ∀i = n − 1, . . . , 1. (2.13)
a nn a ii k =i +1
= 1 + 2n(n − 1) − n(n − 1) + (n − 1) = n 2 .
LDM T = A = A T = M D T L T = M D L T ,
et, par l’unicité de la factorisation, M = L. Si, de plus, A est SDP, d’après la Proposition 1.23,
elle admet n valeur propres réelles strictement positives (non nécessairement toutes dis-
tinctes), et on peut définir p
1
D 2 := diag( d i i ).
1
En posant H := L T D 2 (H est triangulaire supérieure) nous avons donc
A = HT H. (2.14)
31
Lemme 2.18 (Calcul de la factorisation de Cholesky). Soit A ∈ Rn ,n SDP. Alors, il existe une
unique factorisation (2.14) de A avec H triangulaire supérieure avec diagonale positive. Les
p
éléments de H T peuvent être calculés à partir des formules suivantes : h 11 = a 11 et, pour tout,
i = 2, . . . , n,
j −1
!
1 X
hi j = aij − hik h j k j = 1, . . . , i − 1, (2.15a)
hj j k =1
! 12
Xi −1
hii = a ii − h 2i k . (2.15b)
k =1
où v, h ∈ Ri −1 et a i i est un réel strictement positif (ceci est nécessaire pour que A i soit définie
positive). En imposant l’équivalence bloc par bloc on a les équations
H iT−1 h = v, (2.16a)
h h + β = a ii ,
T 2
(2.16b)
où on remarquera que le vecteur v est unique car H i −1 est non singulière. De plus, comme
A i est SDP on a
0 < det(A i ) = det(H iT ) det(H i ) = β 2 det(H i −1 )2 ,
p
et on conclut que β est un réel et β = a i i − h T h. La formule (2.15a) n’est rien d’autre que
la descente pour le système triangulaire supérieur (2.16a) (voir l’Exercice 2.28 pour plus de
détails), tandis que (2.16b) n’est rien d’autre que la formulation vectorielle de (2.15b).
A = tridiag(c , a ,b ), (2.17)
32
Remarque 2.19 (Matrice définie positive non symétrique). On peut se poser la question s’il
existe des matrices définies positives et non symétriques (tel est le cas pour la matrice (2.17) si
b 6= c ). Soit A ∈ Rn,n . On commence par remarquer que l’on peut décomposer A en la somme
d’une partie symétrique A s et une anti-symétrique A ss ,
1 1
A= A + AT + A − A T := A s + A ss .
2 2
Par définition de matrice définie positive on a pour tout x ∈ Rn , x 6= 0,
α1
b1
LU = γi αi −1 γi b i −1 + αi bi
γn αn−1 γn b n −1 + αn
Les composantes des vecteurs α et γ peuvent être calculées par comparaison de manière
récursive selon le schéma suivant :
α 1 b 1
γi αi −1 γi b i −1 + αi
bi
γn αn −1 γn b n −1 + αn
33
Example 2.20 (Discrétisation différences finies du problème de Poisson). Soit Ω = (0, 1) et
f ∈ C 0 (Ω, R). On considère le problème de Poisson
Ce problème peut être approché numériquement par la méthode des différences finie, con-
sistante à remplacer les dérivées par des approximations construites à partir de la formule de
Taylor. Soit N un entier ≥ 1. On introduit la famille de points (x i )0≤i ≤N +1 tels que x i = i h,
h := 1/(N +1) et, pour toute fonction ϕ suffisamment régulière, on pose ϕi := ϕ(x i ). Pour tout
point intérieur x i , 1 ≤ i ≤ N , et une fonction la formule de Taylor donne
h2 h2
φi −1 = φi − φi0 h + φi00 + o h2 , φi +1 = φi + φi0 h + φi00 + o h2 ,
2 2
où φ ∈ C 2 (Ω, R). En sommant les deux égalités ci-dessus on trouve
φi −1 − 2φi + φi +1 o h 2
φi −1 + φi +1 = 2φi + φi00 h 2 + o 2
φi00 = +
h ⇐⇒ .
h2 h2
En négligeant le reste dans l’expression de φi00 on obtient une approximation consistante de la
dérivée seconde de φ au sens où, pour tout 1 ≤ i ≤ N ,
φi −1 − 2φi + φi +1
o h2
lim φi −
00
= lim+ = 0.
h→0+ h2 h→0 h2
On peut donc approcher le problème (2.19) comme suit :
u i −1 − 2u i + u i +1
− = fi ∀1 ≤ i ≤ N , u 0 = u N +1 = 0, (2.20)
h2
où les inconnues (u i )0≤i ≤N +1 représentent des valeurs nodales. La résolution du problème (2.20)
demande l’inversion d’une matrice tridiagonale pour déterminer les inconnues u i , 1 ≤ i ≤ N ,
associées aux nœuds intérieurs. Cette matrice prend la forme
1
A= tridiag(−1, 2, −1).
h2
Un exemple important
Un contexte très important où l’on retrouve des matrices creuses non structurées est
celui de la discrétisation des équations aux dérivées partielles, comme le montre l’exemple
abordé dans cette section. Soit Ω ∈ R2 un ouvert polygonal borné. On considère le problème
de Poisson
− 4u = f dans Ω, u = 0 sur ∂ Ω. (2.21)
34
On supposera par la suite que le terme source f est à carré intégrable, à savoir, f ∈ L 2 (Ω).
Par brévité de notation on pose V := H 01 (Ω), où H 01 (Ω) est l’espace de Sobolev qui contient les
fonctions à carré intégrable, dont les dérivées (au sens faible) sont à carré intégrable, et qui
s’annulent sur ∂ Ω. La formulation faible de (2.21) consiste à : Trouver u ∈ V tel que
Z
a (u , v ) = fv ∀v ∈ V, (2.22)
Ω
R
où a (u , v ) := Ω ∇u ·∇v est une forme bilinéaire de V × V dans R. On peut facilement se
convaincre que V est un espace vectoriel de dimension infinie. La méthode des éléments
finis consiste à approcher la solution de (2.22) en remplaçant V par un sous-espace Vh ⊂ V
de dimension finie. Ceci revient à considérer le problème suivant : Trouver u h ∈ Vh tel que
Z
a (u h , v h ) = f vh ∀v h ∈ Vh . (2.23)
Ω
On peut montrer qu’un choix judicieux de l’espace Vh s’obtient comme suit : (i) on définit
une triangulation Th = {T } de Ω (dite maillage) telle que l’intersection de deux triangles est
soit un nœud, soit une arête [AJOUTER FIGURE] ; (ii) on pose
Vh := {v h ∈ H 01 (Ω) | v h|T ∈ P1 (T ) ∀T ∈ Th },
où P1 (T ) désigne la restriction à T des fonctions affines de deux variables. Soit N le nombre
de nœuds de la triangulation Th qui sont des points intérieur à Ω. Pour tout 1 ≤ i ≤ N on
notera x i ∈ R2 le vecteur des coordonnées du nœud i . On montre aisement que l’espace
vectoriel Vh est de dimension N , et une base de Vh est donnée par la famille des fonctions
chapeaux (ϕi )1≤i ≤N telles que [AJOUTER FIGURE]
ϕi (x j ) = δi j , ϕi |T ∈ P1 (T ) ∀T ∈ Th .
Le support des fonctions chapeau est compact, et, pour chaque ϕi , 1 ≤ i ≤ N , il coïncide
avec les éléments qui partagent le nœud i . En décomposant
PN la solution discrète dans la
base, le problème (2.23) consiste à : Trouver u h = j =1 U j ϕ j tel que
Z
a (u h , ϕi ) = f ϕi ∀1 ≤ i ≤ n.
Ω
En utilisant la linéarité de a et en posant
Z
A = (a i j )1≤i , j ≤N := a (ϕ j , ϕi )
1≤i j ≤N
∈ Rn ,n , U := (U j )1≤j ≤N , b := f ϕi ,
Ω 1≤i ≤N
on obtient
XN N
X
a (u h , ϕi ) = a U j ϕ j , ϕi = a (ϕ j , ϕi )U j = b (f , ϕi ) ⇐⇒ AU = b. (2.24)
j =1 j =1
Ceci montre que le problème (2.23) est équivalent au système linéaire AU = b . Examinons
plus de près la structure de la matrice A. Par définition on a a i j = a (ϕ j , ϕi ) 6= 0 si et seule-
ment si les supports des fonctions chapeaux ont une intersection d’aire non nulle, ce qui
vrai est s’il existe un triangle T ∈ Th dont les nœuds i et j sont deux sommets. De ce fait la
disposition des éléments non nuls de A dépend fortement de la triangulation Th , comme
le montrent la Figure 2.1, où l’on compare le remplissage de la matrice A pour un maillage
structuré et un maillage non structuré du domaine Ω = (0, 1)2 .
35
(a) Maillage structuré (b) Maillage non structuré
Factorisation LU et remplissage
E (H + H T ) = E (A).
Une conséquence importante du Lemme 2.22 est que la factorisation LU peut être stockée
à la place de la matrice A sans besoin de mémoire supplémentaire si on mémorise tous les
éléments de E (A) (y inclus les éléments non nuls). En effet, pour le facteur L il suffit de
stocker le triangle inférieur, et poser implicitement les éléments diagonaux = 1. Cependant,
lorsque des éléments très éloignés de la diagonale sont présents, cette solution n’est pas
efficace.
36
Stockage des matrices creuses non structurées
On a déjà remarqué que, dans le stockage d’une matrice creuse, on peut tirer profit de
la présence d’un nombre important d’éléments nuls. Il existe, en effet, différentes format de
stockage qui permettent de réduire significativement l’occupation mémoire. Le but de cette
section est de rappeller les plus importants.
Le format COO
Le format skyline
Le format CSR
Le format MSR
37
2.6 Exercices
Exercice 2.23 (Conditionnement). Soit A ∈ Cn ,n . Prouver que
(i) si k·k est une norme matricielle subordonnée, alors cond(A) = cond(A −1 ) ≥ 1,
cond(αA) = α cond(A) for all α ∈ R∗ ;
(ii) cond2 (A) = σn (A)/σ1 (A) où σ1 (A) et σn (A) sont respectivement la plus petite et la plus
grande valeur singulière de A ;
(iii) si A est normale, cond2 (A) = |λn (A)|/|λ1 (A)| où λ1 (A) et λn (A) sont respectivement la plus
petite et la plus grande valeur propre en module de A ;
(iv) pour toute matrice unitaire U , cond2 (U ) = 1 et cond2 (AU ) = cond2 (UA) = cond2 (A).
38
(iv) Conséquence de l’Exercice 1.58.
kπ
λk = 4h sin
−1 2
1 ≤ k ≤ n,
2(n + 1)
On a pour tout 1 ≤ j ≤ n,
1
(Au k )i = −u ik−1 + 2u ik − u ik+1
h
1
= (sin ((i −1)k π/(n +1)) + 2 sin (i k π/(n+1)) − sin ((i +1)k π/(n +1)))
h
COMPLETER
Exercice 2.25 (Factorisation PA = LU ). Donner l’expression de A := H (4) avec H (4) matrice
de Hilbert d’ordre 4 (voir l’Exercice 1.50) et calculer sa décomposition PA = LU en effectuant
un pivoting partiel. Estimer le conditionnement cond2 (A). Les matrices de Hilbert sont un
exemple classique de matrices mal conditionnées, comme le montre la figure suivante où on
trace une estimation du conditionnement de H (n) en fonction de n :
1020
1015
1010
105
100
2 4 6 8 10 12 14
On a
1/2 1/3 1/4
1
/2 1/3 1/4 1/5
1
A = H (4) = 1 .
/3 1/4 1/5 1/6
1/4 1/5 1/6 1/7
Les étapes de la factorisation de Gauss sont données ci-dessous. Par brévité seuls les élé-
ments non nuls des matrices A (k ) , E (k ) et P (k ) sont affichés. Le pivot satisfaisant la condi-
39
tion (2.10) est contourné par un rectangle.
1 1/2 1/3 1/4
1
1/12 1/12 3/40 /2 1
1
A (1) = L (1) = 1 P (1) = I n ,
, ,
1/12 4/45 1/12 /3 1
1/4
3/40 1/12 9/112 1
1 1/2 1/3 1/4
1 1
/ 1/12 3/40
1
12 1 1
A (2) = L (2) = P (2) =
1/120 , , ,
1/180
1 1 1
1/120 9/700 9/10
1 1
On a donc PA = LU avec
En utilisant les résultats énoncés dans les Propositions 2.8 et 2.11 pour le calcul de (P (k ) )−1
et (L (k ) )−1 on obtient
1
/2 1
1
L = 1 .
/4 9/10 1
1/3 1 2/3 1
Comme A est symétrique, la formule (2.2) donne cond2 (A) = kAk2 kA −1 k2 et
1
kAk∞ kA −1 k∞ ≤ kAk2 kA −1 k2 ≤ nkAk∞ kA −1 k∞ ,
n
p
où nous avons utilisé le fait que p1n kAk∞ ≤ kAk2 ≤ nkAk∞ dans la dernière estimation. L’in-
verse A −1 peut être calculée en utilisant la factorisation PA = LU pour résoudre le système
suivant
AA −1 = I n ⇐⇒ PAA −1 = P ⇐⇒ LUA −1 = P ⇐⇒ LY = P et UA −1 = Y .
40
La factorisation cherchée est de la forme
h 11 0
h 12 h 22
A = HT H, H =
T
.
h 13 h 23 h 33
h 14 h 24 h 34 h 44
Les étapes du calcul des éléments de H T sont détaillées ci-dessous en utilisant la notation
de la formule (2.15).
p
a 11 = 1
p
a 21
h =2 a 22 − h 221 = 2
11
p
a 31 a 32 −h 31 h 21
h 11 = 3 =3 a 33 − h 231 − h 232 = 3
h 22
p
a 41 a 42 −h 41 h 21 a 43 −h 41 h 31 −h 42 h 32
=4 =4 =2 a 44 − h 241 − h 242 − h 243 = 1
h 11 h 22 h 33
On peut arrêter la factorisation de Cholesky si on trouve la racine carré d’un nombre négatif
pendant le calcul d’un élément diagonal.
Exercice 2.27 (Pivoting total). On considère une version alternative de la procédure de piv-
oting décrite dans la Section 2.3.3 où on étend la recherche du meilleur pivot à toute la sous-
matrice d’indices k ≤ i , j ≤ n , à savoir
(k ) (k )
a l m = max |a i k |.
k ≤i , j ≤n
Montrer que cette stratégie, dite de pivoting total, équivaut à trouver une factorisation de la
forme PAQ = LU , P et Q étant deux matrices de permutation.
Exercice 2.28 (Descente pour un système triangulaire inférieure). Soit A ∈ Rn,n une matrice
triangulaire inférieure inversible, à savoir
a 11
a 21 a 22
A = .
.. .
.
..
a n 1 a n2 · · · a nn
On trouve
!
i −1
b1 1 X
x1 = xi = bi − a ik xk ∀i = 2, . . . , n − 1. (2.25)
x 11 a ii k =1
41
Exercice 2.29 (Méthode de Gram–Schmidt). Soit n ≥ 1 un entier et X := (x i )1≤i ≤n une famille
de vecteurs libre de Rm , m ≥ 1. On considère la famille de vecteurs Y := (y i )1≤i ≤n obtenue à
partir de X comme suit :
i
X (x i +1 , y j )
y1 = x 1, y i +1 = x i +1 − yj ∀1 ≤ i ≤ n − 1, (2.26)
j =1
ky j k22
où par brévité nous avons noté le produit interne canonique de Rm (·, ·) au lieu de (·, ·)Rm .
Montrer que Y est une famille libre et orthogonale, à savoir
(
ky i k22 6= 0 si j = i ,
(y i , y j ) =
0 sinon.
ce qui montre que y n est orthogonale aux vecteurs de Ỹ . De plus, la famille Y est libre, car
sinon on pourrait exprimer x n comme combinaison linéaire des vecteurs de X̃ (ce qui est
absurde car X est libre par hypothèse). Pour obtenir une famille orthonormale il suffit de di-
viser chaque vecteur de Y par sa norme euclidienne. On obtient ainsi l’algorithme suivant :
i
X (x i +1 , y j ) ỹ
y1 = x 1, ỹ i +1 = x i +1 − yj , y i +1 = ∀1 ≤ i ≤ n − 1,
j =1
ky j k22 kỹ k2
42
Chapitre 3
Méthodes itératives
3.1 Généralités
A COMPLETER
Ax = (P − N )x = b
(3.3)
⇐⇒ x = P −1 N x + P −1b = Φ(x ).
Cette remarque nous conduit à considérer la méthode itérative suivante : Pour tout k ≥ 0,
43
avec x (0) ∈ Cn estimation initiale. A chaque itération de la méthode (3.4) on résout un sys-
tème linéaire de matrice P, ce qui justifie l’hypothèse que P soit facile à inverser. Par ex-
emple, si on choisit P diagonale ou triangulaire le coût lié à l’inversion sera de l’ordre de
n ou n 2 opérations respectivement. Le résultat suivant est une conséquence naturelle de
l’interprétation de la méthode (3.4) comme recherche d’un point fixe.
Remarque 3.1 (Hypothèse sur P). Nous avons supposé dans (3.2) que P soit facilement in-
versible. En effet, le choix A = P (qui est toujours possible car A est inversible) donne une
méthode itérative qui converge en une itération, mais dont la complexité équivaut à celle de
la résolution du système linéaire Ax = b . Le choix de P doit donc représenter un compromis
qui garantisse que le coût pour l’inversion de P à chaque itération reste raissonnable tout en
évitant que le nombre d’itérations pour arriver à convergence explose.
donc
ke (k ) k = k(P −1 N )k e (0) k ≤ kP −1 N kk ke (0) k,
et le seconde membre tend vers 0 lorsque k → +∞ si et seulement si kP −1 N k < 1.
Remarque 3.3 (Choix de la norme dans la preuve du Lemme 3.2). Dans la preuve du Lemme 3.2
nous avons utilisé une norme k·k subordonnée satisfaisant la condition kP −1 N k < 1. Cepen-
dant, il s’ensuit du fait que e (k ) → 0 ∈ Rn pour k → +∞ que, pour toute norme k·k∗ sur Rn ,
nous avons ke (k ) k∗ → 0 lorsque k → +∞.
La condition du Lemme 3.2 est optimale mais difficile à vérifier en pratique. Une condi-
tion suffisante souvent plus simple à prouver est identifiée dans le lemme suivant.
P H + N = P H + P − A. (3.5)
44
alors
kP −1 N k2A = kP −1 N y k2A
= (AP −1 N y , P −1 N y )Cn
= (AP −1 (P − A)y , P −1 (P − A)y )Cn (N = P − A)
= ((A − AP A)y , (I n − P A)y )Cn
−1 −1
A = D − E − L, (3.8)
45
La méthode de Jacobi est obtenue avec P = D et N = E + L. A l’itération k + 1 la mise à
jour est effectuée en posant
x (k +1) = D −1 (E + L)x (k ) + D −1b. (3.9)
La matrice d’itération correspondante est
B J = D −1 (E + L) = I − D −1 A. (3.10)
Une condition suffisante pour la convergence de la méthode de Jacobi simple à vérifier est
énoncée dans l’Exercice 3.17. Une variante de la méthode de Jacobi consiste à définir x (k +1)
comme une moyenne pondérée de x (k ) et de la valeur donnée par l’expression (3.9). Plus
précisément, pour ω ∈ (0, 1) on pose
x (k +1) = (1 − ω)x (k ) + ω D −1 (E + L)x (k ) + D −1b .
(3.11)
Ce choix correspond à la méthode de surrélaxation JOR (Jacobi Over-Relaxation). La matrice
d’itération correspondante est
B JOR = (1 − ω)I n + ωB J . (3.12)
Lemme 3.6 (Convergence de la méthode JOR). Si A = (a i j ) ∈ Rn ,n est SDP la méthode JOR
converge pour tout 0 < ω < 2/ρ(D −1 A).
Démonstration. On a
B JOR = I n − ωD −1 D + ωD −1 (E + L) = I n − ωD −1 A.
Comme A est SDP, a k k > 0 pour tout 1 ≤ k ≤ n et (D −1 )k k = 1/a k k > 0. De plus, les valeurs
propres de A sont toutes strictement positives. Par conséquent, si ω > 0,
ρ(I n − ωD −1 A) = max (ω|λ| − 1) = ρ(D −1 A) − 1.
λ∈λ(D −1 A)
46
3.2.3 La méthode du gradient
Le dernier algorithme de point fixe que nous allons examiner admet une interprétation
qui permet de dépasser le cadre de la résolution de systèmes linéaires, et qui le rende ap-
plicable à des problèmes plus généraux d’optimisation. Soit A ∈ Rn ,n une matrice SDP. On
définit la fonctionnelle quadratique J : Rn → R telle que
1
J (y ) := y T Ay − b T y , (3.15)
2
en on considère le problème de minimisation libre
minn J (y ).
y ∈R
On peut prouver que ce problème admet une et une seule solution x ∈ Rn (dite minimiseur
global de J sur Rn ) telle que
J (x ) ≤ J (y ) ∀y ∈ Rn ,
et caractérisée par
∇ J (x ) = Ax − b = 0 ∈ Rn .
Ce résultat est précisé dans le lemme suivant.
Lemme 3.7 (Minimisation d’une fonctionnelle quadratique et systèmes linéaires). Soit A ∈
Rn ,n une matrice SDP. Alors, pour tout b ∈ Rn ,
Ax = b ⇐⇒ J (x ) = minn J (y ).
y ∈R
t2 T
= J (z ) + t y T (Az − b ) + y Ay . Symétrie de A
2
(3.16)
(i) Implication J (x ) = miny ∈Rn J (y ) =⇒ Ax = b . Puisque x est minimiseur global de J ,
l’identité (3.16) avec z = x implique, pour tout t ∈ R et tout y ∈ Rn ,
t2 T
J (x + t y ) ≥ J (x ) ⇐⇒ t y T (Ax − b ) + y Ay ≥ 0.
2
En prenant t > 0, en divisant par t , et en faisant tendre t → 0+ il vient y T (Ax − b ) ≥ 0, d’où
Ax − b = 0 ∈ Rn car y ∈ Rn est générique.
(ii) Implication Ax = b =⇒ J (x ) = miny ∈Rn J (y ). Pour tout w ∈ Rn , en utilisant encore
l’identité (3.16) avec z = x , t = 1, et y = w − x il vient
1
J (w ) = J (x ) + t (w − x )T (Ax − b ) + (w − x )T A(w − x ).
| {z } 2
=0∈Rn
La matrice A étant SDP, le dernier terme du membre de droite est positif. Par suite, x est
minimiseur global de J sur V .
47
L’idée de la méthode du gradient se base sur la remarque suivante : pour tout y ∈ Rn
avec ∇ J (y ) 6= 0, on peut réduire au moins localement la valeur de J (y ) en se déplaçant dans
la direction −∇ J (y ). En effet, ∇ J (y ) correspond à la direction de plus grande pente (positive)
de J en y . Fixons une estimation initiale x 0 ∈ Rn . Pour k ≥ 1 et jusqu’à convergence on pose
r (k ) := −∇ J (x (k ) ) = b − Ax (k ) , x (k +1) = x (k ) + αr (k ) ,
où le réel α > 0 est lié au module du déplacement dans la direction de la plus profonde
descente. La direction de descente r (k ) est le résidu du système linéaire correspondant à
l’approximation x (k ) . On peut ensuite se poser la question de combien faut-il avancer dans
la direction r (k ) . Pour répondre à cette question on cherche à reformuler la méthode du
gradient sous la forme (3.4). On a
Afin de maximiser la vitesse de convergence, le paramètre α doit être choisi de façon à min-
imiser le rayon spectral de la matrice d’itération BG .
Le graphe de la fonction ϕ(α) := maxλ∈λ(A) |1 − αλ| est représenté en trait plein dans la figure
suivante.
|1 − αλmax |
|1 − αλmin |
Le minimum de ϕ(α) est donc atteint pour α tel que |1 − αλmin | = |1 − αλmax |, à savoir, α =
2
λ +λ
. De plus, on a
max min
λmax − λmin
λmin
(cond (A) − 1)
2 2
ϕ = ρ(BG ) = = ,
λmin + λmax λmax + λmin
λmin (cond2 (A) + 1)
où nous avons utilisé l’équation (2.2) pour conclure cond2 (A) = λmax /λmin .
48
Example 3.9 (Convergence lente de la méthode du gradient). Le Lemme 3.8 montre que con-
vergence de la méthode du gradient peut devenir lente lorsque la matrice A est mal condition-
née. [EXEMPLE NUMERIQUE]
Le choix du paramètre d’accélération α suggéré par le Lemme 3.8 est souvent remplacé
en pratique par d’autres expressions plus simples à calculer. Un choix qui est localement
optimal est obtenu en posant, à chaque itération k , α = α(k ) avec α(k ) unique solution du
problème de minimisation suivant :
kr (k ) k22
α(k ) = . (3.18)
kr (k ) k2A
λ1 x i + . . . + λp x p = 0, λi ∈ R ∀1 ≤ i ≤ p.
Comme x i 6= 0 par définition, ceci implique λi = 0, à savoir, la famille F est libre et, par
conséquent, p ≤ n. Si p = n on a une famille libre de cardinalité égale à la dimension de
l’espace Rn , et il s’agit donc d’une base.
49
3.3.2 La méthode du gradient conjugué
Une méthode qui utilise des directions conjuguées est dite conjuguée. Nous allons mon-
trer dans cette section comment construire une méthode conjuguée pour la solution du sys-
tème linéaire (3.1) avec A ∈ Rn ,n SDP. Par brévité dans ce qui suit on notera (·, ·) le produit
scalaire canonique de Rn et (·, ·)A := (A·, ·). Soit x (0) ∈ Rn une estimation initial de la solu-
tion et définissons le résidu r (0) := b − Ax (0) . Les directions de descente w (k ) , k = 0, . . ., sont
obtenues comme suit : w (0) = r (0) et
w (k ) = r (k ) − β (k ) w (k −1) k = 1, . . . , (3.19)
Une fois identifiée une direction w (k ) appropriée, la mise à jour de la solution se fait en
posant
x (k +1) = x (k ) + α(k +1) w (k ) . (3.20)
Ceci implique, en particulier,
(w (k ) , w (j ) )A = 0, (CG1)
(k ) (j )
(r , w ) = 0. (CG2)
Les conditions (CG1) et (CG2) correspondent à la méthode du gradient conjugué (CG) et ex-
priment le fait que la nouvelle direction w (k ) et le résidu r (k ) sont respectivement A-orthogonale
et orthogonal aux directions précédentes. Ces deux conditions montrent une caractéristique
importante de la méthode CG : la mise à jour n’est pas uniquement basée sur une informa-
tion locale (direction de plus grande pente), mais elle tient compte également des itérations
précédentes. Comme on le verra plus loin, on peut assurer les deux conditions (CG1)–(CG2)
sans mémoriser les directions w (j ) , 1 ≤ j < k − 1. Ce point est très important en pratique, car
il implique que la mise en œuvre de la méthode CG ne demande pas plus de mémoire que
les autres méthodes itératives que l’on a étudié jusqu’à là.
Le lemme suivant montre de façon constructive l’existence d’une famille de directions
de descente (w (k ) )k =0,... qui remplissent les conditions (CG1)–(CG2) et permet de préciser
l’expression des paramètres α(k ) et β (k ) .
Lemme 3.12 (Existence des directions (w (k ) )k =0,... ). Pour tout x (0) ∈ Rn il existe des valeurs
des paramètres α(k ) et β (k ) , k = 1, . . ., et une famille de vecteurs (w (k ) )k =0,... telle que les condi-
tions (CG1)–(CG2) sont satisfaites pour l’itération définie par (3.19) et (3.20).
(w (0) , w (1) )A
0 = (w (0) , w (1) )A = (w (0) , r (1) − β (1) w (0) )A ⇐⇒ β (1) = .
kw (0) k2A
50
On identifie ensuite la valeur de α(1) qui assure la condition (CG2). De par (3.21) on a
(w (0) , r (0) )
0 = (w (0) , r (1) ) = (r (0) , r (0) − α(1) Aw (0) ) = kr (0) k22 − α(1) kw (0) k2A ⇐⇒ α(1) = ,
kw (0) k2A
(w (k ) , r (k ) )
α(k +1) = . (3.22)
kw (k ) k2A
Prouvons maintenant (CG2) pour tout 0 ≤ j ≤ n − 1. Il suffit d’observer que, pour tout 0 ≤
j ≤ n − 1,
(w (k ) , r (k +1) )A
β (k +1) = .
kw (k ) k2A
Il ne reste plus qu’à prouver (CG1) pour 0 ≤ j ≤ k − 1. Puisque w (0) = r (0) et chaque nouvelle
direction w (k ) est obtenue à partir de r (k ) et des directions w (j ) , 0 ≤ j ≤ k − 1, on a
La condition (CG2) pour 0 ≤ j ≤ k implique r (k +1) ∈ Vk⊥+1 . D’autre part, pour tout 0 ≤ j ≤ k − 1,
on a
1
Aw (j ) = (j +1) r (j ) − r (j +1) ∈ Vk +1 =⇒ (w (j ) , r (k +1) )A = 0.
(3.23)
α
En utilisant les remarques précédentes on trouve
51
Compte tenu du lemme précédent, la méthode CG est définie comme suit : Pour une
estimation initiale x (0) ∈ Rn , poser r (0) = b − Ax (0) , w (0) = r (0) et, pour k = 0, . . .,
(w (k ) , r (k ) )
α(k +1) = , (3.24a)
kw (k ) k2A
x (k +1) = x (k ) + α(k +1) w (k ) , (3.24b)
(k +1) (k ) (k +1) (k )
r =r −α Aw , (3.24c)
(w (k ) , r (k +1) )A
β (k +1) = , (3.24d)
kw (k ) k2A
w (k +1) = r (k +1) − β (k +1) w (k ) . (3.24e)
Démonstration. La famille F := (w (0) , . . . , w (n −1) ) de cardinalité n est libre d’après le Lemme 3.11,
et elle est donc une base de l’espace Rn . Comme r (n) est orthogonal à tout vecteur de F on
doit avoir r (n ) = 0, à savoir, x (n ) = x .
Le Théorème 3.13 montre que la méthode du gradient conjugué n’est pas une méthode
itérative au sens strict, car elle converge après un nombre fini d’itérations. Cependant, son
intérêt est lié au fait que, dans de nombreux cas pratiques, le résidu décroît rapidement, et
le critère kr (k ) k ≤ ε est vérifié après un petit nombre d’itérations. En effet, le résultat suivant
montre que la valeur de la fonctionnelle J définie par (3.15) décroît à chaque itération de la
méthode (de par le Lemme 3.7, on sait que résoudre le système linéaire Ax = b avec A SDP
équivaut à minimiser J ). Dans le jargon de l’optimisation on dit que w (k ) est une direction
de descente stricte de J en x (k −1) .
Proposition 3.14 (Monotonicité des itérations CG). Soit A ∈ Rn ,n une matrice SDP, b ∈ Rn
et J définie par (3.15). On considère l’itération (k +1) de la méthode du gradient définie
par (3.24). Alors, si w (k ) 6= 0 et α(k +1) 6= 0,
J (x (k +1) ) < J (x (k ) ).
α(k +1) (k ) (k )
= J (x (k ) ) − (w , r ) < J (x (k ) ),
2
52
où nous avons conclu grâce au fait que (w (k ) , r (k ) ) > 0 prouvé précédemment.
Nous avons de manière générale K k (A, v ) ⊂ K k +1 (A, v ) et, comme K k (A, v ) ⊂ Rn pour
tout k ≥ 0, il existe un indice k 0 à partir duquel l’inclusion devient une égalité, à savoir
(
dim(K k (A, v )) = k si 0 ≤ k ≤ k 0 ,
dim(K k (A, v )) = k 0 si k ≥ k 0 .
(ΠK v − v, w )V = 0 ∀w ∈ K . (3.25)
53
Démonstration. On procède par induction. Puisque r (0) = w (0) , r (0) ∈ V1 . Supposons main-
tenant le résultat vrai pour k et prouvons-le pour (k +1) :
D’autre part, comme A k −1 r (0) ∈ Vk , il existe des réels λ0 , . . . , λk −1 non tous nuls (car, comme
A est SDP, ker(A) = {0 ∈ Rn } et r (0) 6= 0 ∈ Rn =⇒ A k −1 r (0) 6= 0 ∈ Rn ) tels que
λi = 0 ∀0 ≤ j ≤ k − 1,
De plus, on peut conclure que x (k ) = x (0) + y (k ) avec y (k ) ∈ Vk +1 = K k +1 (A, r (0) ), et, par con-
séquent, r (k ) = b − Ax (k ) = r (0) − Ay (k ) . La relation (3.28) devient alors
54
l’espace de Krylov que l’on peut considérer. Soit v ∈ Rn , v 6= 0. L’algorithme GSA consiste à
poser v 1 := v /kv k2 puis à calculer pour k = 1, . . .
h i k = v iT Av k ∀1 ≤ i ≤ k
k
X (3.30)
w k = Av k − h i k vi , h k +1,k = kw k2 .
i =1
Une première idée consiste à s’inspirer de la méthode du gradient et imposer cette fois-ci
que le résidu r (k ) (et non pas le résidu modifié A −1 r (k ) ) soit orthogonal à tout vecteur de
K k (A, r (0) ), à savoir on cherche y (k ) ∈ Rn tel que
On obtient ainsi la méthode GMRes (Generalized Minimum Residual). Comme c’était le cas
pour la méthode CG (voir Théorème 3.13), les méthodes de Arnoldi et GMRes sont en effet
des méthodes directes, car, si on néglige les erreurs d’arrondi, elles convergent en au plus
n itérations. Cependant, d’un point de vue pratique, aucune de ces méthodes n’est util-
isée comme méthode directe, d’un part parce que n peut devenir très grand, d’autre part
parce que, dans le cas des méthodes de Arnoldi et GMRes, il est nécessaire de mémoriser
la base de l’espace de Krylov K k (A, r (0) ). La stratégie pour limiter le coût computationnel
consiste à fixer la dimension maximale de l’espace de Krylov considéré et à utiliser des pré-
conditionneurs pour accélérer la convergence. Une variation très populaire est le restart (ré-
initialisation), qui consiste à effectuer un maximum de m itérations successives et, si la con-
vergence n’a pas eu lieu, poser x (0) = x (m ) et recommencer. Les méthodes correspondantes
sont alors notées FOM(m ) et GMRes(m ) respectivement.
55
3.5 Exercices
Exercice 3.17 (Matrice à diagonale dominante). Soit A = (a i j ) ∈ Rn ,n une matrice à diagonale
dominante par lignes, à savoir
n
X
|a i i | > |a i j | ∀1 ≤ i ≤ n.
j =1, j 6=i
Comme ρ(B ) ≤ kB k∞ < 1 (k·k∞ étant une norme matricielle subordonnée), la méthode est
convergente.
Exercice 3.18 (Méthode des directions alternées). Soit A ∈ Rn ,n une matrice SDP décomposée
en A = A 1 + A 2 avec A 1 et A 2 matrices SDP et b ∈ Rn , b 6= 0. Soient α1 , α2 ∈ R+
∗
. On considère la
méthode itérative suivante pour résoudre le système linéaire Ax = b :
(I n + α1 A 1 )x (k + /2) = (I n − α1 A 2 )x (k ) + α1b,
1
(3.31a)
(k +1) (k +1/2)
(I n + α2 A 2 )x = (I n − α2 A 1 )x + α2b. (3.31b)
x (k +1) = Bx (k ) + f ;
(i) Il suffit de prouver que I n + ξM est à son tour SDP. La symétrie est évidente. Soit x ∈ Rn ,
x 6= 0. Par définition on a
x T (I n + ξM )x = x T x + ξx T M x > 0,
ce qui prouve que I n + ξM est définie positive. Le fait que les matrices I n + αi A i , i ∈ {1, 2},
sont définies positives est une conséquence immédiate.
56
(ii) Comme I n + αA 1 est SDP, elle est aussi inversible. Pour une valeur fixée de x (k ) il existe
alors un unique x (k +1/2) satisfaisant (3.31a). En remplaçant dans (3.31a) on trouve
(I n + α1 A 1 )x (k + /2) = x − α1 A 2 x + α1b
1
= x − α1 (A − A 1 )x + α1b (A 2 = A − A 1 )
= x + α1 A 1 x = (I n + α1 A 1 )x , (Ax = b )
(I n + α2 A 2 )x (k +1) = (I n − α2 A 1 )x + α2b
= x − α2 (A − A 2 )x + α2b (A 2 = A − A 2 )
= x + α2 A 2 x = (I n + α2 A 2 )x , (Ax = b )
x = Bx + f .
La méthode est donc convergente si et seulement si ρ(B ) < 1. On peut estimer (voir aussi
l’Exercice 1.54)
1 − α2 λ 1 − α1 λ
ρ(B ) ≤ max × max . (3.32)
λ∈λ(A 1 ) 1 + α1 λ λ∈λ(A 2 ) 1 + α2 λ
Or, comme les valeurs propres de A 1 et A 2 sont > 0, il suffit de prendre α1 = α2 = α > 0 pour
que les deux facteurs soient < 1 et, donc, ρ(B ) < 1.
57
Exercice 3.19 (Analyse d’une méthode itérative). Pour la résolution du système Ax = b avec
1 2 3
A= , b= ,
2 3 5
x (k +1) = B (θ )x (k ) + f (θ ),
58
Exercice 3.20 (Forte convexité d’une fonctionnelle quadratique). Montrer que la fonction-
nelle J définie par (3.15) est fortement convexe, à savoir, il existe η ∈ R+
∗
tel que, pour tout
x , y ∈ Rn et tout ϑ ∈ [0, 1],
ϑ(1 − ϑ)
J (ϑx + (1 − ϑ)y ) ≤ ϑ J (x ) + (1 − ϑ)J (y ) − η kx − y k2 .
2
Préciser la valeur de η.
On a
1
J (ϑx + (1 − ϑ)y ) = (ϑx + (1 − ϑ)y )T A(ϑx + (1 − ϑ)y ) − b T (ϑx + (1 − ϑ)y )
2
ϑ2 (1 − ϑ)2 T
= x T Ax · + y Ax + ϑ(1 − ϑ)y T Ax − ϑb T x − (1 − ϑ)b T y ,
2 2
où nous avons utilisé la symétrie de A pour conclure x T Ay = y T Ax . Pour le troisième terme
au seconde membre on observera que
1 1
2y T Ax = x T Ax + y T Ay − (y − x )T A(y − x ).
2 2
En remplaçant on obtient
ϑ(1 − ϑ)
J (ϑx + (1 − ϑ)y ) = ϑ J (x ) + (1 − ϑ)J (y ) − (x − y )T A(x − y ),
2
Or, en notant λmin (A) > 0 la plus petite valeur propre de A, nous avons pour tout z ∈ Rn ,
(1 − ϑ)ϑ
J (ϑx + (1 − ϑ)y ) ≤ ϑ J (x ) + (1 − ϑ)J (y ) − λmin (A) kx − y k2 ,
2
qui est l’inégalité cherchée avec η = λmin (A).
Exercice 3.21 (Paramètre d’accéleration pour la méthode du gradient). Le but de cet exercice
est de prouver la formule (3.18). Soit ϕ : R → R la fonction définie par ϕ(α) := kx (k ) − αr (k ) k2A .
Le problème (3.17) équivaut à
min ϕ(α).
α∈R
ϑ(1 − ϑ)
ϕ(ϑα + (1 − ϑ)β ) ≤ ϑϕ(α) + (1 − ϑ)ϕ(β ) − η |α − β |2 .
2
La forte convexité de ϕ assure que le problème (3.17) admet unique solution α(k ) caractérisée
par la propriété suivante :
ϕ 0 (α(k ) ) = 0.
Montrer que cette propriété équivaut à (3.18).
59
Par brévité on note (·, ·) le produit interne canonique de Rn et (·, ·)A = (A·, ·). On commence
par prouver la forte convexité de ϕ. On a
kr (k ) k2
Par conséquent ϕ 0 (α) = 0 ⇐⇒ α = kr (k ) k22 , ce qui prouve (3.18).
A
Exercice 3.22 (Méthode du gradient conjugué). Utiliser la méthode CG avec donnée initiale
x (0) = (0, 0, 0)T pour résoudre le système linéaire Ax = b avec
2 −1 0 −1
A = −1 2 −1 , b = 2 .
0 −1 2 −1
Par brévité on note (·, ·) le produit interne canonique de Rn et (·, ·)A = (A·, ·). On a r (0) = w (0) =
(−1, 2, −1)T et
−3 1 9
(1) 3 (1) 1 (1) 1 (1) 1 (1) 1
α = , x = 6 , r = 1 , β =− , w = 12 ,
10 10 5 50 50
−3 1 9
0 0
5
α(2) = , x (2) = 1 , r (2) = 0 .
3
0 0
Exercice 3.23 (Paramètre d’accélération pour la méthode CG). Avec les techniques de l’Exer-
cice 3.21 montrer que le choix (3.22) minimise la fonctionnelle (3.15) pour des arguments de
la forme x (k ) + αw (k ) (avec x (k ) et w (k ) fixés).
60
Exercice 3.24 (Mise en œuvre efficace de la méthode CG). On se place à l’itération k de la
méthode CG et on suppose α(k +1) 6= 0). Prouver la formule récursive suivante, dont l’intérêt est
d’éviter le produit matrice-vecteur Aw (k ) pour le calcul de r (k +1) (voir la formule (3.21)) :
β (k ) β (k )
(k +1) (k +1) (k ) (k +1) 1
r = −α Ar +α − (k ) r (k ) + α(k +1) (k ) r (k −1) .
α(k +1) α α
On pourra remarquer que le résultat du produit matrice-vecteur Ar (k ) peut être obtenu sans
coût additionnel en mettant en œuvre de manière opportune l’étape (3.24d).
On a
61
Bibliographie
62