Vous êtes sur la page 1sur 98

Analyse Numérique Matricielle

M1 Mathématiques

Pr. TEMGOUA Etienne

15 septembre 2023
♣ Table des matières ♣

Cours M1 i Algèbre ©2022


♣ Première partie
Rappels et compléments d’algèbre linéaire

Cours L3 1 Algèbre ©2022


? ? Chapitre Un ? ?

Applications linéaires

1.1 Généralités
On suppose connu les notions basiques d’espaces vectoriels et de matrices. Dans toute la
suite on emploiera les notations données ci-dessous.

Notation 1.1.1.

1. On note K := R ou C.

2. n et p désignent deux entiers naturels non nuls.

3. On désigne par Mn,p (K) le K-espace vectoriel des matrices à n lignes et p colonnes à
coefficients dans K. Dans le cas n = p, on note simplement Mn (K) := Mn,n (K).

4. Un vecteur x de Kn est un n-uplet x := (x1 , · · · , xn ), où xi ∈ K pour tout i = 1, · · · , n et


pourra être identifié à un vecteur colonne appartenant à Mn,1 (K).

5. Si A ∈ Mn,p (K), on note AT ∈ Mp,n (K) sa transposée.

Définition 1.1. Soient E et F deux K-espaces vectoriels. Une application u de E vers F est
dite linéaire si ∀λ ∈ K, ∀x, y ∈ E, u(λx + y) = λu(x) + u(y).

On note L(E, F ) l’ensemble des applications linéaires de E dans F . Lorsque E := F , on


note simplement L(E) := L(E, E) et les éléments de L(E) sont appelés des endomorphismes
de E.
On rappelle le lien entre applications linéaires en dimension finie et matrices. Soient E et F
deux K-espaces vectoriels de dimensions finies et de bases respectives BE := {e1 , · · · , ep } et
BF := {f1 , · · · , fn }. Soit u ∈ L(E, F ). Si x ∈ E, alors il existe x1 , · · · , xp ∈ K tels que
p p
X X
x= xj ej . Alors par linéarité, on a u(x) = xj u(ej ). Puisque pour tout j ∈ {1, · · · , p},
j=1 j=1

Cours L3 2 Algèbre ©2022


1.1. Généralités

u(ej ) ∈ F , il existe aij ∈ K, i ∈ {1, · · · , n} tels que


n
X
u(ej ) = aij fi (1.1)
i=1

On en déduit
p n
X X
u(x) = aij xj fi . (1.2)
j=1 i=1

Définition 1.2. Soient E et F deux K-espaces vectoriels de dimensions finies et de bases res-
pectives BE := {e1 , · · · , ep } et BF := {f1 , · · · , fn }. Soit u ∈ L(E, F ). On appelle matrice
associée à u dans les bases BE et BF la matrice notée M at(u|BE , BF ) ∈ Mn,p (K) dont les
coefficients sont les aij donnés par (1.1). Si A ∈ Mn,p (K) a pour coefficients aij , on définit
l’application linéaire u à A dans les bases BE et BF par (1.2).

Rappelons maintenant la formule donnant le produit de deux matrices à partir de la formule


(1.2).Soient E, F et G trois K-espaces vectoriels de dimensions finies et de bases respectives
BE := {e1 , · · · , ep }, BF := {f1 , · · · , fn } et BG := {g1 , · · · , gq } . Soit u ∈ L(E, F ) et v ∈
L(F, G). Alors w := u ◦ v ∈ L(F, G). En effet, si λ ∈ K, x, y ∈ G, on a
w(λx + y) = u(v(λx + y))) = u(λv(x) + v(y)) = λu(v(x)) + u(v(y)) = λw(x) + w(y). On
pose A := M at(u|BE , BF ) = (aij )1≤i≤n et B := M at(u|BG , BE ) = (bij ) 1≤i≤p . La matrice
1≤j≤p 1≤j≤q
produit C := AB est définie par C = M at(u ◦ v|BG , BF ) = (cij )1≤i≤n .
1≤j≤q
q
xj gj , où x1 , · · · , xq ∈ K. Alors,
X
Déterminons ces coefficients cij . Soit x ∈ G. On a x :=
j=1
p
X q  p q p q n
X X X X X X
w(x) = u(v(x)) = u bkj xj ek = bkj xj u(ek ) = bkj xj aik fi =
k=1 j=1 k=1 j=1 k=1 j=1 i=1
q p
n X  q
n X
X X X
aik bkj xj fi . D’autre part, on a : w(x) = cij xj fi . Puisque {f1 , · · · , fn }
j=1 i=1 k=1 i=1 j=1
est une base de F , on en déduit
p
X
cij = aik bkj , (1.3)
k=1

pour tous i ∈ {1, · · · , n} et j ∈ {1, · · · , q}.

Définition 1.3. Soient E et F deux K-espaces vectoriels et u ∈ L(E, F ).

1. Le noyau de u est le sous-espace vectoriel ker(u) de E défini par


ker(u) := {x ∈ E|u(x) = 0} = u−1 ({0}).

2. L’image de u est le sous-espace vectoriel Im(u) de F défini par


Im(u) := {y ∈ F |∃x ∈ E, y = u(x)} = {u(x)|x ∈ E} = u(E).

Cours L3 3 Algèbre ©2022


1.1. Généralités

3. Le rang de u est la dimension de Im(u), noté rg(u).

Proposition 1.1. Soient E et F deux K-espaces vectoriels de même dimension finie n et u ∈


L(E, F ). Alors, u est bijective si et seulement si l’une des conditions suivantes est vérifiée :

i) ker(u) = {0} (injectivité),

ii) Im(u) = F (surjectivité),

iii) rg(u) = dim(F ) (subjectivité bis).

De plus, on a
n = dim(ker(u)) + rg(u). (1.4)

Les définitions du noyau, image et rang  s’adaptent au cas des matrices par l’identification
 ker(A) = {x ∈ M (K)|Ax = 0}| ( ici 0 ∈ M (K)),
(1.2). En particulier si A ∈ Mn,p (K), on a
p,1 p,1
 Im(A) = {Ax |x ∈ M (K)},
p,1
et rg(A) est le nombre de colonnes linéairement indépendantes de A ou de lignes car rg(A) =
rg(AT ) .


Définition 1.4. Une matrice A ∈ Mn (K) est dite inversible s’il existe une matrice B ∈ Mn (K)
telle que AB = BA = In , où In est la matrice identité d’ordre n.
Une matrice est inversible si et seulement si toute application linéaire qui lui est associée est
bijective, on a alors le résultat suivant :

Proposition 1.2. Une matrice A ∈ Mn (K) est dite inversible si et seulement si l’une des
conditions suivantes est vérifiée :
i) Ker(A) = {0},
ii) Im(A) = Mn,1 (K),
iii) Il existe B ∈ Mn (K) telle que AB = In ou BA = In ,
iv) det(A) 6= 0.

Remarque 1.1.1. On rappelle que si A ∈ Mn (K) est inversible, alors son inverse est donné par

1 T
A−1 = A , (1.5)
det(A)
où A est la matrice des cofacteurs de A dont les coefficients sont donnés par aij = (−1)i+j det(Aij ,
avec i, j ∈ {1, · · · , n} et Aij la matrice obtenue en supprimant la i-ème ligne et la j-colonne de
A.

Cours L3 4 Algèbre ©2022


1.2. Matrices similaires et changement de bases

1.2 Matrices similaires et changement de bases


Soient E et F deux K-espaces vectoriels de même dimensions finies p et n. Soient BE ,
B 0 E deux bases de E et BF et B 0 F deux bases de F . On considère u ∈ L(E, F ), A :=
M at(u|BE , BF ) et B := M at(u|B 0 E , B 0 F ). On va étudier le lien existant entre A et B.

Définition 1.5. 1. Les matrices A et B sont dites similaires. Dans le cas où E = F , BE =


BF et B 0 E = B 0 F , on dit que A et B sont semblables.

2. Soit P ∈ Mn (K) la matrice associée à l’application identité udE de E dans les bases
B 0 E et BE . C’est-à-dire
P := M at(idE |B 0 E , BE ) (1.6)

On dit que P est la matrice de passage de la base BE à la base B 0 E


Autrement dit, si un vecteur de E a pour coordonnées x0 = (x01 , · · · , x0p )T dans la base B 0 E ,
alors ses coordonnées x = (x1 , · · · , xp )T dans la base BE sont données par x = P x0 .

Proposition 1.3. Si P est la matrice de passage de la base BE à la base B 0 E , alors P est


inversible et P −1 est la matrice de passage de la base B 0 E à la base BE . De plus, toute matrice
inversible est une matrice de changement de base.

Remarque 1.2.1. Si BE := {e1 , · · · , ep } et B 0 E := {e01 , · · · , e0p }, il existe αij ∈ K, 1 ≤ i, j ≤ p


tels que ∀j ∈ {1, · · · , p},
p
X
e0j = αij ei , (1.7)
i=1

Alors P = (αij )1≤i,j≤p d’après (1.1) et (1.2).

Preuve. En effet, on a

Q−1 AP = M at(idF |BF , B 0 F )M at(u|BE , BF )M at(idE |B 0 E , BE )

= M at(idF |B 0 F , B 0 F )M at(u|B 0 E , BF )

= M at(u|B 0 E , B 0 F ).

 Soient E, F
Exemple 1.2.1.  := K3 et u ∈ L(E) telle que sa mmatrice dans la base canonique
1 0 4
 
BE est A :=  2 5 −3
 
 
−1 3 2

Cours L3 5 Algèbre ©2022


1.3. Réduction des endomorphismes

On considère la base canonique de R3 donnée par B 0 E = {e01 , e02 , e03 }, où


e01 := (1, 1, 1), e02 := (1, 0, −1) 0
 et e3 := (1,
 1, 2).
1 1 1
 
Alors P est donné par P := 1 0 1.
 
 
1 −1 2
 
6 −18 −6
 
Donc B := M at(u|BE , B 0 E ) est donnée par B = P −1 AP =  0 −7 6 .
 
 
−1 14 9

Corollaire 1.1. Deux matrices A, B ∈ Mn (K) sont semblables si et seulement s’il existe un
P ∈ Mn (K) inversible telle que A = P BP −1 .

Proposition 1.4. Si A, B ∈ Mn (K) sont semblables, alors tr(A) = tr(B).

Preuve. Voir Td.

1.3 Réduction des endomorphismes


Dans cette section, pour A ∈ Mn (K), on va déterminer dans quel cas il est possible de
trouver une matrice semblable à A de forme simple (diagonale ou triangulaire).

Définition 1.6. Soit A ∈ Mn (K). On appelle polynôme caractéristique de A, noté PA , le


polynôme de degré n défini par
∀X ∈ K, PA (X) := det(A − XIn ).

Remarque 1.3.1. Si A et B sont semblables, alors PA = PB (voir Td). En particulier, si u ∈


L(Kn ), on défini le polynôme caractéristique Pu de u par Pu = PA , où A est n’importe quelle
matrice associée à u dans une base de Kn .

Définition 1.7. Soit A ∈ Mn (K). On appelle valeurs propres de A (ou de l’application li-
néaire u associée) les racines de PA . Si λ est une racine de PA d’ordre m, i.e. PA (X) =
(λ − X)m Q(X), où Q ∈ K[X] avec Q(λ) 6= 0, on dit que λ est une valeur propre de A de
multiplicité m.

Proposition 1.5. Soient A ∈ Mn (K) et λ une valeur propre de A. Alors, il existe x ∈ Mn,1 (K)\{0}
tel que Ax = λx. Le vecteur x est appelé un vecteur propre associé à la valeur propre λ.

Cours L3 6 Algèbre ©2022


1.3. Réduction des endomorphismes

Preuve. On a det(A − λIn ) = 0. Donc A − λIn n’est pas inversible, ce qui entraîne que
ker(A − λIn ) 6= {0}.

Proposition 1.6. Soit A ∈ Mn (K). Alors, A est inversible si et seulement si A n’a pas de valeur
propre nulle.

Preuve. La matrice A a pour valeur propre 0 si et seulement s’il existe x ∈ Mn,1 (K)\{0} tel
que Ax = 0. Autrement dit, 0 est une valeur propre de A si et seulement si ker(A) 6= {0}.

Définition 1.8. Soient A ∈ Mn (K) et λ une valeur propre de A. On appelle sous-espace propre
associé à la valeur propre λ le sous-espace vectoriel Eλ engendré par les vecteurs propres
associés à λ, i.e. Eλ := ker(A − λIn ).

Proposition 1.7. Soient A ∈ Mn (K) et λ une valeur propre de A. Si dim(Eλ ) := r, alors λ est
de multiplicité m ≥ r.
En particulier si λ est une valeur propre de A de multiplicité m, alors 1 ≤ dim(Eλ ) ≤ m.

Preuve. Supposons que dim(Eλ ) := r. Soit u ∈ L(Kn ) tel que A = M at(u|B, B), où B est
la base canonique de Kn . Il existe une base {f1 , · · · , fr } de Eλ . D’après le théorème de la base
imcomplète, il existe fr+1 , · · · , fn des vecteurs de Kn tels que B 0 = {f1 , · · · , fn } est une base
de Kn 
. Alors, la matrice A0 = 0 0
 M at(u|B , B ) est de la forme
λ 0 ... 0
..
 
 ..
0 . .


 .. . . . ..
 
. A1 

0
 .
A =  
0 . . . 0 λ


 
 
 
 
0 . . . . . . 0 A2
On en déduit que PA (X) = PA0 (X) = (λ − X)r det(A2 − XIn−r ). Donc λ est de multiplicité
supérieure ou égale à r.

Remarque 1.3.2. On en déduit que si λ est une valeur propre simple, alors dim(Eλ ) = 1.

Proposition 1.8. Les sous-espaces propres d’une matrice A associés à des valeurs propres
distinctes en sont en somme directe.

Preuve. Soit A ∈ Mn (K) de valeurs propres distinctes λ1 , · · · , λk . Montrons par récurrence


que les espaces propres Eλ1 , · · · , Eλk sont en somme directe pour tout i ∈ {1, · · · , k}.

Cours L3 7 Algèbre ©2022


1.3. Réduction des endomorphismes

Pour i = 1, le résultat est immédiat. Supposons que les sous-espaces λ1 , · · · , λi . sont en somme
i−1
M
directe pour un i ∈ {1, · · · , k}. Notons Si := Eλj et soit x ∈ Si ∩Eλi . Montrons que x = 0.
j=1
Il existe x1 ∈ Eλ1 , · · · , xi−1 ∈ Eλi−1 tels que x = x1 + · · · + xi−1 . D’autre part, x ∈ Eλi donc
Ax = λi x. On en déduit
λi x = A(x1 +· · ·+xi−1 ) = λ1 x1 +· · ·+λi−1 xi−1 et λi x = λi x1 +· · ·+λi−1 xi−1 . En soustrayant
les deux on obtient (λ1 − λi )x1 + · · · + (λi−1 − λ − i)xi−1 = 0. Puisque Eλ1 , · · · , Eλi sont
en somme directe, on en déduit que (λj − λi )xj = 0, pour tout j ∈ {1, · · · , i − 1}. Or les
valeurs propres considérées sont distinctes, donc xj = 0 , pour tout j ∈ {1, · · · , i − 1}. D’où
x = x1 + · · · + xi−1 = 0. On en déduit que les Eλ1 , · · · , Eλi sont en somme directe pour tout
1 ≤ i ≤ k.

1.3.1 Diagonalisation

Définition 1.9. On dit que A ∈ Mn (K) est diagonalisable si A est semblable à une matrice
diagonale, i.e. Il existe P ∈ Mn (K) inversible et D := diag(λ1 , · · · , λn ) ∈ Mn (K) telles que
A = P DP −1 .

Remarque 1.3.3. Si A ∈ Mn (K) est diagonalisable, alors A est semblable à D := diag(λ1 , · · · , λn ),


où les λi sont les valeurs propres (non nécessairement distinctes) de A. En effet, A et D ont le
Yn
même polynôme caractéristique et PD (X) = (λi − X).
i=1

Proposition 1.9. Une matrice A ∈ Mn (K) est diagonalisable si et seulement s’il existe une
base de Kn formée des vecteurs propres de A.

Preuve. Soit u l’endomorphisme de Kn associé à A dans la base canonique de Kn . Alors, A


est diagonalisable si et seulement s’il existe une base B de Kn telle que M at(u|B) = D =
diag(λ1 , · · · , λn ). On note B := {f1 , · · · , fn } , alors M at(u|B) = D si et seulement si u(fi ) =
λi fi , pour tout i ∈ {f1 , · · · , fn }, ce qui signifie que B est formée des vecteurs propres de A.

Remarque 1.3.4. Si A ∈ Mn (K) de valeurs propres distinctes λ1 , · · · , λk , k ≤ n.

1. Puisque Puisque les sous-espaces propres d’une matrice sont en somme directe, on en dé-
k
duit que A est diagonalisable si et seulement si Kn =
M
Ei ce qui équivaut à dim(E1 ) +
i=1
· · · + dim(Ek ) = n.

Cours L3 8 Algèbre ©2022


1.3. Réduction des endomorphismes

2. Si A n’a que des valeurs propres simples λ1 , · · · , λn , alors, pour tout i ∈ {1, · · · , n},
dim(Eλi ) = 1. On en déduit que si A n’a que des valeurs propres simples, alors A est
diagonalisable.

Définition 1.10. On dit qu’un polynôme de K[X] est scindé dans K s’il admet toutes ses racines
dans K. En particulier, pour K := C, tout polynôme est scindé dans K.

Théorème 1.1. (Caractérisation)


Soit A ∈ Mn (K) telle que son polynôme caractéristique PA est scindé dans K, i.e. PA (X) =
p
Y
(λi − X)mi ,
i=1
où λ1 , · · · , λp ∈ K sont les valeurs propres deux à deux distinctes de A de multiplicités res-
pectives m1 , · · · , mp . Alors, A est diagonalisable si et seulement si, pour tout i ∈ {1, · · · , p},
dim(Eλi ) = mi .
p p
X X
Preuve. S’il existe i ∈ {1, · · · , p} tel que dim(Eλi ) < mi , alors dim(Eλi ) < mi = n.
i=1 i=1
Donc A n’est pas diagonalisable, ce qui montre le sens direct.
p
X
Réciproquement, supposons que pour tout i ∈ {1, · · · , p}, dim(Eλi ) = mi . Alors, dim(Eλi ) =
i=1
p
X
mi = n.
i=1
D’après la remarque 1.3.4, on en déduit que A est diagonalisable.

EXERCICE
 1.3.1Soit A ∈ M3 (R) donnée par
1 2 −2
 
A :=  2 −3 2 
 
 
−2 2 1
On montrera en Td que A a trois valeurs propres simples 1, 3 et −5 donc A est diagonalisable,
puis on calculera P telle que A = P DP −1 , où D = diag(1, 3, −5).

1.3.2 Trigonalisation

On a vu que A ∈ Mn (K) est diagonalisable si et seulement si, pour toute valeur propre λ
de A de multiplicité m, on a dim(Eλ ) = m. Si dim(Eλ ) 6= m, est-il quand même possible de
réduire A ?

Définition 1.11. 1. On dit qu’une matrice T := (tij )1≤i,j≤n ∈ Mn (K) est triangulaire
supérieure si tous ses coefficients sous la diagonale sont nuls, i.e. tij = 0 si i > j.

Cours L3 9 Algèbre ©2022


1.3. Réduction des endomorphismes

2. On dit que A ∈ Mn (K) est trigonalisable s’il existe une matrice triangulaire supérieure
semblable à A.

Remarque 1.3.5. Si T ∈ Mn (K) est triangulaire supérieure, alors T est de la forme


 
λ ... ... . . . t1n
 1 
 0 λ2 · · · · · · t2n 
 
.. 
 
T =  0 0 ... ··· .  (1.8)

.. 
 
..
. . 

0 0 0
 
0 0 0 0 λn

Donc le polynôme caractéristique de T est PT (X) = (λ1 − X) · · · (λn − X). En particulier, si A


est trigonalisable alors A est semblable à T où les coefficients diagonaux de T sont les valeurs
propres, non nécessairement distinctes, de A.

Théorème 1.2. Soit A ∈ Mn (K). La matrice A est trigonalisable si et seulement si son poly-
nôme caractéristique est scindé dans K.

Corollaire 1.2. Toute matrice de Mn (C) est trigonalisable dans C.

Corollaire 1.3. Toute matrice de Mn (C) de polynôme caractéristique scindé dans K. Alors on
X n
a tr(A) = λi , où λ1 , · · · , λn sont les valeurs propres, non nécessairement distinctes, de A.
i=1

Définition 1.12. On appelle Bloc de Jordann associé à λ ∈ K de taille m ≥ 1, la matrice


Jm (λ) = λI m + jm , où Jm est la matrice carrée m × m de coefficients
1 si j = i + 1,

(Jm )ij =
0 sinon.

i.e. les coefficients de Jm (λ) sont λ sur la diagonale, 1 au dessus de la diagonale et 0 partout
ailleurs.

Exemple 1.3.1. Les matrices suivantes sont des blocs de Jordan


de tailles respectives
 2, 3 et 4 :
  ν 1 0 0
  µ 1 0 



λ 1    0 ν 1 0 
J2 (λ) =  , J3 (µ) :=  0 µ 1  et J4 (ν) :=  .
 
 
0 λ   0 0 ν 1
0 0 µ  
0 0 0 ν

Cours L3 10 Algèbre ©2022


1.3. Réduction des endomorphismes

Théorème 1.3. (Théorème de Jordan)


Soit A ∈ Mn (K) trigonalisable de valeurs propres λ1 , · · · , λp avec pour multiplicités respec-

1 , · · · , mp . Alors Aest semblable à la matrice triangulaire supérieure T donnée par


tives m
J 0 ... 0
 λ1
.. 


 0 Jλ2 0 . 
T :=  .. .. ,

. . 

 0 0
 
0 0 0 Jλp
où pour tout i ∈ {1, · · · , p}, Jλi est le bloc de Jordan de taille mi associé à la valeur propre λi .

 1.3.2. SoitA ∈ M3 (R) la matrice donnée par


Exemple
0 2 2
 
A :=  1 3 −1.
 
 
−1 3 3
Alors PA (X) = (2 − X)3 qui est scindé dans R donc il existe P ∈ M3 (R) inversible telle que
A = PT P −1 , oùT est donnée par
2 1 0
 
T := 0 2 1.
 
 
0 0 2
Déterminons P . Soit B := {e1 , e2 , e3 } la base canonique de R3 et u ∈ L(R3 ) l’endomor-
phisme tel que A = M at(u|B). Il suffit de déterminer la base B 0 = {f1 , f2 , f3 } telle que
T := M at(u|B 0 ). On a u(f1 ) = 2f1 , u(f2 ) = 2f1 + f2 et u(f3 ) = f2 + 2f3 .
Alors f1 est vecteur propre de u. On note f1 := x1 e1 + x2 e2 + x3 e3 . On obtient
un 
x
 1
(A − 2I3 ) x2  = 0, donc
 
 
x3
 
x 1 − x 2 − x 3

=0 x 2

=0
⇒ ,
−x1 + 3x2 + x3

=0 x 1

= x3
d’où f1 = x1 (e1 + e3 ). En particulier, on peut  f1= e1 + e3 . Pour f2 , on note
 choisir
y 1
 1  
f1 := y1 e1 + y2 e2 + y3 e3 . On a (A − 2I3 ) y2  = 0, d’où
   
   
y3 1

Cours L3 11 Algèbre ©2022


1.3. Réduction des endomorphismes


−2y1 + 2y2 + 2y3



 =1 
1

 y 2

=
y1 + y2 − y3 =0 ⇒ 4 .


 y 3 = y 1 + 1

−y1 + 3y2 + y3

=1 4
1 1 5
Alors f2 = y1 (e1 + e3 ) + (e2 + e3 ). En particulier, on peut prendre f2 = e1 + e2 + e3 . De
4 4 4
3 9
même, on obtient f3 = e1 + e2 + e3 . Finalement, un choix possible pour P est
  8 8
8 8 8
1 
P = 0 2 3 .

8 
8 10 9

Cours L3 12 Algèbre ©2022


? ? Chapitre Deux ? ?

Orthogonalité, Matrices hermitiennes

2.1 Produit hermitien


Soit K := R ou C.

Définition 2.1. Soit E un K-espace vectoriel. On dit qu’une application (., .) de E × E dans K
est un produit hermitien si :

1. (λx + µy, z) = λ(x, z) + µ(y, z) ,

2. (x, λy + µz) = λ(x, y) + µ(x, z),

3. (x, y) = (y, x),

4. Pour tout x ∈ E, (x, x) ≥ 0 et (x, x) = 0 si et seulement si x = 0.

Si K = R, on dit que (., .) est un produit scalaire.

Exemple 2.1.1. Si E := Kn , le produit hermitien canonique (., .) est défini par


n
xi yi , ∀x := (x1 , · · · , xn ), y = (y1 , · · · , yn ) ∈ Kn .
X
(x, y) :=
i=1
On note aussi (x, y) = x.y ou (x, y) = xT y. En identifiant Kn et Mn, 1(K). Lorsque K := R, on
l’appelle produit euclidien. Dans la suite, on utilisera à plusieurs reprises ce produit scalaire
avec cette même notation sans en rappeler la définition.

Remarque 2.1.1. Soit E un K-espace vectoriel muni d’un produit hermitien (., .), Alors E est
un espace vectoriel normé muni de la norme k.k définie par

p
∀x ∈ E, kxk = (x, x). (2.1)

Proposition 2.1. (Inégalité de Cauchy-Schwarz). Soit E un K-espace vectoriel muni d’un


produit hermitien (., .), Alors, on a
∀x, y ∈ E, |(x, y)| ≤ kxkkyk,
où k.k est la norme définie par (2.1). L’égalité n’a lieu que si x et y sont liés.

Cours L3 13 Algèbre ©2022


2.1. Produit hermitien

Définition 2.2. Soit E un K-espace vectoriel muni d’un produit hermitien (., .).

1. Deux vecteurs x et y sont orthogonaux, noté x⊥y si (x, y) = 0.

2. Une famille {x1 , · · · , xn } de E est dite orthogonale si


∀i, j ∈ {x1 , · · · , xn }, i 6= j, (xi , xj ) = 0.

3. Une famille {x1 , · · · , xn } de E est dite orthonormale si elle est orthogonale et unitaire,
i.e. ∀i, j ∈ {x1 , · · · , xn }, (xi , xj ) = δij .

Proposition 2.2. Soient E un K-espace vectoriel muni d’un produit hermitien (., .) et F uns
osus-espace vectoriel de E de dimension finie. Alors, l’orthogonal
F ⊥ = {x ∈ E\(x, y) = 0, ∀y ∈ F } est un sous-espace vectoriel de E. De plus, si E est de
dimension finie, on a
E = F ⊕ F ⊥ et dim(E) = dim(F ) + dim(F ⊥ ).

Proposition 2.3. Soient E et F deux K-espaces vectoriels de dimensions finies munis des pro-
duits hermitiens (., .)E et (., .)F . Alors, pour tout u ∈ L(E, F ), il existe une unique u∗ ∈
L(F, E) telle que ∀x ∈ E, ∀y ∈ F , (u(x), y)F = (x, u∗ (y))E .
On dit que u∗ est l’adjointe de u.

Proposition 2.4. Soient m, n ∈ N, u ∈ L(Kn , Km ), B et B0 les bases canoniques de Kn et Km .


On note A := M at(u|B, B 0 ) ∈ Mm,n (K) et A∗ := M at(u|B, B 0 ) ∈ Mn,m (K). Alors, A∗ = AT .

Preuve. On note B = {e1 , · · · , en } et B 0 = {e01 , · · · , e0m }. Soient i ∈ {1, · · · , m} et j ∈


{1, · · · , n}. Par définition de A et A∗ , on a :
Xm X n
0 ∗ 0
u(ej ) = akj ek et u (ei ) = a∗ki ek . Puisque B et B 0 sont orthonormales, par linéarité
k=1 k=1
suivant la première variable du produit hermitien, on obtient
m
X
0
(u(ej ), ei )Km = a∗kj (e0k , e0i )Km = aij et par anti-linéarité de la deuxième variable du produit
k=1
hermitien, on a
n
X

(ej , u (e0i ))Kn = a∗ki (ej , ek )Kn = a∗ji .
k=1
On en déduit que a∗ji = aij , soit encore a∗ij = aji . Ce qui donne le résultat.

Définition 2.3. Soit A ∈ Mm,n (K).

1. On appelle matrice adjointe de A la matrice A∗ définie par A∗ = AT .

2. On dit que A est hermitienne ou auto-adjointe si A = A∗ . Si K := R, on parle de matrice


symétrique.

Cours L3 14 Algèbre ©2022


2.1. Produit hermitien

3. On dit que A est unitaire ou orthogonale si A est inversible et A−1 = A∗ .

4. Pour m = n, on dit que A est normale si AA∗ = A∗ A.

Remarque 2.1.2. Soit A ∈ Mn (K). Alors, A∗ A = AA∗ = In . Notons A suivant ses colonnes :
A := (e1 , · · · , en ), où {e1 , · · · , en } est une base de Mn,1 (K). Alors, A∗ A = In entraîne que
ei .ej = δij , ∀i, j ∈ {1, · · · , n}.
Autrement dit, A est la représentation matricielle d’une base orthonormale de Kn ( ou Mn,1 (K)).
En particulier, A est la matrice de passage de deux bases orthonormales. Réciproquement, si P
est la matrice de passage de deux bases orthonormales alors P est unitaire.

Proposition 2.5. Soient A ∈ Mm,n (K) et B ∈ Mn,p (K. Alors, on a

1. (AB)∗ = B ∗ A∗ ,

2. Ker(A∗ ) = Im(A)⊥ ,

3. Im(A∗ ) = Ker(A)⊥ .

Théorème 2.1. (Procédé d’orthonormalisation de Gram-Schmidt). Tout K-espace vectoriel


de dimension finie non réduit à {0} muni d’un produit hermitien admet une base orthonormale.
Plus précisément, soient E un K-espace vectoriel de dimension finie n muni d’un produit her-
mitien (., .) de norme associée k.k et {f1 , · · · , fn } une base de E. On pose :


f1
e1 :=


kf1 k

i−1 (2.2)
X e˜i
e˜i := fi − (fi , ej )ej et ei := , ∀i ∈ 2, · · · , n


ke˜i k

j=1

Alors, la famille {e1 , · · · , en } est une base orthonormale de E.

Remarque 2.1.3. En particulier, la définition (2.2). de la base {e1 , · · · , en } signifie que pour
tout i = 1, · · · , n, V ect{e1 , · · · , ei } = V ect{f1 , · · · , fi }.

Théorème 2.2. (Factorisation de Schur)


. A ∈ Mn (K) de polynôme caractéristique scindé dans K. Alors il existe une matrice unitaire
U ∈ Mn (K telle que U ∗ AU soit triangulaire supérieure. En particulier, toute matrice carrée
de Mn (C) est trigonalisable dans une base orthonormale.

Preuve. Soit u l’application linéaire associée à A dans la base canonique de Kn . D’après


le théorème 1.3, il existe une base B = {f1 , · · · , fn } de Kn telle que A := M at(u|B) =

Cours L3 15 Algèbre ©2022


2.2. Diagonalisation des matrices normales

(tij )1≤i,j≤n soit triangulaire supérieure. D’après le procédé d’orthonormalisation de Gram-Schmidt,


il existe une base orthonormale {g1 , · · · , gn } de Kn telle que
∀i = 1, · · · , n, V ect{f1 , · · · , fi } = V ect{g1 , · · · , gi }. Puisque T est triangulaire supérieure,
on a
i
X
∀i = 1, ·, n, u(fi ) = tij fj ∈ V ect{f1 , · · · , fi },
j=1

i.e. ∀i = 1, · · · , n, u V ect{f1 , · · · , fi }, ⊆ V ect{f1 , · · · , fi }.
Or, pour tout i = 1, · · · , n, gi ∈ V ect{g1 , · · · , gi } = V ectV ect{f1 , · · · , fi } donc, d’après ce
qui précède, u(gi ) ∈ V ect{g1 , · · · , gi }, donc il existe t0ij ∈ K, j = 1, · · · , i tels que
i
X
∀i = 1, · · · , n, u(gi ) = t0ij gj .
j=1
Autrement dit, la matrice associée à u dans la base {g1 , · · · , gi } est triangulaire supérieure.

2.2 Diagonalisation des matrices normales


Théorème 2.3. Soit A ∈ Mn (K de polynôme caractéristique scindé dans K. Alors, A est nor-
male si et seulement si elle est diagonalisable dans une base orthonormale.

Preuve. Supposons que A est diagonalisable dans une base orthonormale. Alors, il existe
U ∈ Mn (K) unitaire et D ∈ Mn (K diagonale telles que A = U DU ∗ . On obtient A∗ A =
U D∗ A∗ U DU ∗ = uD∗ DU . Puisque D et D∗ sont diagonales, celles-ci commutent et donc
U D∗ DU = U DD∗ U ∗ = AA∗ , d’où A est normale.
Réciproquement, supposons que A est normale. D’après le théorème de décomposition de
Schur, il existe U ∈ Mn (K) unitaire et T ∈ Mn (K) triangulaire supérieure telles que A =
U T U ∗ . Alors, on obtient A∗ A = U T ∗ T U ∗ et AA∗ = U T T ∗ A∗ , d’où T ∗ T = T T ∗ . Il reste à
T
montrer que T est diagonale. D’abord, puisque T ∗ = T , on obtient
n
X n
X
∀i, j = 1, · · · , n, tki tkj = tik tjk .
k=1 k=1
Comme T est triangulaire supérieure, on en déduit

min(i,j) n
X X
∀i, j = 1, · · · , n, tki tkj = tik tjk . (2.3)
k=1 k=max(i,j)

Montrons par récurrence que tij = 0 pour i 6= j.


n
X
Pour i = 1, d’après (2.3), on a |t11 |2 = |tik |2 , d’où tij = 0 pour tout j = 2, · · · , n.
k=1
Supposons que tij = 0 pour tout j 6= i avec i ∈ {1, · · · , n − 1}. D’après (2.3), on a

Cours L3 16 Algèbre ©2022


2.2. Diagonalisation des matrices normales

i+1
X n
X
2
|tk(i+1) | = |t(i+1)k |2 .
k=1 k=i+2
Or, pour k ≤ i, on a par hypothèse de récurrence tk(i+1) = 0 donc
n
X
2
|t(i+1)(i+1) | = |t(i+1)k |2 + |t(i+1)(i+1) |2 ,
k=i+2
d’où t(i+1)k = 0 pour tout k 6= i + 1. Ce qui donne le résultat.

Corollaire 2.1. Soit A ∈ Mn (K). Alors, A est hermitienne si et seulement si elle est diago-
nalisable dans une base orthonormale et de valeurs propres réelles, i.e. il existe U ∈ Mn (K)
unitaire telle que A = U diag(λ1 , · · · , λn )U ∗ , avec λ1 , · · · , λn ∈ R.

Preuve. Supposons que A = U diag(λ1 , · · · , λn )U ∗ , avec λ1 , · · · , λn ∈ R et U ∈ Mn (K)


unitaire. Alors, A∗ = U diag(λ1 , · · · , λn )∗ U ∗ .
Or, diag(λ1 , · · · , λn )∗ = diag(λ1 , · · · , λn ) = diag(λ1 , · · · , λn ).
Donc A∗ = A.
Réciproquement, supposons que A est hermitienne. Alors, le polynôme caractéristique de A est
scindé dans C et A est normale donc, d’après le Théorème 2.3, il existe U ∈ Mn (K) unitaire
telle que A = U diag(λ1 , · · · , λn )U ∗ , avec λ1 , · · · , λn ∈ C. Puisque A∗ = A, on en déduit que
R. Puisque les valeurs propres de
diag(λ1 , · · · , λn ) = diag(λ1 , · · · , λn ), donc λ1 , · · · , λn ∈
A sont réelles, on en déduit que le polynôme caractéristique de A est scindé dans K. Donc en
appliquant de nouveau le Théorème 2.5, on obtient U ∈ Mn (K).

Définition 2.4. Soit A ∈ Mn (K) hermitienne. On dit que A est :

1. positive si (Ax, x) = x∗ Ax ≥ 0, pour tout x ∈ Mn,1 (K),

2. définie positive si (Ax, x) = x∗ Ax ≥ 0, pour tout x ∈ Mn,1 (K)\{0}.

Proposition 2.6. Soit A ∈ Mn (K) hermitienne. Alors A est positive (resp. définie positive) si
et seulement si ses valeurs propres sont positives( resp. strictement positives).

Preuve. On a A = U ∗ DU , avec D = diag(λ1 , · · · , λn ), λ1 , · · · , λn ∈ R et U ∈ Mn (K)


unitaire. Soit x ∈ Mn,1 (K). Alors, on a
x∗ Ax = x∗ U ∗ DU x = y ∗ Dy, où y := U x.
n
X
Comme D = diag(λ1 , · · · , λn ), on a y ∗ Dy = λi |yi |2 . Ainsi, si les valeurs propres sont
i=1
positives, on en déduit x∗ Ax ≥ 0. Réciproquement, si A est définie positive, on prend i ∈
{1, · · · , n} et on pose x = U ∗ ei , où ei est le i-ème vecteur de la base canonique de Mn,1 (K).
On obtient λi = x∗ Ax ≥ 0. Ce qui donne le résultat.

Cours L3 17 Algèbre ©2022


2.3. Valeurs singulières d’une matrice

2.3 Valeurs singulières d’une matrice


Lemme 2.1. Soit A ∈ Mm,n (K). Alors, la matrice A∗ A est hermitienne positive. En particulier,
les valeurs propres de A∗ A sont réelles positives.

Preuve. Puisque A ∈ Mm,n (K) et A∗ ∈ Mn,m (K), on a A∗ A ∈ Mn (K). De plus, (A∗ A)∗ =
A∗ (A∗ )∗ = A∗ A. Soit x ∈ Mn,1 (K). Alors A∗ Ax.x = Ax.Ax = kAxk2 ≥ 0, où k.k est la
norme euclidienne sur Mn,1 (K). Donc A∗ A est positive.

Définition 2.5. Soit A ∈ Mn (K). On appelle valeurs singulières de A, les racines carrées des
valeurs propres non nulles de A∗ A.

Lemme 2.2. Soit A ∈ Mn (K). Alors les valeurs propres non nulles de A∗ A et AA∗ sont les
mêmes.

Preuve. Voit Td.

Remarque 2.3.1. 1. Les valeurs singulières d’une matrice hermitienne sont les modules de
ses valeurs propres.

2. Les valeurs singulières permettent d’obtenir un équivalent des valeurs propres pour des
matrices rectangulaires. En particulier, on obtient un équivalent de la diagonalisation pour
les matrices rectangulaires appelé SVD pour « Singular Value Decomposition » (décom-
position en valeurs singulières).

Théorème 2.4. (Décomposition en valeurs singulières)


Soit A ∈ Mm,n (K) ayant r valeurs singulières. Alors, il existe deux matrices unitaires Soit
U ∈ Mn (K) et V ∈ Mm
(K) telles que 
Σ 0r(n−r)
A = V Σ̃U ∗ , avec Σ̃ :=   ∈ Mm,n (K) ,
0(n−r)r 0(n−r)(n−r)
où Σ = diag(µ1 , · · · , µr ) ∈ Mr (K) est la matrice formée des r valeurs singulières rangées
par ordre croissant : µ1 ≥ µ2 ≥ · · · ≥ µr > 0.

Remarque 2.3.2. 1. Si on note ui , i ∈ {1, · · · , n} et vi , i ∈ {1, · · · , m}, les colonnes de U


et V , la SVD de A s’écrit plus simplement :
X r
A= µi vi u∗i .
i=1

2. On a A∗ A = U Σ̃∗ V ∗ V Σ̃U ∗ = U Σ̃∗ Σ̃U ∗ . Puisque Σ̃∗ Σ̃ est diagonale, on en déduit que
les colonnes de U sont formées de vecteurs propres de AA∗ .

Cours L3 18 Algèbre ©2022


2.3. Valeurs singulières d’une matrice

Preuve. Dans la suite, on considère le cas m ≥ n. Le cas n ≥ m se traite en considérant


la transposée. La matrice A∗ A ∈ Mn (K) étant hermitienne, il existe une matrice unitaire
U ∈ Mn (K) telle que A∗ A = U DU ∗ , où D ∈ Mn (K) est diagonale avec pour éléments
diagonaux ses valeurs propres µ21 ≥ · · · ≥ µ2r > µ2r+1 = · · · µ2n = 0. Avec ces notations, on a
Σ̃ = diag(µ1 , · · · , µn ) ∈ Mn (K) et D = Σ̃T Σ̃. Soient u1 , · · · , un ∈ Mn,1 (K) les colonnes de
U . On a
∀i, j = 1, · · · , n, (Aui , Auj ) = (A∗ Aui , uj ) = µ2i (ui , uj ) = µ2i δij ,
d’où kAui k = µi pour tout i = 1, · · · , n. En particulier, Aui = 0 si i = r + 1, · · · , n et Aui 6= 0

i Aui ∈ Mm,1 (K). On a alors


si i = 1, · · · , r. Pour i = 1, · · · , r, on pose vi := µ−1
1 µ2i
∀i, j = 1, · · · , r, (vi , vj ) = (Aui , Auj ) = δij = δij .
µi µj µi µj
D’après le théorème de la base incomplète et le procédé d’orthonormalisation de Gram-Schmidt,
il existe vr+1 , · · · , vm ∈ Mm,1 (K) telle que la famille {v1 , · · · , vm } est une base orthonormale
de Mm,1 (K). Soit V ∈ Mm (K) la matrice de colonnes v1 , · · · , vm . On obtient

V Σ̃U ∗ = (v1 , · · · , vn )diag(µ1 , · · · , µn )U ∗

= (µ1 , v1 , · · · , µm vm )U ∗

= (Au1 , · · · , Aur , 0, · · · , 0)U ∗

= AU U ∗ = A,

ce qui donne le résultat.

Remarque 2.3.3. La SVD permet de définir un équivalent de l’inverse pour des matrices rec-
tangulaires, dite matrice   de Moore-Penrose en posant
pseudo inverse

Σ−1 0
A := U Σ̃V , avec Σ̃ :=  .
0 0

Cours L3 19 Algèbre ©2022


? ? Chapitre Trois ? ?

Normes matricielles

3.1 Définitions et propriétés élémentaires


Notation 3.1.1. On rappelle que dans un espace vectoriel normé de dimension finie, toutes les
normes sont équivalentes. En particulier, Kn ∼ Mn,1 (K) peut être muni de différentes normes
induisant la même topologie. On donne ci-dessous les notations des normes les plus couram-
ment employées dans Kn , où x := (x1 , · · · , xn ) désigne un vecteur de Kn .

1. La norme euclidienne, ou `2 , est notée k.k2 et est définie par


Xn  21
kxk2 := |xi |2 .
i=1
p
2. La ` , où 1 ≤ p < ∞, est notée k.kp et est définie par
X n 1
2 p
kxkp := |xi | .
i=1
3. La norme du max, ou norme `∞ , est notée k.k∞ et est définie par
max
kxk∞ = 1≤i≤n|xi |.

Comme rappelé plus haut, ces normes sont équivalentes. De plus, les constantes d’équiva-
lence sont connues (voir Td) :

1
kxk∞ ≤ kxkp ≤ n p kxk∞ , (3.1)

kxk2 ≤ kxk1 ≤ nkxk2 . (3.2)

Définition 3.1. Pour A ∈ Mm,n (K) de coefficients aij , on définit la norme de Frobenius par
X m X m  21
kAkF := |aij |2 .
i=1 j=1

Définition 3.2. On dit qu’une norme k.k sur Mn (K) est une norme matricielle si elle vérifie
∀A, B ∈ Mn (K), kABk ≤ kAkkBk.

Exemple 3.1.1.

Cours L3 20 Algèbre ©2022


3.1. Définitions et propriétés élémentaires

1. La norme de Frobenius est une norme matricielle. En effet, soient A, B ∈ Mn (K) et cij
les coefficients de AB, alors
n n n
X X X 2
2 2
kABkF = |cij | = aik bkj .
i,j=1 i,j=1 k=1
D’après l’inégalité de Cauchy-Schwarz, on a
n n n
X 2 X  X 
aik bkj ≤ |aik |2 |bik |2 , d’où
k=1 k=1 k=1
n
X n
 X 
kABk2F ≤ |aik |2 |bik |2 = kAk2F kBk2F .
k=1 k=1
2. La norme k.k définie sur Mn (K) par kAk := 1≤i,j≤n
max
|aij | n’est pas une norme matricielle.
En effet, soit A ∈ Mn (K) de coefficients aij = 1 pour tous 1 ≤ i, j ≤ n. Alors, on a
kAk = 1 mais A2 a tous ses coefficients égaux à n, d’où |A|2 = n > kAkkAk.

Remarque 3.1.1. Soient (E, k.k) un K-espace vectoriel normé et L(E) l’espace vectoriel des
applications linéaires et continues de E dans E. On peut définir sur L(E) une norme k.kL(E)
dite subordonnée à k.k, en posant
ku(x)k
∀u ∈ L(E), kukL(E) := sup ku(x)k = sup ku(x)k = sup .
x∈E x∈E x∈E\{0} kxk
kxk≤1 kxk=1
Si E est de dimension finie, toute application linéaire est continue (i.e. L(E) = L(E)) et
associée à une matrice. Ainsi, sur Mn (K), on peut définir une norme dite subordonnée à une
norme vectorielle.

Définition 3.3. Soit k.k une norme sur Kn ( identifié à Mn,1 (K)). On appelle norme subordon-
née à k.k, encore notée k.k, la norme la norme définie sur Mn (K) par
kAxk
∀A ∈ Mn (K), ∀x ∈ Mn,1 (K), kAk := sup kAxk = sup kAxk = sup .
x∈Kn x∈Kn x∈Kn \{0} kxk
kxk≤1 kxk=1

Remarque 3.1.2. Par définition de la norme subordonnée, si k.k est une norme sur Kn , on a
∀A ∈ Mn (K), ∀x ∈ Mn,1 (K), kAxk ≤ kAkkxk.

Proposition 3.1. Soit k.k une norme sur Kn .

1. Pour tout A ∈ Mn (K), il existe xA ∈ Kn \{0} tel que


kAk = kAxA k et kxA k ≤ 1.

2. kIn k = 1, où In ∈ Mn (K) est la matrice identité.

3. La norme subordonnée à k.k est une norme matricielle.

Preuve. 1. L’application qui à x ∈ Kn 7→ kAxk est continue sur la boule unité fermée
{x ∈ Kn |kxk ≤ 1} qui est compacte, donc cette application atteint sa borne supérieure
en un point xA de la boule unité fermée.

Cours L3 21 Algèbre ©2022


3.2. Propriétés des normes usuelles

2. kIn k = sup kxk = 1.


kxk=1

3. Soient A, B ∈ Mn (K) et x ∈ Kn . Pour tout y ∈ Kn , on a kAyk ≤ kAkkyk. On en déduit


que kABxk ≤ kAkkBxk, en passant au sup on obtient kABk ≤ kAkkBk.

Remarque 3.1.3.

1. D’après les inégalités (3.1) et (3.2), pour tout A ∈ Mn (K), on a (voit Td)

1 1
n− p kxk∞ ≤ kxkp ≤ n p kxk∞ , (3.3)

1 1
n− 2 kxk2 ≤ kxk1 ≤ n 2 kxk2 . (3.4)

2. La norme de Frobenius n’est pas une norme subordonnée. En effet, on a


X n  12 √
kIn kF = δij = n 6= 1.
i,j=1

Remarque 3.1.4. Les normes subordonnées sur l’espace Mm,n (K) des matrices rectangulaires
se définissent de manière analogue au cas des matrices carrées. Si on désigne par k.kk une norme
sur Kk , alors la norme subordonnée correspondante sur Mm,n (K) est donnée par
kAxkm
∀A ∈ Mm,n (K), kAk := sup .
x∈Kn \{0} kxkn

3.2 Propriétés des normes usuelles


Proposition 3.2. Les normes subordonnées k.k1 et k.k∞ vérifient
n
1. ∀A ∈ Mn (K), kAk1 = max
X 
|aij | .
1≤j≤n
i=1
n
2. ∀A ∈ Mn (K), kAk∞ = max
X 
|aij | .
1≤j≤n
i=1

Preuve. Voir Td.

Proposition 3.3. La norme subordonnée k.k2 vérifie


∀A ∈ Mn (K), kAk2 = kA∗ k2 = plus grande valeur singulière de A.

Preuve. Rappelons d’abord que la norme k.k2 est la norme associée au produit hermitien ca-
nonique (., .)2 de Kn . Soit A ∈ Mn (K). On a
kAxk22 (Ax, Ax)2 (A∗ Ax, x)2
kAk2 2 = sup 2
= sup 2
= sup 2
. Puisque A∗ A est
x∈K \{0}
n kxk 2 x∈K \{0}
n kxk 2 x∈K \{0}
n kxk2
hermitienne positive, elle est diagonalisable dans une base orthonormale {e1 , · · · , en } de Kn

Cours L3 22 Algèbre ©2022


3.2. Propriétés des normes usuelles

formée de vecteurs propres et les valeurs propres correspondantes λ1 , · · · , λn sont positives


ou nulles. Pour x ∈ Kn , on note xi , 1 ≤ i ≤ n ses coordonnées dans cette base, i.e. x =
x1 e1 + · · · + xn en . Alors on a
n
X n
X  Xn n
X
(A∗ Ax, x)2 = xi A∗ Aei , xj e j = λi xi xj (ei , ej )2 = λi |xi |2
i=1 j=1 i,j=1 i,j=1
 n
X
≤ max λi λi xi xj (ei , ej )2
1≤i≤n
i,j=1
 
≤ max λi kxk22 .
1≤i≤n
p
On en déduit que kAk2 ≤ max λi . Soit i ∈ {1, · · · , n} et x := ei . Alors, kxk2 = 1 et
1≤i≤n
p p p
on a kAxk2 = ∗
(A Ax, x)2 = λi . Ainsi, kAk2 ≥ λi , pour tout i = 1, · · · , n, donc
kAk2 ≥ max λi . De plus, pour tout x ∈ Kn \{0}, on a
p
1≤i≤n
(Ax, Ax)2 kA∗ Axk2 kxk2 kA∗ Axk2
2
≤ 2
≤ 2
≤ kA∗ Ak2 ≤ kA∗ k2 kAk2 , d’où
kxk2 kxk2 kxk2
kAk22 ≤ kA∗ k2 kAk2 , d’où kA∗ k2 = kAk2 .

Définition 3.4. Soit A ∈ Mn (K). On appelle spectre de A, noté σ(A), l’ensemble des valeurs
propres de A et rayon spectral de A, noté ρ(A), la plus grande valeur propre de A en module,
i.e.
ρ(A) := max{|x| |λ ∈ σ(A)}.

Remarque 3.2.1. Le rayon spectral ne permetpas dedéfinir une norme sur Mn (K). En effet,
0 1
si on considère, par exemple, la matrice A :=   celle-ci vérifie ρ(A) = 0, mais A 6= 0.
0 0
Néanmoins, le rayon spectral de A définit une norme sur le sous-espace vectoriel de Mn (K)
formé des matrices normales d’après le résultat ci-dessous.

Théorème 3.1. Pour toutes matrices U ∈ Mn (K) unitaire et A ∈ Mn (K), on a


kAU k2 = kU Ak2 = kAk2 .
En particulier, pour toute matrice A ∈ Mn (K) normale, on obtient
kAk2 = ρ(A).

Preuve. Soient U ∈ Mn (K) unitaire et A ∈ Mn (K). On a


2 kAU xk22 (U Ax, U Ax)2 (U ∗ U Ax, U Ax)2
kU Ak2 = sup = sup = sup
x∈Kn \{0} kxk22 x∈Kn \{0} kxk22 x∈Kn \{0} kxk22
(Ax, Ax)2
= sup 2
= kAk22 .
x∈K \{0}
n kxk 2
En particulier, si A = In , on obtient kU k2 = kU ∗ k2 = 1. Soient x ∈ Kn et y = U x. On a

Cours L3 23 Algèbre ©2022


3.2. Propriétés des normes usuelles

kyk2 = kU xk2 ≤ kU k2 kxk2 = kxk2 et kxk2 = kU ∗ xk2 ≤ kU ∗ k2 kyk2 = kyk2 , donc


kxk2 = kU xk2 = kU ∗ xk2 . Puisque U est inversible, on en déduit
kAU xk22 kAU xk22 kAyk22
kAU k22 = sup 2
= sup 2
= sup 2
= kAk22 .
x∈K \{0}
n kxk 2 x∈K \{0}
n kU xk 2 x∈K \{0}
n kyk 2
Enfin, si A est normale alors il existe U ∈ Mn (K) unitaire telle que A = U DU ∗ avec D :=
diag(λ1 , · · · , λn ), où λ1 , · · · , λn sont les valeurs propres de A. Donc on obtient
kDxk2
kAk2 = kDk2 = sup 2
.
x∈Kn \{0} kxk2
n
|λi xi |2 ≤ ρ(A)2 kxk22 , pour tout x := (x1 , · · · , xn ) ∈ Kn , d’où kDk2 ≤ ρ(A).
X
Or kDxk22 =
i=1
De plus, si ρ(A) = |λi0 |, en prenant x := ei0 le i0 -ème vecteur de la base canonique de Kn , on
a kDxk2 = |λi0 | = ρ(A) et kxk2 = 1. Donc kDk2 = ρ(A).

Proposition 3.4. ( Propriétés de la norme de Frobenius)


Soit A ∈ Mn (K).
n
X  21
p
1. kAkF = tr(A∗ A) = µ2i , où les µi sont nuls ou les valeurs singulières de A.
i=1
2. Soit U ∈ Mn (K) unitaire, alors on a
kU AkF = kAU kF = kAkF .

3. Pour p = 1 ou ∞, on a
√ 1
kAk2 ≤ kAkF ≤ nkAk2 et √ kAkp ≤ kAkF ≤ kAkp .
n
Preuve.

n
X  12 n
X n
X

1. kAk2F = 2
|aij | et tr(A A) = cii , où cij = aki akj .
i,j=1 i=1 k=1
n X
n
|aki |2 = kAk2F . De plus, A∗ A est diagonalisable dans K, donc
X

Donc tr(A A) =
i=1 k=1
n
X
tr(A∗ A) = λi , où λ1 , · · · , λn sont les valeurs propres de A∗ A, on en déduit le résultat.
i=1
2. On a
kU Ak2F = tr (U A)∗ U A = tr(A∗ U ∗ U A) = tr(A∗ A) = kAk2F .


De plus, kAU k2F = tr(A∗ U ∗ U A) = tr(A∗ A) = kAk2F .


n
X  12 √ √
3. kAkF = µ2i ≤ 2 max µi = nkAk2 . De plus, il existe i0 ∈ {1, · · · , n} tel
1≤i≤n
i,j=1
n
X  21 √
que kAk2 = µi0 ≤ µ2i ≤ 2 = kAkF .
i,j=1

Cours L3 24 Algèbre ©2022


3.2. Propriétés des normes usuelles

n
X
De plus, kAk1 = max ||aij0 |.
1≤i≤n
i=1
n
X
Il existe j0 ∈ {1, · · · , n} tel que kAk1 = |aij0 |. Alors d’après l’inégalité de Cauchy-
i=1
Schwarz, on obtient
n
√ X  21 √
kAk1 ≤ n |aij0 |2 ≤ nkAkF .
i=1
X n X
n  n
X
Enfin, kAk2F = |aij |2 ≤ n |aij0 |2 ≤ nkAk21 .
j=1 i=1 i=1

Théorème 3.2. Pour toute norme matricielle k.k sur Mn (C), on a


∀A ∈ Mn (C), ρ(A) ≤ kAk.
Réciproquement, pour tout ε > 0 et pour toute matrice A ∈ Mn (C), il existe une norme
matricielle subordonnée k.kA telle que
kAkA ≤ ρ(A) + ε.

Preuve. Soient A ∈ Mn (C) et λ sa valeur propre telle que ρ(A) = |λ|. Soit x ∈ Cn \{0}
un vecteur propre de A associé à la valeur propre λ et y ∈ Cn non nul tel que sa matrice
xy ∗ = (xi yj )1≤i,j≤n soit non nulle. Alors on a Axy ∗ = (Ax)y ∗ = λxy ∗ , d’où
|λ|kxy ∗ k = kAxy ∗ k ≤ kAkkxy ∗ k.
On en déduit que |λ| ≤ kAk.
Réciproquement, soient ε > 0 et A ∈ Mn (C). D’après le théorème de Schur, il existe U ∈
Mn (C) unitaire et T ∈ Mn (C) triangulaire supérieure telles que A = U T U ∗ .
Pour tout δ > 0, Dδ := diag(1, δ, δ 2 , · · · , δ n−1 ) ∈ Mn (C). Alors, on a
   
1 0 ... 0 λ t ... t1n 1 0 ... 0
  1 12
. .. 
  
. . ...
0 δ −1 . . ..   0 λ2 . .
    
−1
t2n  0 δ . 
Dδ T Dδ =  . .
  .. . . . .

 . .
 
 .. .. ... 0   . . . t(n−1)n   .. . .
..
. 0 

   
1−n
0 ... ... δ 0 ... ... λn 0 ... . . . δ n−1
 
λ δt12 . . . δ n−1 t1n
 1 
 . . . n−2 
 0 λ2 δ t2n 
=  .. . . ..

. . δt(n−1)n 

.
 
0 ... ... λn

En notant Dδ−1 T Dδ = (uij )1≤i,j≤n , on obtient

Cours L3 25 Algèbre ©2022


3.3. Suites et séries de matrices carrées

n
X
kDδ−1 T Dδ k∞ = max |uij |
1≤i≤n
j=1
n
 X 
= max |λi | + max |δ j−i tij |
1≤i≤n 1≤i≤n−1
j=i+1
n
 X 
≤ ρ(A) + max |δ j−i tij | .
1≤i≤n−1
j=i+1

Le résultat étant vrai pour tout ε > 0, on choisit δ tel que


n
X
∀i = 1, · · · , n − 1, |δ j−i tij | ≤ ε.
j=i+1
Alors, on a kDδ−1 T Dδ k∞ = ρ(A) + ε. Ainsi, si on pose
kAkA := kDδ−1 U ∗ AU Dδ k∞ = k(U Dδ )−1 U ∗ A(U Dδ )k∞ ,
on obtient le résultat voulu. Il reste cependant à vérifier que la norme k.kA ainsi définie est bien
une norme subordonnée. Plus précisément, on vérifie (le faire en exercice), que la norme k.kA
est la norme subordonnée à la norme vectorielle k.kδ définie par
∀x ∈ Cn , kxkδ := k(U Dδ )−1 xk∞ .

3.3 Suites et séries de matrices carrées


Définition 3.5. On dit qu’une suite (Ak )k∈N de Mn (K) converge vers A ∈ Mn (K) si pour toute
−→
norme matricielle k.k, on a kA − Ak k k7→+∞ 0.

Lemme 3.1. Soit A ∈ Mn (C). Alors, les conditions suivantes sont équivalentes :

1. lim Ak = 0,
k7→+∞

2. lim Ak x = 0, ∀x ∈ Cn ,
k7→+∞

3. ρ(A) < 1,

4. il existe une norme subordonnée k.k telle que kAk < 1.

Preuve. Supposons que 1. ait lieu. Soit x ∈ Cn . Alors, on a kAk xk ≤ kAk kkxk −→
k7→+∞ 0, ce
qui donne 2.
Supposons que 2. ait lieu. Soit λ une valeur propre de A telle que ρ(A) = |λ| ?. Il existe
kAk xk −→
x ∈ Cn \{0} tel que Ax = λx. On a donc Ak x = λk x, d’où ρ(A)k k7→+∞ 0.
kxk
On en déduit ρ(A) < 1.
Supposons que 3. ait lieu. Alors, il existe ε > 0 tel que ρ(A) + ε < 1. D’après le théorème

Cours L3 26 Algèbre ©2022


3.3. Suites et séries de matrices carrées

(3.2), il existe une norme subordonnée k.kA telle que kAkA ≤ ρ(A) + ε < 1.
−→
Enfin, supposons que 4. ait lieu. Puisque k.k est une norme matricielle, on a kAk k ≤ kAkk k7→+∞ 0
car kAk < 1.

Remarque 3.3.1. Puisque Mn (K) est de dimension finie, il est complet. Autrement dit, une
suite (Ak )k∈N de Mn (K) converge si et seulement si elle est de Cauchy pour la norme k.k
choisie, i.e. Pour tout ε > 0, il existe K ∈ N tel que si k, l ≥ K, kAk − Al k < ε.
X
Théorème 3.3. Soit ak z k une série entière de rayon de convergence R > 0. Soit A ∈
k≥0

Mn (C). Si ρ(A) < R, alors la série entière


X
ak z k converge, et pour toute norme subordon-
k≥0
X
k
née k.k, on a k ak z k < ∞.
k≥0

Preuve. Puisque ρ(A) ≥ R, il existe une norme subordonnée k.k telle que kAk < R. Or, pour
tous l, m ∈ N, on a
Xm Xm
k
k ak A ≤ |ak |kAk k.
k=l+1 k=l+1
Puisque kAk k < R, d’après le critère de Cauchy, le terme de droite tend vers 0, donc le terme de
X
gauche aussi. En appliquant alors le critère de Cauchy sur le terme de gauche, la série ak A k
k≥0
converge.

Exemple 3.3.1.

1. On peut définir exp(A), sin(A) et cos(A) sans restriction sur ρ(A).

2. La fonction z 7→ (1 − z)−1 est développable en série entière sur le disque unité (i.e.
z k . Ainsi, pour tout A ∈ Mn (C) telle que ρ(A) < R, on peut
X
R = 1) et (1 − z)−1 =
k≥0
X
k
définir A .
k≥0

Proposition 3.5. Soit A ∈ Mn (C) telle que ρ(A) < 1. Alors, la matrice In − A est inversible
X
et son inverse est donné par (In − A)−1 = Ak .
k≥0
X
Preuve. On pose S = Ak . Il suffit de vérifier que S(In − A) = In . Or on a
k≥0
X X X X
S(In − A) = S − SA = Ak − Ak+1 = Ak − Ak = A0 = In .
k≥0 k≥0 k≥0 k≥1

Cours L3 27 Algèbre ©2022


♣ Deuxième partie
Résolution numérique des systèmes
linéaires ♣

Cours L3 28 Algèbre ©2022


? ? Chapitre Quatre ? ?

Systèmes linéaires

L’objet de ce chapitre est d’établir quelques généralités sur la résolution numérique des
systèmes linéaires. En particulier, on donne les premiers algorithmes de résolution de systèmes
linéaires (remontée et descente).

4.1 Systèmes linéaires carrés


Dans cette première section, on considère les problèmes du type : trouver x ∈ Mn,1 (K) tel
que
Ax = b, où A ∈ Mn (K), b ∈ Mn,1 (K) (4.1)

Trois cas sont alors possibles.

1. A est inversible. Alors (4.1) admet une unique solution x ∈ Mn,1 (K).

2. A n’est pas inversible mais b ∈ Im(A). Alors, il existe une infinité de solutions. En effet,
puisque b ∈ Im(A), il existe x ∈ Mn,1 (K tel que Ax = b. Comme A n’est pas inversible,
Ker(A) 6= {0}, alors pour tout x ∈ Ker(A)\{0}, on a A(x + x0 ) = b.

3. A n’est pas inversible et b ∈


/ Im(A). Alors, il n’existe pas de solution.

Pour la suite, on ne considère que le cas A inversible. Alors, les coefficients xi , 1 ≤ i ≤ n, de


la solution x de (4.1) sont donnés
 par la formule de Cramer. 
a . . . a1(i−1) b1 a1(i+1) . . . a1n
det(Bi )  11
 .. .. .. .. .. 

xi = , où Bi :=  . . . . . ,
det(A)  
an1 . . . an(i−1) bn an(i+1) . . . ann
i.e. la matrice Bi s’obtient en remplaçant la i-ème colonne de A par le vecteur b. Cette formule
nécessite de l’ordre de (n + 1)! multiplications, ce qui est énorme. Dans [1], un exemple est
donné pour n = 50 avec un ordinateur classique et amène à un calcul de la solution prenant
4.5 × 1049 années. Ainsi, celle-ci n’est absolument jamais employée dans la pratique. Pour

Cours L3 29 Algèbre ©2022


4.1. Systèmes linéaires carrés

pouvoir comparer diverses méthodes numériques de résolution de systèmes linéaires, on compte


le nombre d’opérations nécessaires. Le temps de calcul d’une addition étant très faible devant
celui d’une multiplication, on ne compte que le nombre de multiplications. Dans toute la suite de
ce cours, on appellera complexité d’un algorithme le nombre de multiplications qu’il nécessite.
Considérons maintenant le cas de matrices A de forme simple :

1. Si A est diagonale. On a A = diag(λ1 , · · · , λn ), alors il est immédiat que x est donné


par x = (λ−1 b1 , · · · , λ−1
n bn ). Le calcul de la solution dans ce cas demande d’effectuer n

multiplications.

2. Si A est unitaire. On a x = A∗ b, le calcul de A∗ étant négligeable (il s’agit juste d’une


transposition et conjugaison), le calcul de x ne nécessite que n2 multiplications.

3. Si A est triangulaire, on peut construire un algorithme simple de résolution de (4.1).

Ce dernier cas particulier s’avérera très important dans la suite. Ainsi dans la fin de cette section,
on ne considère que le cas des matrices triangulaires. Soit A triangulaire inférieure. On note
B := A−1 = (bij )1≤i,j≤n . Alors, B est aussi triangulaire inférieure et, puisque BA = In , on a
n
X
∀i, j = 1, · · · , n bik akj = δij
k=1

.
Comme A et B sont triangulaires inférieure, on a akj = 0 si j > k et bik = 0 si k > i, d’où
i
X
∀i, j = 1, · · · , n bik akj = δij .
k=j

De plus, A est inversible et triangulaire, pour tout i = 1, · · · , n, aii 6= 0.


• Pour j > i, on a bij = 0.
• Pour i = j, on a bii = 0.
i
X
• Pour j < i, on a bij ajj = − bik akj donc
k=j+1
i
1 X
bij = − bik akj .
ajj k=j+1
Ainsi, on calcule d’abord bii , puis on a bi(i−1) donné par la formule ci-dessus, on peut alors
calculer bi(i−2) . Par récurrence, on sait calculer bij pour tout j ≤ i. Cela donne l’Algorithme 1.
Comptons le nombre d’opérations nécessaires dans l’Algorithme 1. La boucle sur k effectue
i − j − 1 multiplications, ensuite on effectue une division, soit i − j opérations dans la boucle
j. Puisque j varie de 1 à i − 1, cela donne

Cours L3 30 Algèbre ©2022


4.1. Systèmes linéaires carrés

i−1
X i(i − 1) i(i − 1)
(i − j) = i(i − 1) − = .
j=1
2 2
opérations à l’intérieur de la boucle i. Donc finalement, le nombre total d’opérations est
n n n
X i(i − 1) 1  X 2 X  1 n(n + 1)(2n + 1) n(n + 1) n3
= i − i = − ∼ .
i=1
2 2 i=1 i=1
2 6 4 6
n3
Autrement dit, le calcul de A−1 par cette méthode nécessite de l’ordre de opérations.
6
n2
Pour le calcul de x, il faut ensuite effectuer le produit de A−1 par b, ce qui nécessite .
2

Algorithme 1 Inverse d’une matrice triangulaire inférieure


Entrées : A
Sorties : B
Pour i = 1 : n faire
1
bii =
aii
Pour j = 1 : i − 1 faire
s=0
Pour k = j + 1 : i faire
s = s + bik akj
fin Pour
−s
bij =
ajj
fin Pour
fin Pour

Algorithme 2 Algorithme de descente


Entrées : A, b
Sorties : x
Pour i = 1 : n faire
s=0
Pour j = 1 : i − 1 faire
s = s + aij xj
fin Pour
xi = (bi − s)/aii
fin Pour

opérations (en prenant en compte que la moitié des coefficients de A sont nuls) qui est

Cours L3 31 Algèbre ©2022


4.1. Systèmes linéaires carrés

n3
négligeable devant . Ainsi finalement le calcul de x par cette méthode demande de l’ordre de
6
n3
opérations.
6
Il est possible de réduire ce temps de calcul en calculant directement x sans calculer l’inverse
de A. Pour cela, on remarque que l’on a
n
X
∀i = 1, · · · , n, bi = aij xj . On en déduit :
j=1
Pi−1
bi − j=1 aij xj
∀i = 1, · · · , n, xi = .
aii
ce qui donne l’algorithme de descente ( Algorithme 2).
n(n + 1)
Dans l’Algoritme 2, on effectue i opérations avec i variant de 1 à n, ce qui donne
2
opérations En ne tenant compte que du monôme de plus haut degré, on obtient que l’algorithme
n2
de descente nécessite de l’ordre de opérations. Ainsi cet algorithme est bien plus rapide
2
que celui d’inversion et donc préférable dans les applications. De manière générale on n’utilise
jamais d’algorithme d’inversion car ceux-ci sont trop couteux en temps de calcul.

Algorithme 3 Algorithme de remontée


Entrées : A, b
Sorties : x
Pour i = n : 1 faire
s=0
Pour j = i + 1 : n faire
s = s + aij xj
fin Pour
xi = (bi − s)/aii
fin Pour

De la même manière, lorsque A est triangulaire supérieure, la résolution de Ax = b se fait en


n2
opérations l’algorithme de remontée (Algorithme 3).
2
Pour finir cette section, on donne un exemple concret où la résolution du problème (4.1.). par
un algorithme rapide est nécessaire.

Exemple 4.1.1. (Équation de la chaleur stationnaire)


On considère une tige conductrice de la chaleur (représentée par l’intervalle [0, 1]) soumise à
une source de chaleur f ∈ C 2 [0, 1]; R et dont les extrémités sont plongées dans la glace. La


Cours L3 32 Algèbre ©2022


4.1. Systèmes linéaires carrés

source de chaleur étant constante au cours du temps, après un certain laps de temps la tempéra-
ture de la tige devient elle-même constante au cours du temps.
Soit u : [0, 1] → R cette température. Alors, u est solution de l’équation de la chaleur station-
naire : 
−u00 (x)

:= f (x), x ∈]0, 1[,
(4.2)
u(0) = u(1)

:= 0.

On suppose dans la suite que u ∈ C 4 [0, 1]; R . Pour résoudre numériquement (4.2)., on consi-


dère n ∈ N∗ et on pose
n
∀n{0, 1, · · · , N + 1}, xn := .
N +1
Alors, x0 < x1 < · · · < xN < xN +1 est une partition de [0, 1] telle que x0 = 0 et xN +1 = 1.
1
Soit h := supposé petit et n ∈ {1, · · · , N }. Alors, à partir du développement limité de
N +1
u autour du point xi , on obtient ( voir Td)

u(xi+1 ) − 2u(xi ) + u(xi−1 )


u00 (xi ) = + O(h). (4.3)
h2
Ainsi l’expression
u(xi+1 ) − 2u(xi ) + u(xi−1 )
h2
est une approximation de u00 (xi ) pour h suffisamment petit. Pour i = 0, · · · , N + 1, on note ui
une approximation de u(xi ) avec u0 = uN +1 = 0 (prise en compte des conditions aux limites).
Alors, l’expression
ui+1 − 2ui + ui−1
. (4.4)
h2
est encore une approximation de u00 (xi ). Avec ce choix d’approximation, on peut approcher le
problème (4.1.2). par le problème discret suivant : trouver u1 , · · · , uN ∈ R tels que

 ui+1 − 2ui + ui−1 := −f (xi ),

∀i ∈ 1, · · · , N,
h2 (4.5)
u0 = uN +1

:= 0.

On pose Uh = (u1 , · · · , uN )T . On obtient alors que (4.5). s’écrit ( voir Td)

Ah Uh = bh , (4.6)

où Ah ∈ RN ×N et bh ∈ RN sont donnés par

Cours L3 33 Algèbre ©2022


4.2. Systèmes sub-déterminés et moindres carrés

   
2 −1 0 ... 0 f (x1 )
 .. 
   
−1 2 −1 · · · 0 
 
 . 
1  .. . .

. . .. 

 .. 
 
Ah = 2  . . . .  et bh =  .  . (4.7)
h 
 ..  .. 
  
.. ..
. . −1

 .  . 
   
0 . . . . . . −1 2 f (xN )
Puisque l’approximation est d’autant meilleurs que h est petit, dans les applications N peut être
très grand et on est donc amené à résoudre un problème linéaire de grande taille (voir très grande
si l’on ne se place plus dans [0, 1] mais, par exemple, dans un cube tel que [0, 1]3 .

4.2 Systèmes sub-déterminés et moindres carrés


Dans cette section, on considère toujours le problème Ax = b mais avec b ∈ Mm,1 (K) et
A ∈ Mm,n (K) telle que m 6= n ou, si m = n, A non inversible. Deux cas sont alors possibles.
• Si m < n, le système est dit sous-déterminé : il y a plus d’inconnues que d’équations
donc une infinité de solutions. Dans ce cas, il est nécessaire de compléter le système par
une condition supplémentaire pour choisir la (ou les) solution(s).
• Si m > n, le système est dit sur-déterminé : il y a plus d’équations que d’inconnues
donc il n’y a pas de solution. Il faut alors déterminer une notion de solution pour ce
problème qui correspond à la notion de solution classique pour m = n avec A inversible.
Le cas sous-déterminé ne peut être traité de manière générale : il dépend du problème concret
étudié. Pour le cas sur-déterminé, on remarque que si x ∈ Mn,1 (K) vérifie Ax = b, alors on a
kAx−bk = 0 pour toute norme k.k de Mm,n (K). Puisque kAy−bk ≥ 0, pour tout y ∈ Mn,1 (K),
on a kAx − bk = min kAy − bk2 ,
y∈Mn,1 (K)
où k.k2 est la norme euclidienne.
La question de la résolution de ce type de problème sera abordée dans le chapitre 6. Pour finir
cette section, on donne un exemple de problème nécessitant la notion de solution aux moindres
carrés.

Exemple 4.2.1. (Régression linéaire)


Soient n points (x1 , y1 ), · · · , (xn , yn ) de R2 (ceux-ci peuvent, par exemple, correspondre à
des données physiques obtenues expérimentalement). Afin de déterminer une loi expérimen-
tale empirique à partir de ces points, on cherche à déterminer une fonction dont le graphe

Cours L3 34 Algèbre ©2022


4.3. Erreurs d’arrondis et conditionnellement

passe par chacun de ces points. Le plus simple est alors de considérer un polynôme P tel
que yi = P (xi ), pour i = 1, · · · , n. Supposons ce polynôme de degré k. Alors, si on note
P (X) = a0 + a1 X + · · · + ak X k , on obtient a0 + a1 xi + · · · + ak xki = yi , pour tout i = 1, · · · , n.
Ainsi,
 on est amené   a0, · · · , ak ∈ R tels que
à déterminer
1 x1 . . . xk1 a y
   0  1 
1 x1 . . . xk1  a1   y2 
    
 .. ..   ..  =  ..  ,
    
. .  .   . 
    
1 xn . . . xkn ak yn

ce qui s’écrit encore Ax = b, avec A ∈ Mn,k (K), x ∈ Mk,1 (K) et b ∈ Mk,1 (K). Lorsque
n est très grand, déterminer un polynôme de degré k avec k grand peut être très couteux numé-
riquement, dans beaucoup d’applications (en statistique notamment) on prend k = 1. Dans ce
cas, la solution est explicitement connue (voir Td) et est donnée par P (X) = aX + b avec,

E(XY ) − E(X)E(Y )
a= et b = E(Y ) − aE(X), où
E(X 2 ) − E(X)2
n n n n
1X 1X 1X 2 1X 2
E(X) := xi , E(Y ) := yi , E(XY ) := xi yi et E(X ) := x.
n i=1 n i=1 n i=1 n i=1 i

4.3 Erreurs d’arrondis et conditionnellement


On termine ce chapitre avec la notion d’erreurs d’arrondis dans la résolution numérique de
systèmes linéaires. On donne simplement une courte présentation de cette notion qui ne sera
pas détaillée dans ce cours.

Exemple
 4.3.1. Commençons
 par unexemple
 tiré de [1]. On considère le système Ax = b avec
8 x6 4 1 19
   
   
1 4 5 1 11
A := 

 et b :=   ,
  
8 4 1 1 14
   
1 4 3 6 14
qui a pour unique solution x = (1, 1, 1, 1)T ; Si l’on change le second membre par b0 :=
(19.01, 11.05, 14.07, 14.05)T , alors l’unique solution est x0 = (−2.31, 9.745, −4.85, −1.34)T .
Autrement dit, une très faible perturbation de b (b0 = b + ε) a entraînée une très forte perturba-
tion de la solution. Pour "mesurer" la sensibilité d’une matrice aux perturbations, on introduit
la notion de conditionnement.

Cours L3 35 Algèbre ©2022


4.3. Erreurs d’arrondis et conditionnellement

Soient A ∈ Mn (K) inversible et b ∈ Mn,1 (K). Pour ε > 0, on considère la perturbation


suivante de b : :

bε := b + εb1 , où b1 ∈ Mn,1 (K).

On cherche alors à comparer les solutions x et xε ∈ Mn,1 (K) des systèmes

Ax = b et Axε = bε ,

kx − xε k
Pour cela, on va estimer l’erreur relative pour une norme vectorielle k.k fixée. On
kxk
note de même k.k la norme matricielle subordonnée à la norme vectorielle k.k. On a

xε = A−1 bε = A−1 b + εA−1 b1 ,

donc

kxε k ≤ kεkA−1 kkb1 k.


kAk
De plus, Ax = b entraine kbk ≤ kAkkxk, d’où kxk−1 ≤ et on obtient
kbk
kx − xε k kb1 k kb − bε k
≤ εkAkkA−1 k = kAkkA−1 k .
kxk kbk kbk
Ainsi, l’erreur relative sur la solution fait intervenir l’erreur relative commise sur le second
kb − bε k
membre et un terme ne dépendant que de A.
kbk
Définition 4.1. Soit k.k une norme matricielle subordonnée sur Mn (K). On appelle Condition-
nement d’une matrice A ∈ Mn (K) (relativement à k.k), le scalaire

κ(A) = kAkkA−1 k.

Si k.k = k.kp , avec p ∈ {1, 2, ∞}, on notera κ = κp .

Remarque 4.3.1.

1. On a 1 = kIn k = kAkkA−1 ≤ κ(A). Une matrice est dite bien conditionnée si κ(A)
est proche de 1 Cela revient à dire que plus une matrice est bien conditionnée moins
les erreurs d’arrondis sur b provoqueront des erreurs d’arrondis sur x. Par exemple, dans
le cas de l’équation de la chaleur, le second membre b s’obtient en calculant f (x) pour
différentes valeurs de x ce qui n’est pas nécessairement un calcul exact et donc peut être
entaché d’erreurs.

Cours L3 36 Algèbre ©2022


4.3. Erreurs d’arrondis et conditionnellement

2. On peut aussi considérer le cas d’une perturbation donnée par


Aε := A + εA1 . En notant xε la solution de Aε xε = bε , on obtient alors ( voir Td)
l’inégalité suivante :
kx − xε k  kb − b k kA − A k 
ε ε
≤ κ(A) + + O(ε2 ).
kxk kbk kAk
Autrement dit, le conditionnement prend aussi en compte les erreurs d’approximation
pouvant être commises dans le calcul de A (qui dans certaines applications peut ne pas
être un calcul exact).

3. Dans la pratique, on calcule le conditionnement pour l’une des normes vectorielles sui-
vantes : `1 , `2 ou `∞ qui sont notés κ1 , κ2 et κ∞ . Pour faire ces calculs il existe des
algorithmes spécifiques (voir [1]).

4. Lorsqu’une matrice A est mal conditionnée il arrive que l’on utilise un préconditionneur,
i.e. une matrice M telle que M −1 A ait un conditionnement plus proche de 1 que celui de
A. Puis on résout M −1 Ax = M −1 b. Le choix de M est généralement heuristique et fait
de sorte que M soit proche de A et que son inverse soit simple à calculer. Par exemple,
on peut prendre M diagonale de coefficients diagonaux ceux de A, i.e.
M = diag(a11 , · · · , ann ).

Exemple 4.3.2. D’après le devoir de maison, on a


 nπ 
2
sin
2(n + 1) −→
κ(Ah ) =  π  h7→+0 0
2
sin
2(n + 1)
où Ah est donnée par (4.7). est la matrice du laplacien discret. On en déduit que le problème
(4.6). est très mal conditionné.
On donne ci-dessous quelques propriétés du conditionnement κ2 qui se déduisent facilement
des propriétés de la norme k.k2 .

Proposition 4.1. Soit A ∈ Mn (C).

1. Si A est unitaire, κ2 (A) = 1.

2. Pour toute matrice unitaire U ∈ Mn (C), κ2 (AU ) = κ2 (U A) = κ2 (A).


µ1 (A)
3. κ2 (A) = , où µ1 (A) et µr (A) sont la plus grande et la plus petite valeur singulière
µr (A)
de A.

4. Si A est normale κ(A) = ρ(A)ρ(A−1 ).

Cours L3 37 Algèbre ©2022


? ? Chapitre Cinq ? ?

Méthodes directes de résolution des


systèmes linéaires

Dans tout ce chapitre, on étudie la résolution de systèmes linéaires Ax = b, où A ∈ Mn (K)


est inversible et b ∈ Mn,1 (K) par des méthodes directes, i.e. on calcule la solution exacte du
système.

5.1 Algorithme de Gauss


Soient A := (aij )1≤i,j≤n ∈∈ Mn (K)inversible, b := (bj )1≤j≤n ∈∈ Mn,1 (K) et x :=
(xj )1≤j≤n ∈∈ Mn (K) tels que Ax = b. Alors, on a





 a11 x1 + · · · + a1n xn = b1 (L1 )



a21 x1 + · · · + a2n xn

= b2 (L2 )
(5.1)
.. ..
. .







a x + · · · + a x

= bn (Ln )
n1 1 nn n

La méthode de Gauss consiste à réduire (5.1.). sous la forme d’un système triangulaire supé-
rieur en effectuant des opérations sur les lignes (Li ). Puisque A est inversible, chacune de ses
colonnes est non nulle. En particulier, il existe i ∈ {1, · · · , n} tel que ai1 6= 0.
Supposons que a11 6= 0. Alors, on effectue les opérations
ai1
Li → Li − L1 , ∀i = 2, · · · , n.
a11
Le système devient alors

Cours L3 38 Algèbre ©2022


5.1. Algorithme de Gauss


a11 x1 + a12 x2 + · · · + a1n xn = b1 (L1 )





a21

 (2) (2)
a22 x2 + · · · + a2n xn = b2 −


 b1 (L2 )
a11
.. ..
. .





an1

 (2)
an2 x2 + · · · + a(2) = bn −

nn xn b1 (Ln )


a11
qui s’écrit encore A(2) x = b(2) avec
 
  b1
a a . . . a1n a
 
 11 12  b2 − 21 b1 
 

A(2) (2) (2) 
:=  0 a22 · · · a2n 

et b(2) := 
 a11  .
   .
.. 
(2) (2)
0 an2 · · · an2
 
 an1 
bn − b1
a11
Le système ayant une unique solution, A(2) est inversible, d’où
(2) (2)
a22 · · · a2n
.. ..
0 6= det(A(2) ) = a11 . . .
(2) (2)
an2 · · · an2
(2) (2) (2)
En particulier, (a22 , · · · , an2 )T 6= 0 donc il existe i0 ∈ {2, · · · , n} tel que ai0 2 6= 0. On permute
la i0 -ème ligne et la 2-ème ligne, ce qui donne


a11 x1 + a12 x2 + · · · + a1n xn


 = b1 (L1 )



 (2) (2) (2)



 ai 0 2 x 2 + · · · + ai 0 n x n = bi 0 (L2 )


 .. ..
. .


(5.2)
(2) (2) (2) (2)
a22 x2 + ··· + a2n xn = b2 (Li0 )





.. ..





 . .



(2) (2)
an2 x2 + · · · + a(2) (L(2)

nn xn = b2 n )

Ensuite, on effectue les opérations


(2)
(2) (2) ai2
Li → Li − (2)
L1 , ∀i = 3, · · · , n.
ai 0 2

Ce qui donne un système A(3) x = b(3) avec

Cours L3 39 Algèbre ©2022


5.1. Algorithme de Gauss

 
a11 a12 . . . . . . a1n
 
(2) (2) 
0 ai 0 2 · · · · · · ai 0 n 


 
A(3) :=  (3) (3) 
a33 · · · a3n .

0 0
.. .. ..
 
 
 . . . 
 
(3) (3)
0 0 an3 · · · ann

La méthode présentée ci-dessus se résume alors par

1. On pose A(1) := A et b(1) := b.

2. Pour tout k = 1, · · · , n − 1.
(k)
• si akk 6= 0. On effectue
(k)
aik
Li → Li − (k)
Lk , ∀i = k + 1, · · · , n.
akk
Le nouveau système s’écrit A(k+1) x = b(k+1) .
Algorithme 4 Algorithme de Gauss sans permutation
Entrées : A, b
Sorties : x
Pour k = 1 : n − 1 faire
Pour i = k + 1 : n faire
p = aik /akk
Pour j = k : n faire
aij = aij − pakj
fin Pour
fin Pour
x = Remonte (A, b)

(k)
• Sinon soit k0 ∈ {k + 1, · · · , n} tel que ak0 k 6= 0. On permute la k0 -ème ligne et la k-ème
ligne, puis on effectue
(k)
aik
Li → Li − (k)
Lk , ∀i = k + 1, · · · , n.
ak0 k

Le nouveau système s’écrit A(k+1) x = b(k+1) .


Au final, le système A(n−1) x = b(n−1) est triangulaire supérieure et peut être résolu par l’algo-
rithme de remontée.

Cours L3 40 Algèbre ©2022


5.2. Décomposition LU

(k) (k) (k)


Remarque 5.1.1. Á chaque itération, on sépare les cas akk = 0 et akk 6= 0. Ce terme akk est
appelé le Pivot de Gauss à l’étape k. Dans la pratique, il faut décider d’une méthode sur les
(k)
lignes à permuter lorsque akk = 0. La plus employé est l’algorithme de Gauss partiel qui
(k) (k)
consiste à permuter la k-ème ligne avec la i0 -ème ligne telle que |akk | = max |aik |. C’est cet
1≤k≤n
algorithme qui sera traité en Tp.
Dans le cas sans permutation, on aboutit à l’Algorithme 4. Calculons le nombre d’opérations
nécessaires à l’Algorithme 4. Dans la boucle i, on effectue une division, puis n − k + 1 multipli-
cations (n − k multiplications dans Li − cLk et une multiplication pour bi − cbk ). Puis i variant
de k + 1 à n, cela donne

(n − k − 1)(n − k + 2) = (n − k)2 + n − k − 2

opérations. Comme k varie de 1 à n − 1, on obtient


n−1 n−1
X
2
X n(2n − 1)(n − 1) n(n − 1) n3
(n−k) +n−k−2 = k 2 +k−2(n−1) = + −2(n−1) ∼ ,
k=1 k=1
6 2 3
opérations. Autrement dit, la mise sous forme triangulaire du système requiert une complexité
n3 n2
de , la résolution du système par l’algorithme de remontée ayant une complexité de , on
3 3
n3
obtient que l’algorithme de Gauss a pour complexité .
3

5.2 Décomposition LU
Lorsqu’on est amené à résoudre N systèmes linéaires Ax = bi , 1 ≤ i ≤ N , avec la même
n3
matrice A l’Algorithme de Gauss nécessite alors N opérations, ce qui peut devenir très coû-
3
teux si N est grand. Or dans ce cas les opérations effectuées pour chacun des systèmes Ax = bi ,
1 ≤ i ≤ N , sont les mêmes Il est donc plus avantageux d’effectuer une seule fois ces opérations,
les « mémoriser » puis les appliquer à chacun des systèmes. C’est l’objet de la décomposition
LU qui consiste à écrire A comme un produit de deux matrices, l’une comportant toutes les
opérations de l’algorithme de Gauss et l’autre la forme triangulaire supérieure obtenue à la
fin de l’algorithme. Pour cela, on réécrit l’algorithme de Gauss en remplaçant les opérations
effectuées par des multiplications de A par des matrices particulières.

Définition 5.1. Soient k ∈ {1, · · · , n − 1}, `k+1 k, · · · , `nk ∈ R et A ∈ Mn (K). On appelle


matrice élémentaire E (k) toute matrice s’écrivant

Cours L3 41 Algèbre ©2022


5.2. Décomposition LU

 
1
 
..
.
 
 
 
 
 1 
E (k) :=  ,
−`k+1 k 1
 
 
..
 
..
.
 
 . 
 
−`nk 1

les termes n’apparaissant pas étant nuls.

Remarque 5.2.1. Soient k ∈ {1, · · · , n − 1}, `k+1 k, · · · , `nk ∈ R et A ∈ Mn (K). On vérifie


aisément les propriétés suivantes :

1. E (k) A est la matrice obtenue à partir de A en effectuant les opérations Li → Li − `i kLk


pour tout i = k + 1, · · · , n.

2. E (k) est inversible et son inverse est la matrice E (k) où l’on a remplacé `i k par −`i k, pour
tout i = k + 1, · · · , n.

Exemple 5.2.1. En dimension 3, la matrice E (1) effectuant les opérations L2 → L2 − 2L1 et


L3 → L3 − 3L1 est
 
1 0 0
 
E (1) := −2 1 0
 
 
−3 0 1

celle effectuant L3 → L3 − αL2 est


 
01 0
 
E (2) := 0 1 0
 
 
0 −α 1

Leurs inverses sont


   
1 0 0 1 0 0
   
(1) −1 (2) −1
(E ) := 2 1 0 et (E ) := 0 1 0.
   
   
3 0 1 0 α 1

On remarque que l’on a


 
01 0
 
E (1) E (2) := −2 1 0 ,
 
 
−3 −α 1

Cours L3 42 Algèbre ©2022


5.2. Décomposition LU

donc E (1) E (2) effectue toutes les opérations. Par contre E (1) E (2) 6= E (2) E (1) . Mais on a
 
1 0 0
 
(E (1) E (2) )−1 := 2 1 0 ,
 
 
3 α 1

donc (E (1) E (2) )−1 contient toutes les opérations inverses. De manière plus générale, on obtient
le résultat suivant :

Lemme 5.1. Pour tout k ∈ {1, · · · , n − 1}, on pose


 
1
 
 ..
.

 
 
 
 1 
E (k) :=  ,
−`k+1 k 1
 
 
..
 
..
.
 
 . 
 
−`nk 1

où `k+1 k, · · · , `nk ∈ R. Alors, on a


 
1
 
 ... 
 
 
1
 
 
 
(E (k) E (k+1) )−1 :=  .
 
`k+1 k 1
..
 
.
`(k+2)(k+1) k . .
 
 . 
.. ..
 
 
 . . 
 
`nk `n(k+1) 1

En particulier, la matrice (E (n−1) · · · E (2) E (1) )−1 est triangulaire inférieure avec des 1 sur la
diagonale et ses coefficients sous-diagonaux sont les `ij

Définition 5.2. On dit que P ∈ Mn (K) est une matrice de permutation si la multiplication à
gauche( resp. à droite) par P permute des lignes (resp. des colonnes).

Remarque 5.2.2. Toute matrice de permutations s’obtient en permutant les lignes correspon-
dantes dans la matrice identité. Par exemple, la matrice de permutation de la ligne i et de la
ligne k s’obtient en permutant la ligne i et la ligne k de la matrice identité. Avec ces définitions
et notations, l’algorithme de Gauss se réécrit sous la forme suivante :

1. A(1) := A

Cours L3 43 Algèbre ©2022


5.2. Décomposition LU

2. Pour = 1 à n − 1,
(k)
• Si akk 6= 0, on pose
(k)
A(k+1) = Ek A(k) ,
(k)
aik
où `ik = (k)
, pour tout i = k + 1, · · · , n.
akk
(k) (k)
• Si akk = 0, il existe i0 ∈ {k + 1, · · · , n} tel que ai0 k 6= 0. On note B (k) := P (k) A(k) ,
où P (k) est la matrice de permutation des lignes i0 et k, puis on pose
(k)
A(k+1) = Ek B (k) ,
(k)
bik (k) (k) (k) (k)
où `ik = (k)
, pour tout i = k + 1, · · · , n. De plus, bik = aik si i 6= i0 et k, et bi0 k = akk ,
bkk
(k) (k)
bkk = ai 0 k .

En particulier, si le pivot de Gauss ne s’annule jamais, on obtient A(n−1) = E (n−2) · · · E (2) E (1) A.
−1
En posant U := A(n−1) et L := E (n−2) · · · E (2) E (1) . On a A = LU avec U triangulaire su-
périeure et L triangulaire inférieure avec les 1 sur la diagonale.

Définition 5.3. On dit qu’une matrice A ∈ Mn (K) admet une décomposition LU s’il existe une
matrice triangulaire inférieure L (lower) avec des 1 sur la diagonale et une matrice triangulaire
supérieure U (upper) telles que A = LU .

Théorème 5.1. Soit A ∈ Mn (K) inversible. Alors, il existe une matrice de permutations P telle
que P A admet une unique décomposition LU .

Preuve. Pour tout k = 1, · · · , n − 1, on a A(k+1) = E (k) P (k) A(k) , où P (k) permute la ligne k
et une ligne i ≥ k (si i = k, P est la matrice identité). On a

A(n−1) = E (n−2) P (n−2) E (n−3) · · · E (2) P (2) E (1) P (1) A.

On étudie les termes de la forme P (k+1) E (k) P (k) . Puisque P (k+1) P (k+1) = In , on obtient

P (k+1) E (k) P (k) = P (k+1) E (k) P (k+1) P (k+1) P (k) = P (k+1) E (k) P (k+1) Q(k) ,

où Q(k) := P (k+1) P (k) est une matrice de permutations. De plus, si P (k+1) permute la ligne
k + 1 et la ligne i0 , on a

Cours L3 44 Algèbre ©2022


5.2. Décomposition LU

 
1
 
 ..
.

 
 
1
 
 
 
−`k+1 k 1
 
  (k+1)
P (k+1) E (k) P (k+1) = P (k+1) 
.. ..
P
.
 
 . 
 
−`i0 k
 
 1 
..
 
 ... 
 . 
 
−`nk 1
 
1
 
 ..
.

 
 
1
 
 
 
−`i0 k
 
 1  (k+1)
=  .. ..
P
.
 
 . 
 
−`(k+1)k 1
 
 
..
 
..
.
 
 . 
 
−`nk 1
 
1
 
 ..
.

 
 
1
 
 
 
−`i0 k
 
 
=   = F (k) ,
 .. ... 
 . 
 
−`(k+1)k
 
 1 
..
 
..
.
 
 . 
 
−`nk 1

où F (k) est une matrice élémentaire. Par récurrence, on obtient qu’il existe une matrice de
permutations P telle que

A(n−1) = F (n−2) F (n−3) · · · F (2) F (1) P A.

Or les F (k) sont des matrices élémentaires, donc P A = LU avec U := A(n−1) et L :=


−1
F (n−2) F (n−3) · · · F (2) F (1) P A qui est bien triangulaire inférieure avec des 1 sur la diago-
nale. Ce qui montre l’existence. Pour montrer l’unicité, supposons que P A admet deux décom-

Cours L3 45 Algèbre ©2022


5.2. Décomposition LU

positions LU := P A = LU = L0 U 0 . Alors, A, L et L0 sont inversibles donc U et U 0 aussi,


d’où (L0 )−1 L = U 0 U −1 . Or L(L0 )−1 est triangulaire inférieure comme produit de matrices tri-
angulaires inférieures, et, de même, U 0 U −1 est triangulaire supérieure. Donc (L0 )−1 L = U 0 U −1
est diagonale. Puisque L et L0 ont des 1 sur la diagonale et sont triangulaires, (L0 )−1 L aussi.
Autrement dit, (L0 )−1 L est diagonale avec les 1 sur la diagonale, i.e. (L0 )−1 L = In donc L = L0
et U 0 U −1 = In , d’où U = U 0 .
Il reste à déterminer dans quel cas il est possible d’obtenir une décomposition LU sans permu-
tation.

Définition 5.4. Soit A : (aij )1≤i,j≤n ∈ Mn (K). On appelle sous-matrice principale de A


d’ordre k ∈ {1, · · · , n}, la matrice ∆k ∈ Mk (K) donnée par
 
a . . . a1k
 11
. .. 

k
∆ :=  .
 . . .
 
ak1 . . . akk

Théorème 5.2. Soit A ∈ Mn (K). Si toutes les matrices principales ∆k , k = 1, · · · , n de


A sont inversibles, alors A admet une décomposition LU . De plus, si A est inversible, cette
décomposition est unique.

Preuve. L’unicité se montre de la même manière que dans le cas avec permutation. Pour l’exis-
tence, il suffit de prouver qu’à chaque étape de l’algorithme de Gauss le pivot de Gauss est non
(k)
nul, i.e., akk 6= 0, pour tout k = 1, · · · , n − 1. On raisonne par récurrence.
(1)
Pour k = 1, a11 = ∆1 6= 0.
(1) (k)
Supposons a11 · · · akk 6= 0. Alors, on peut effectuer l’algorithme de Gauss sans permutation,
jusqu’à l’itération k + 1 :

A(k+1) = E (k) E (k−1) · · · E (1) A.


−1
On pose L := E (k) E (k−1) · · · E (1) = (`ij )1≤i,j≤n . Alors, L est triangulaire inférieure avec
des 1 sur la diagonale donc inversible et LA(k+1) = A. Ce qui s’écrit en forme par blocs :
   
(k+1) (k+1) (k+1)
L 0 U 0 ∆ 0
   ,
. . . . . .

où L(k+1) := (`ij )1≤i,j≤n est triangulaire inférieure avec des 1 sur la diagonale et la matrice
(k+1)
U (k+1) := (aij )1≤i,j≤k+1 est triangulaire supérieure. On en déduit L(k+1) U (k+1) = ∆k+1
donc

Cours L3 46 Algèbre ©2022


5.2. Décomposition LU

det(U (k+1) ) = det(L(k+1) U (k+1) ) = det(∆k+1 ) 6= 0.


k
Y
(k+1) (i) ((k+1)
Or on a det(U )= aii , d’où a(k+1)(k+1) 6= 0.
i=1

Remarque 5.2.3. D’après la démonstration précédente, si une matrice A ∈ Mn (R) admet une
décomposition LU , alors ses sous-matrices principales ∆k , k = 1, · · · , n vérifient
k
Y
det(∆k ) = uii ∀k = 1, · · · , n,
i=1

où U = (uij )1≤i,j≤n .
On écrit ci-dessous l’algorithme de décomposition LU dans le cas où A admet une décomposi-
tion LU (le cas avec permutation sera fait en Tp). On note
   
0 ... ... 0 u . . . . . . u1n
 11
..  .. 
  
.. ..
. .
 
 `21 .  0 . 
L = In + 
 .. .. .. 
 et U =
 .. .. .. 

 . . .  . . . 
   
`n1 . . . `n(n−1) 0 0 . . . 0 unn
et on pose
 
u ... ... u1n
 11
.. 

 ...
 `21 . 
Y := 
 .. ... .. .

 . . 
 
`n1 . . . `n(n−1) unn
On écrit alors un algorithme qui renvoie la matrice Y = (yij )1≤i,j≤n ( Algorithme 5).

Algorithme 5 Algorithme de décomposition LU


Entrées : A
Sorties : Y
Y =A
Pour k = 1 : n − 1 faire
Pour i = k + 1 : n faire
yik = yik /ykk
Pour j = k + 1 : n faire
yj = yij − yik ykj
fin Pour
fin Pour
fin Pour

Cours L3 47 Algèbre ©2022


5.3. Méthode de Cholesky

L’algorithme de décomposition LU étant juste une réécriture de l’algorithme de Gauss,


n3
celui-ci a une complexité de l’ordre de . Revenons à la résolution de N systèmes linéaires
3
Ax = bi , 1 ≤ i ≤ N , avec la même matrice A. On calcule P, L et U tels que P A = LU (l’algo-
rithme correspondant sera traité en Tp). Alors, on a P Ax = P bi , pour tout 1 ≤ i ≤ N . Ensuite,
n2
pour tout 1 ≤ i ≤ N , on résout Ly = P bi par l’algorithme de descente (donc opérations)
2
puis U x = y par l’algorithme de remontée. Ainsi, par l’utilisation de la décomposition LU , on
n3
obtient une complexité totale de l’ordre de + N n2 , ce qui est beaucoup plus intéressant que
3
n3
la complexité N obtenue en résolvant chaque système par l’algorithme de Gauss.
3

5.3 Méthode de Cholesky


Lemme 5.2. Toute matrice symétrique définie positive admet une unique décomposition LU .

Preuve. Soit A ∈ Mn (R) une matrice symétrique définie positive. Pour tout k = 1, · · · , n,
soit ∆k la sous-matrice principale d’ordre k de A. On fixe k ∈ {1, · · · , n} et on suppose que
∆k n’est pas inversible. Alors, il existe y := (y1 , · · · , yn )T ∈ Mk,1 (R)\{0} tel que ∆k y = 0.
On pose x := (y1 , · · · , yk , 0, · · · , 0) ∈ Mn (R). Alors, on a
n
X k
X
Ax.x = aij xi yj = aij yi yj = ∆k y.y = 0.
i,j=1 i,j=1

Ce qui est impossible, puisque x 6= 0 et A est définie positive. On en déduit que toutes les
sous-matrices principales de A sont inversibles. Donc, d’après le Théorème 5.2., A admet une
unique décomposition LU .

Théorème 5.3. Soit A ∈ Mn (R) une matrice symétrique définie positive. Alors, il existe une
unique matrice B ∈ Mn (R) triangulaire inférieure de coefficients diagonaux strictement po-
sitifs telle que A = BB T . Cette décomposition est appelée la décomposition de Cholesky de
A.

Remarque 5.3.1. La matrice triangulaire inférieure de la décomposition de Cholesky est notée


B pour ne pas la confondre avec la matrice triangulaire inférieure L de la décomposition LU
car on a, en général, L 6= B. L’avantage de la décomposition de Cholesky par rapport à la
décomposition LU est qu’il n’y a qu’une seule matrice à calculer et donc le temps de calcul est
moins important (cela sera justifié plus loin).

Cours L3 48 Algèbre ©2022


5.3. Méthode de Cholesky

Preuve. D’après le lemme (5.2)., A admet une décomposition LU . On note U := (uij )1≤i,j≤n
et, pour tout k = 1, · · · , n, ∆k la sous-matrice principale d’ordre k de A. Soit k ∈ {1, · · · , n}
Y k
fixé. D’après la remarque (5.3)., on a uii = det(∆k ). Or on a det(∆k ) > 0 (voir Td).
i=1
On en déduit uii > 0, pour tout i = 1, · · · , n. On pose
√ √
D := diag( u11 , · · · , unn ), B := LD et C := D−1 U .
√ √
Alors, B est triangulaire inférieure de coefficients diagonaux u11 , · · · , unn qui sont stricte-
ment positifs, en particulier B est inversible. De plus A = LU = BC. Montrons que C = B T .
Puisque A est symétrique, on a

BC = A = AT = C T B T .

donc C(B T )−1 = B −1 C T . Or C et B T sont triangulaires supérieures, alors B −1 et C T sont


triangulaires inférieures. On en déduit que C(B T )−1 = B −1 C T est diagonale. Comme B et
√ √
C ont pour coefficients diagonaux u11 , · · · , unn , B −1 C T a tous ses coefficients diagonaux
égaux à 1, d’où C(B T )−1 = B −1 C T = In , ce qui montre que C = B T .
Il reste à montrer l’unicité. Supposons que A admet deux décompositions de Cholesky A =
B1 B1T = B2 B2T . Alors, on a B2−1 B1 = B2T (B1T )−1 . Comme précédemment, on en déduit que
B2−1 B1 = B2T (B1T )−1 est diagonale égale à D := diag(d1 , · · · , dn ).
On a B1 = B2 D donc A = B2 DDT B2T = B2 B2T . Puisque B2 est inversible, on en déduit
D2 = DDT = In donc d2i = 1, pour tout i = 1, · · · , n. Or B1 et B2 étant triangulaires de
coefficients diagonaux strictement positifs, on a di > 0, pour tout i = 1, · · · , n. Il s’ensuit
D = In , d’où B1 = B2 D = B2 .

Remarque 5.3.2. Contrairement au cas de la décomposition LU , la preuve de l’existence de la


décomposition de Cholesky ne donne pas de méthode de calcul de celle-ci qui soit utilisable en
pratique. En effet, la méthode présente dans la démonstration nécessite de calculer d’abord la
décomposition LU puis de calculer B en effectuant le produit LD ce qui serait finalement plus
couteux que le seul calcul de la décomposition LU .

Soit A ∈ Mn (R) une matrice symétrique définie positive de décomposition de Cholesky


A = BB T . Puisque B est triangulaire inférieure, il n’est nécessaire de ne calculer que la moitié
des coefficients de B (ceux non nuls), de plus chaque colonne de B contient un coefficient non
nul de moins que la précédente. Prenant cela en compte, on va déterminer chaque colonne de B
en connaissant la précédente. Puisque bij = 0 si j > i, de l’égalité A = BB T , on obtient

Cours L3 49 Algèbre ©2022


5.3. Méthode de Cholesky

n min(i,j)
X X
∀i, j = 1, · · · , n, aij = bik bjk = bik bjk .
k=1 k=1

Procédons par récurrence.


Pour la première colonne j = 1, on a

∀i = 1, · · · , n, ai1 = bi1 b11 ,


√ ai1
d’où b11 = a11 et bi1 = , ∀i = 2, · · · , n.
b11
On suppose que l’on connait les j −1 premières colonnes de B et l’on veut déterminer la j−ème
colonne de B. Soit j ∈ {1, · · · , n}.
• Si i = j. On obtient
j−1
X
ajj = b2jj + b2jk
k=1
Les termes bjk pour k = 1, · · · j − 1 appartiennent aux j − 1 premières colonnes de B
donc sont connus. On en déduit v
u
u j−1
X
bjj = ajj −
t b2jk .
k=1
• Si i > j, on a
j j−1
X X
aij = bik bjk = bik bjk + bij bjj .
k=1 k=1
Les termes de la somme et bjj sont connus donc on a
j
X
aij − bik bjk
k=1
bij = .
bjj
Cette procédure de détermination de B donne l’Algorithme 6. À partir de cet algorithme, il est
alors possible de déterminer la complexité du calcul de la décomposition de Cholesky. Le calcul
des termes diagonaux nécessite (j − 1) produits (et une extraction de racine). Celui des termes
non diagonaux nécessite (n − j − 1)j multiplications et divisions. Ainsi, dans la boucle j , il y
a (n − j − 1)j + j − 1 opérations. On en déduit que la complexité du calcul de la décomposition
de Cholesky est de l’ordre de
n
X n2 (n + 1) n(2n + 1)(n − 1) n3 n3 n3
((n − j + 1) + j − 1) = − −n∼ − = .
j=1
2 6 2 3 6
Finalement, le calcul de la décomposition de Cholesky est deux fois plus rapide que celui de
de la décomposition LU . Ainsi, pour une matrice symétrique définie positive, il est préférable
d’utiliser la décomposition de Cholesky.

Cours L3 50 Algèbre ©2022


5.4. Décomposition QR

Algorithme 6 Algorithme de décomposition de Cholesky


Entrées : A
Sorties : Y
B=0
Pour j = 1 : n faire
s=0
Pour k = 1 : j − 1 faire
s = s + b2jk
fin Pour
p
bjj = ajj − s
Pour i = j + 1 : n faire
s=0
Pour k = 1 : j − 1 faire
s = s + bik bjk
fin Pour
bij = (aij − s)/bjj
fin Pour
fin Pour

5.4 Décomposition QR
On finit ce chapitre avec la décomposition QR pour laquelle on énonce seulement le résultat,
celui-ci étant de peu d’intérêt dans le cas de matrices carrées (par rapport aux décompositions
précédentes). Néanmoins, dans le chapitre suivant, on étudiera la généralisation de ce résultat
au cas des matrices rectangulaires où cette méthode présente un grand intérêt.

Théorème 5.4. Soit A ∈ Mn (R) une matrice inversible. Alors, il existe un unique couple de
matrices (Q, R), où Q ∈ Mn (R est unitaire et R ∈ Mn (R est triangulaire supérieure de
coefficients diagonaux strictement positifs tel que A = QR. Cette décomposition est appelée la
décomposition QR de A.

Schéma de la preuve. Soient c1 , · · · , cn les colonnes de A. Alors {c1 , · · · , cn } est une base
de Rn . On applique le procédé d’orthonormalisation de Gramm-Schmidt : on pose
i−1
X e˜i
∀i = 1, · · · , n e˜i := ci − (ci , ej )ej et ei := .
j=1
ke˜i k2

Cours L3 51 Algèbre ©2022


5.4. Décomposition QR

On définit Q comme étant la matrice de colonnes e1 , · · · , en et R comme étant la matrice de


coefficients rij tels que rij = 0 si i > j rii := ke˜i k2 et rij = (ei , cj ) si i < j. On vérifie alors
que A = QR.
Exercice 5.18. Écrire l’algorithme de décomposition QR correspondant à la démonstration
décrite ci-dessus. En déduire que ce calcul de la décomposition QR a une complexité de l’ordre
de n3 .

Remarque 5.4.1. Le calcul de la factorisation QR ayant une complexité de l’ordre de n3 ce


qui est trois fois supérieur à la décomposition LU , celle-ci n’est pas compétitive. De plus, le
procédé d’orthonormalisation de Gramm-Schmidt est très sensible aux erreurs d’arrondis du fait
de la division par ke˜i k2 . qui peut être très petit. Cette méthode est donc inutilisable en pratique.

Cours L3 52 Algèbre ©2022


? ? Chapitre Six ? ?

Problème des moindres carrés

Ce chapitre est consacré à la résolution des problèmes Ax = b avec A ∈ Mm,n (R) et


b ∈ Mm,1 (R), avec m > n.

6.1 Équation normale et propriétés


On rappelle (voir chapitre 4 ) que, pour A ∈ Mm,n (R) et b ∈ Mm,1 (R), on dit que x ∈
Mn,1 (R) est solution aux moindres carrés de Ax = b s’il vérifie

kAx − bk2 = min kAy − bk2 . (6.1)


y∈Mn,1 (R)

Lemme 6.1. Soient A ∈ Mm,n (R) et b ∈ Mm,1 (R). Alors, x ∈ Mn,1 (R) est solution de (6.1).
si et seulement si x satisfait l’équation normale

A∗ Ax = A∗ b. (6.2)

Preuve. Supposons que x ∈ Mn,1 (R) est solution de (6.1).. Alors,

∀y ∈ Mn,1 (R)kAx − bk2 ≤ kAy − bk2 .

Soient z ∈ Mn,1 (R) et t ∈ R. En posant y := x − tz, on obtient

kAy − bk22 = (Ay − b, Ay − b)2 = (Ax − tAz − b, Ax − tAz − b)2

= kAx − bk22 + t2 kAzk22 − 2t(Az, Ax − b).

On en déduit que t2 kAzk22 − 2t(Az, Ax − b) ≥ 0. En prenant t > 0 et en divisant par t on a


tkAzk22 − 2(Az, Ax − b) ≥ 0. Alors, en faisant tendre t vers 0, on obtient (Az, Ax − b)2 ≤ 0.
Le même raisonnement avec t < 0 entraine (Az, Ax − b)2 = 0, d’où (A∗ Ax − A∗ b, z)2 = 0,
pour tout z ∈ Mn,1 (R). Donc A∗ Ax − A∗ b = 0. Réciproquement, soit x ∈ Mn,1 (R) solution

Cours L3 53 Algèbre ©2022


6.1. Équation normale et propriétés

de (6.2).. Alors, pour tout z ∈ Mn,1 (R), on a (A∗ Ax − A∗ b, z)2 = 0. Soit y ∈∈ Mn,1 (R) et
t ∈ R. Il existe z ∈∈ Mn,1 (R) tel que y := x − tz, on obtient

kAy − bk22 = kAx − bk22 + t2 kAzk22 − 2t(Az, Ax − b) = kAx − bk22 + t2 kAzk22 − 2t(z, A∗ Ax − A∗ b)

= kAx − bk22 + t2 kAzk22 ≥ kAx − bk22 .

On en déduit que x est bien solution de (6.1)..

Théorème 6.1. Soient A ∈ Mm,n (R) et b ∈ Mm,1 (R). Alors, il existe au moins une solution
x ∈ Mn,1 (R) de (6.1).. De plus, cette solution est unique si et seulement si Ker(A) = {0}.

Preuve. On a Ker(A) = Ker(A∗ A). En effet, si x ∈ Ker(A), alors Ax = 0 et donc A∗ Ax =


0. De plus, si x ∈ Ker(A∗ A), kAxk22 = (Ax, Ax)2 = (A∗ Ax, x)2 = 0.
Le problème (6.1). a une solution si et seulement si l’équation normale a une solution. Or
l’équation normale a une solution si et seulement si A∗ b ∈ Im(A∗ A). Autrement dit, puisque
A∗ b ∈ Im(A∗ ), il suffit de montrer que Im(A∗ ) ⊂ Im(A∗ A). D’autre part, on a Im(A∗ ) =
Ker(A)⊥ donc

Mm,1 (R) = Ker(A)


M
Im(A∗ ).

D’autre part, puisque A∗ A est hermitienne, on a

Mm,1 (R) = Ker(A∗ A)


M
Im(A∗ A).

Puisque Ker(A) = Ker(A∗ A) et Im(A∗ A) ⊂ Im(A∗ ), on a Im(A∗ ) = Im(A∗ A). Ce qui


donne l’existence d’une solution. On a unicité de la solution si et seulement si A∗ A est inver-
sible, d’où Ker(A) = Ker(A∗ A) = {0}.

Dans la pratique, pour résoudre le problème (6.1.1)., on résout l’équation (6.1.2).. Pour
cela, il faut d’abord calculer A∗ A. Puisque A∗ A est symétrique, il suffit de calculer sa partie
mn(n + 1)
triangulaire supérieure, soit opérations. Puis, il faut calculer A∗ b ce qui nécessite
2
n3
mn opérations. Ensuite, l’application de l’algorithme de Gauss demande opérations, soit un
3
3
mn(n + 1) n
total de + opérations.
2 3
De plus, si Ker(A) = {0}, alors A∗ A est symétrique et définie positive ( voir Td). On peut alors
mn(n + 1) n3
utiliser la décomposition de Cholesky de A∗ A, ce qui nécessite + opérations.
2 6
La méthode QR va nous permettre de réduire ce nombre d’opérations en ne calculant pas le
produit A∗ A.

Cours L3 54 Algèbre ©2022


6.2. Méthode QR, algorithme de Householder

6.2 Méthode QR, algorithme de Householder


Supposons que A ∈ Mm,n (R) admet une décomposition QR, i.e. il existe Q ∈ Mm (R)
unitaire et R ∈ Mm,n (R) triangulaires supérieures telles que A = QR. Alors, on a

A∗ A = R∗ Q∗ QR = R∗ R.

Donc A∗ Ax = A∗ b équivaut à R∗ Rx = R∗ Q∗ b. Ainsi, la résolution de A∗ Ax = A∗ b se ramène


à celle de Rx = Q∗ b, où R est triangulaire supérieure et Q unitaire. En particulier, il n’est plus
nécessaire de calculer A∗ A ce qui était l’étape la plus couteuse dans la résolution de l’équation
normale. Il reste à déterminer si une telle décomposition est possible et, si oui, quelle est sa
complexité. On donne d’abord l’idée de l’algorithme de Householder : on pose
 
a11 . . . a1n
 
 
(1)
 a22 a2n 
A := A =  . 
..  .

 . . . 
 
am1 . . . amn

Afin de transformer A en une matrice triangulaire supérieure, on multiplie A(1) par une matrice
unitaire H (1) ∈ Mm (R) telle que la première colonne (a11 , a21 , · · · , am1 )T de A est changée en
(c, 0, · · · , 0)T , où c ∈ R. On obtient
 
(2) (2)
c a12... a1n
 
0 a(2) (2) 

22 a2n 
A(2) := H (1) A(1) =
 .. .. ..  .

. . . 
 
(2)
0 am2 . . . amn
Ensuite on ré-effectue la première étape sur la sous matrice
 
(2) (2)
a22 . . . a2n
 .. .. 
 
 . . 
 .. ..  .
 
 . . 
 
(2) (2)
am2 . . . amn

On obtient alors au bout de (n + 1) itérations une matrice triangulaire supérieure R, la matrice


unitaire Q associée s’obtient par multiplication des matrices unitaires H (k) . La particularité de
cet algorithme réside dans le choix des ces matrices H (k) .

Définition 6.1. Soit v ∈ Rn \{0}. La matrice de Householder H(v) ∈ Mn (R) associée à v est
la matrice définie par

Cours L3 55 Algèbre ©2022


6.2. Méthode QR, algorithme de Householder

v⊗v
H(v) := In − 2 ,
kv|22
vi vj
i.e. H(v) a pour coefficients hij (v) = δij − 2 , pour tout i, j = 1, · · · , n. Pour v := 0, on
kv|22
pose H(v) := In .

Lemme 6.2. Soient v ∈ Rn \{0} et H(v) sa matrice de Householder associée.

1. H(v) est symétrique et unitaire.

2. Soit e ∈ Rn avec kek2 = 1. Si v 6= ±kvk2 e (v non colinéaire avec e), alors on a

H(v + kvk2 e)v = −kvk2 e et H(v − kvk2 e)v = kvk2 e.

Preuve. Le point 1. sera montré en Td. Dans la suite, on notera . le produit scalaire de Rn au
lieu de (., .)2 . Pour le point 2, on remarque d’abord que, pour tout u, v ∈ Rn , on a
n
X n
X

∀i = 1, · · · , n, (u ⊗ w)v) i = (u ⊗ w)ik vk = ui wk vk = ui (w.v).
k=1 k=1

En particulier, (u ⊗ u)v = (u.v)u. On en déduit


(v +kvk2 e)⊗(v +kvk2 e)v = ((v +kvk2 e).)(v +kvk2 e) = (kvk22 +kvk2 e.v)(v +kvk2 e).

De plus, on a
kv + kvk2 ek22 = (v + kvk2 e).(v + kvk2 e) = kvk22 + 2kvk2 e.v + kvk22 = 2(kvk22 + kvk2 e.v).
Donc on obtient

H(kv + kvk2 e)v = v − (kv + kvk2 e) = −kvk2 e.

L’autre cas se traite de la même manière.

Théorème 6.2. Soient A ∈ Mm,n (R) avec m ≥ n. Alors, il existe une matrice unitaire Q ∈
Mm (R) et une matrice triangulaire supérieure R ∈ Mm,n (R) telles que A = QR.

Preuve. La démonstration qui suit est ce que l’on appelle l’algorithme de Householder. Le
principe de cet algorithme est de construire une famille H (k) ∈ Mn (R) de matrices de House-
holder et une famille A(k) ∈ Mm,n (R), k = 1, · · · , n + 1, telles que

A(1) := A, A(k+1) = H (k) A(k) et A(n+1) = R,

où R est triangulaire supérieure. On obtient alors R = H (n) H (n−1) · · · H (1) A. Puisque toute
matrice de Householder est unitaire, Q := (H (n) H (n−1) · · · H (1) )T est unitaire et A = QR.
L’ingrédient essentiel dans le choix de ces matrices de Householder est le Lemme 6.2..
Étape 1.

Cours L3 56 Algèbre ©2022


6.2. Méthode QR, algorithme de Householder

On pose A(1) : A. On note a1 la première colonne de A et {e1 , · · · , em } la base canonique de


Mm (R).
• Si a1 = (a11 , 0, · · · , 0)T , i.e. a1 = ±ka1 ke1 , on pose H (1) = Im .
• Si a1 6= ±ka1 ke1 , on pose H (1) := H(a1 + ka1 ke1 ) ∈ Mm (R). Alors, d’après le lemme
(6.2)., on a H (1) a1 = −ka1 ke1 = (−ka1
k, 0, · · · , 0)T . Ensuite, on
 pose
−ka1 k · · · · · · · · ·
 
 
 0 
A(2) := H (1) A(1) =
 ..
.

 . 
 
0 ... ... ...
Étape k. (2 ≤ k ≤ n)
On suppose avoir construit A(k) telles que les (k − 1) premières colonnes de A(k) ont des zéros
sous la diagonale. Montrons que l’on peut construire A(k+1) telle que les k premières colonnes
de A(k+1) ont des zéros sous la diagonale. On note
 
(k)
a
 11 
 0 a(k)
 
12 
 ..
  
...

(k)


 . 0  S
A(k) =  ..
= ,
(k)
0 B (k)

 . 0 akk 
 .. ..
 

 . . 
 
(k) (k)
0 . . . 0 amk . . . amn

où S (k) ∈ Mk−1 (R) est triangulaire supérieure et B (k) ∈ Mn−k+1)(m−k+1)( (R). On va utiliser la
(k)
même méthode qu’à l’étape 1 par blocs en considérant la matrice B (k) . Si on note ak la k-ème
colonne de A(k) et b(k) la 1-ère colonne de B (k) , on a
   
(k) (k)
a a
 1k   1k 
 ..   .. 
(k)
 .   . 
ak =   ..  =  (k) 
  
 .  a(k−1)k 
   
(k)
amk b(k)
(k)
• Si b(k) = (akk , 0, · · · , 0)T , il n’y a rien à faire et donc on pose H (k) := Im .
e1 ∈ Mm−k+1 (R) puis
(k) 
• Sinon on pose H := H b(k)+ kb(k) k2 
Ik−1 0
H (k) =   et A(k+1) = H (k) A(k) ,
0 H
où e1 est le premier vecteur de la base canonique de Mm−k+1,1 (R). Alors, on a
(k)

Cours L3 57 Algèbre ©2022


6.2. Méthode QR, algorithme de Householder

    
(k) (k)
Ik−1 0 S • S •
A(k+1) =   = .
0 H • B (k) • HB (k)
(k)  (k) (k)
Or la première colonne c(k) de HB (k) est H b(k) + kb(k) k2 e1 b = −kb(k) k2 e1 ,
donc la k-ème colonne de A(k+1) est  
(k)
a1k
..
 

.

 
 
 (k)
a(k−1)(k−1) 

 
(k+1) (k)
ak =  −kb k2 .
 
 
 
 0 
..
 
 
 . 
 
0
Ainsi, les k premières colonnes de A(k+1) sont nulles sous la diagonale. Lorsque k = n,
on obtient donc que R := A(n+1) est triangulaire supérieure.
L’algorithme de Householder présenté dans la démonstration peut s’écrire en langage
Scilab :
[m,n]=size(A) ; //m>=n
for k=1 :n
v=A(k :m,k) ; //v est de taille m-k+1
e=eye(m-k+1,1) ; // 1er vecteur de base en dimension m-k+1
H=H(v+norm(v)*e) ;
A(k :m,k :n)=H*A(k :m,k :n) ;
end

Cours L3 58 Algèbre ©2022


6.2. Méthode QR, algorithme de Householder

Algorithme 7 Algorithme de Householder de décomposition QR


Entrées : A
Sorties : R
R=A
Pour k = 1 : n faire
v = (rkk , · · · , rmk )T ;
e = (1, · · · , 0)T ∈ Mm−k+1,1 (R) ;
α = −kvk2 si v1 ≥ 0 ou kvk2 si v1 ≤ 0 ;
β := α2 − αv1 ;
v1 = v1 − α ;
Pour j = k : n faire
1
γ = v T (rkj , · · · , rmj )T ;
β
(rkj , · · · , rmj )T = (rkj , · · · , rmj )T − γv ;
fin Pour
fin Pour

Cet algorithme peut être amélioré en tenant compte de la forme particulière des matrices H. On
remarque que, pour tous vecteurs b, ω ∈ Mk,1 (R), on a
2
H(ω)b = b − (ω.b)ω.
kωk2
Ainsi, pour calculer les produits H(ω)B, où B est une matrice, il suffit de calculer ω et kωk puis
d’effectuer les produits H(ω)b, pour chaque colonne b de B, en utilisant l’égalité précédente.
De plus, pour ω := v + kvke1 , on a

kωk2 = (ω, ω) = 2(kvk2 + kωk(v, e1 )) = 2(kvk2 + kvkv1 ).

Une méthode de calcul possible est alors :


− α := −kvk2 si v1 ≥ 0, α := +kvk2 si v1 ≤ 0,
− β := α2 − αv1 ,
− ω1 := v1 − α, ωi = vi , si 2 ≤ i ≤ m − k + 1.
1
− Pour chaque colonne b de B, H(ω)b = b − (ω.b)ω.
β
On obtient l’Algorithme 7 (l’algorithme complet renvoyant aussi la matrice Q sera effectué
en Tp). Remarquons que le choix du signe de α est fait de sorte que β soit le plus grand possible
pour diminuer les erreurs d’arrondis. On peut alors calculer la complexité de l’Algorithme de

Cours L3 59 Algèbre ©2022


6.2. Méthode QR, algorithme de Householder

Householder. Dans la boucle j , on effectue de l’ordre de 2(m − k + 1) multiplications. Dans la


boucle k, les calculs précédents la boucle j nécessitent de l’ordre de m − k + 1 multiplications.
La complexité de l’algorithme est alors de l’ordre de
n
X n
X
2(n − k)(m − k + 1) + 2(m − k + 1) = 2 (n − k)(m − k + 1) + (m − k + 1)
k=1 k=1
n−1
X n−1
X
2
= 2n m − 2(n + m) k + +2 k2
k=1 k=1
n(n − 1)(2n − 1)
= 2n2 m − (n + m)n(n − 1) +
3
n3
∼ 2n2 m − n2 m − n3 +
3
n3
= mn2 − .
3

En particulier, la méthode est moins coûteuse que le calcul de A∗ A suivie de la méthode de


2n3
Cholesky. Par contre lorsque m = n, on obtient une complexité de ce qui est deux fois plus
3
lent que l’algorithme de Gauss.

Remarque 6.2.1. Les matrices de Householder servent aussi dans le calcul numérique de va-
leurs propres. De plus, il existe une autre méthode de calcul de la décomposition QR où les
matrices de Householder sont remplacées par des matrices de rotation, il s’agit de la méthode
de Givens.

Cours L3 60 Algèbre ©2022


? ? Chapitre Sept ? ?

Méthodes itératives de base

Dans tout ce chapitre, on considère le système linéaire

Ax = b, (7.1)

où A ∈ Mn (R) est inversible et b ∈ Mn,1 (R). Une méthode itérative de résolution de (7.1).
est une méthode numérique de calcul d’une suite (xk )k∈N convergeant, lorsque k → +∞ vers
la solution x de (7.1).. Dans ce cours, on ne considéra que le cas de suites définies par une
récurrence simple i.e. xk est construit à partir de xk−1 ( et non de xk−2 , xk−3 , · · · ,).

7.1 Présentation des méthodes


Soit x ∈ Mn,1 (R) la solution de (7.1).. On suppose la diagonale de A inversible, i.e. aii 6= 0,
pour tout i = 1, · · · , n. On a
X
aii xi + aij xj = bi , ∀i = 1, · · · , n.
j6=i

donc, puisque la diagonale de A est inversible,


1 X 
xi = bi − aij xj , ∀i = 1, · · · , n.
aii j6=i

La méthode de Jacobi consiste à construire la suite (xk )k∈N de Mn,1 (R) en posant

x ∈ Mn,1 (R)

 0

k+1 1 X
k

 x
 i = b i − a ij j ,
x ∀i = 1, · · · , n.
aii

j6=i

Il est clair que si la suite (xk )k∈N converge alors celle-ci converge vers la solution x de (7.1)..
Si l’on note D la diagonale de A, la méthode de Jacobi s’écrit xk+1 = D−1 (b − (A − D)xk ),
soit encore

Cours L3 61 Algèbre ©2022


7.2. Cadre général


x0 ∈ Mn,1 (R)

Dxk+1 = (D − A)xk + b,

∀i = 1, · · · , n.

Supposons avoir construit le vecteur xk par la méthode de Jacobi. Le calcul de xk+1 se fait
alors cordonnée par coordonnée en utilisant seulement le vecteur xk . Il serait plus intéressant de
calculer chaque coordonnée xk+1
i , 1 ≤ i ≤ n, en faisant appel au vecteur xk et aux coordonnées
xk+1
j , 1 ≤ j ≤ i, déjà calculées. Partant de la formule
1 X X 
xi = bi − aij xj − aij xj ,
aii j<i j>i

On obtient la méthode de Gauss-Seidel en posant



x ∈ Mn,1 (R)

 0

k+1 1 X
k
X 
 x
 i = b i − a x
ij j − a ij j ,
x ∀i = 1, · · · , n.
aii

j<i j>i

Si l’on note −E (resp. −F ) la partie triangulaire inférieure (resp. supérieure) stricte de A, de


sorte que A = D − E − F , la méthode de Gauss-Seidel s’écrit Dxk+1 = b + Exk+1 + F xk , soit
encore

x0 ∈ Mn,1 (R)

(D − E)xk+1 = F xk + b.

En particulier, on remarque que les deux méthodes s’écrivent sous la forme



x0 ∈ Mn,1 (R)

M xk+1 = M xk + b,

où A = M − N . Dans la section suivante, on va étudier l’ensemble des méthodes itératives


s’écrivant sous cette forme générale. On en déduira des résultats de convergence des méthodes
Jacobi et de Gauss-Seidel.

7.2 Cadre général


Définition 7.1. Soit A ∈ Mn (R) inversible. On appelle décomposition régulière ( ou splitting)
de A un couple M, N ∈ Mn (R), avec A inversible tel que

A = M − N. (7.2)

Cours L3 62 Algèbre ©2022


7.2. Cadre général

La méthode itérative basée sur la décomposition (7.2.). est définie par



x0 ∈ Mn,1 (R)

(7.3)
M xk+1 = N xk + b,

Remarque 7.2.1. La méthode (7.3). permet de bien résoudre (7.1).. En effet, si la suite (xk )k∈N
converge vers x dans Mn,1 (R), on a M x = N x + b, donc Ax = M x − N x = b.

Définition 7.2. Soient A ∈ Mn (R) inversible de décomposition régulière A = M − N et


(xk )k∈N la suite définie par (7.3).

1. On dit que la méthode itérative est convergente si, pour tout x0 ∈ Mn,1 (R), la suite
(xk )k∈N converge vers la solution exacte x de (7.1)..

2. On appelle erreur à l’itération k ∈ N, le vecteur

ek := x − xk . (7.4)

En particulier, une méthode itérative converge si et seulement si l’erreur converge vers 0.


Soient A ∈ Mn (R) inversible de décomposition régulière A = M − N et (xk )k∈N et (xk )k∈N
la suite définie par (7.3).. Si l’on pose L := M −1 N , on a

∀k ∈ N, xk+1 = Lxk + M −1 b.

On dit que L est la matrice d’itération de la méthode itérative. Cette matrice permet de caracté-
riser la convergence de la méthode.

Théorème 7.1. Une méthode itérative converge si et seulement si sa matrice d’itération L


vérifie ρ(L) < 1.

Remarque 7.2.2. Dans la pratique le calcul du rayon spectral peut être particulièrement com-
pliqué puisqu’il nécessite de calculer les valeurs propres. Ainsi, il est préférable d’utiliser le
résultat du Lemme 3.1. qui affirme que ρ(L) < 1 si et seulement s’il existe une norme subor-
donnée k.k telle que kLk < 1.

Preuve. oient A ∈ Mn (R) inversible de décomposition régulière A = M − N et (xk )k∈N et


(xk )k∈N la suite définie par (7.3).. l’erreur à l’itération k + 1 est donnée par

ek+1 = x − xk+1 = x − M −1 N xx − M −1 b.

Cours L3 63 Algèbre ©2022


7.2. Cadre général

On a Ax = b donc M x = b + N x = et x = M −1 b + M −1 N x, d’où
ek+1 = x − M −1 b + M −1 N xk + M −1 N x = M −1 N (x − xk ) = M −1 N ek .
On en déduit
∀k ∈ N, ek = (m−1 N )k e0 . (7.5)

D’après le Lemme 3.1., la suite (ek )k∈N converge vers 0 si et seulement si ρ(M −1 N ) < 1.

Lorsque A est hermitienne définie positive, on obtient une caractérisation plus simple.

Théorème 7.2. Soient A ∈ Mn (R) hermitienne définie positive de décomposition régulière


A = M − N . Alors, la matrice M ∗ + N est hermitienne. De plus, si M ∗ + N est définie
positive, alors la méthode itérative associée à la décomposition A = M − N converge.

Preuve. On a
(M ∗ + N )∗ = M + N ∗ = A + N + N ∗ = A∗ + N + N ∗ = M ∗ − N ∗ + N + N ∗ = M ∗ + N .
Donc M ∗ +N est hermitienne. Puisque A est hermitienne définie positive, l’application (x, y) 7→
(Ax, y)2 est un produit scalaire sur Rn de norme associée

∀x ∈ Rn , |x|A := (Ax, x)2 .


p

On note k.kA la norme subordonnée sur Mn (R) associée à la norme vectorielle |.|A . On va
montrer que kM −1 N kA < 1, ce qui donne le résultat. Soit x ∈ Rn avec |x|A = 1 telle que
kM −1 N kA = |M −1 N |A . Puisque N = M − A, en posant y := M −1 Ax (ou Ax = M y), on
obtient

|M −1 N x|2A = (AM −1 N x, M −1 N x)2 = (AM −1 (M − N )x, M −1 (M − A)x)2

= (Ax − AM −1 Ax, x − M −1 Ax)2

= (Ax, x)2 − (Ax, M −1 Ax)2 − (AM −1 A, x)2 + (AM −1 Ax, M −1 Ax)2

= |x|2A − (Ax, M −1 Ax)2 − (M −1 Ax, Ax)2 + (M −1 Ax, AM −1 Ax)2

= |x|2A − (M y, y)2 − (y, M y)2 + (y, Ay)2 = 1 − (M y, y)2 − (y, N y)2

= 1 − (y, (M ∗ + N )y)2 .

Lorsque M ∗ + N est définie positive on a (y, (M ∗ + N )y)2 > 0 pour tout y 6= 0, d’où
|M −1 N x|2A < 1. De plus, y 6= 0, puisque y = M −1 Ax avec x 6= 0 et M −1 A inversible.

Cours L3 64 Algèbre ©2022


7.3. Application aux méthodes de Jacobi et Gauss-Seidel

7.3 Application aux méthodes de Jacobi et Gauss-Seidel


Soit A := (aij )1≤i,j≤n ∈ Mn (R) inversible. On note D ∈ Mn (R) sa diagonale, i.e. D =
(aii )1≤i,j≤n δij et −E (resp. −F ) sa partie triangulaire inférieure (resp. supérieure) stricte, de
sorte que A = D − E − F . On rappelle ci-dessous les définitions des méthodes de Jacobi et
Gauss-Seidel vues dans la première section.

Définition 7.3. Supposons A inversible.

1. La méthode de Jacobi est la méthode itérative associée à la décomposition régulière


A = M − N avec M := D et N := D − A. Sa matrice d’itération est notée J :

J := M −1 N = In − D−1 A.

2. La méthode de Gauss-Seidel est la méthode itérative associée à la décomposition régu-


lière A = M − N avec M := D − E et N := F . Sa matrice d’itération est notée
JGS :

JGS := M −1 N = In − (D − E)−1 A.

Proposition 7.1. On suppose A à diagonale strictement dominante, i.e.


X
∀i = 1, · · · , n, |aii > |aij |.
j6=i

Alors, A et D sont inversibles et les méthode de Jacobi et Gauss-Seidel convergent.

Preuve. Le fait que A est inversible a été vu en Td. La matrice D étant diagonale, elle est
inversible si et seulement si aii 6= 0, ∀i ∈ {1, · · · , n}. Or on a
X
∀i = 1, · · · , n, |aii > |aij |.
j6=i

Donc D est inversible.


1. Pour la convergence de la méthode de Jacobi, on va montrer que kJ k∞ < 1, ce qui donne le
aij
résultat. On note J := (bij )1≤i,j≤n . Pour tous i, j ∈ {1, · · · , n}, on a bij = δij −
aii
donc, pour tout i ∈ {1, · · · , n}, on obtient
n n n n
X X aij X aij X
|bij | = |δij − |= | | = |aii |−1 |aij | < 1,
j=1 j=1
aii j=1
a ii j=1

car A est à diagonale strictement dominante. On en déduit


Xn
kJ k∞ = max |bij | < 1,
1≤i≤n
j=1

Cours L3 65 Algèbre ©2022


7.3. Application aux méthodes de Jacobi et Gauss-Seidel

d’où le résultat.
2. Pour la méthode de Gauss-Seidel, on montre aussi que kLGS k∞ < 1. Soit x ∈ Mn,1 (R)\{0}
et y := LGS x. Alors, y = M −1 N x donc M y = N x, d’où (D − E)y = F x, ce qui donne
X X X X 
∀i = 1, · · · , n , aii yi = aij yj − aij yj = − aij yj + aij yj .
j≤i j<i j>i j<i

Soit i0 ∈ {1, · · · , n} tel que kyk∞ = |yi0 |. Alors, on a


X X X X
|ai0 i0 ||yi0 | ≤ |ai0 j ||xj | + |ai0 j ||yj | ≤ kxk∞ |ai0 j | + kyk∞ |ai0 j |
j>i0 j<i0 j>i0 j<i0

d’où
 X  X
|ai0 i0 | − |ai0 j | kyk∞ ≤ kxk∞ |ai0 j |.
j<i0 j>i0

Puisque A est diagonale et strictement dominante, on a


X  X −1
c := |ai0 j | |ai0 i0 | − |ai0 j | < 1.
j>i0 j<i0

Ainsi, on obtient

kLGS k∞ = kyk∞ ≤ ckxk∞ .

On en déduit kLGS k∞ < 1.

Proposition 7.2. On suppose A symétrique définie positive. Alors, la méthode de Gauss-Seidel


converge.

Preuve. Il suffit de montrer que M ∗ + N est définie positive. Puisque A est symétrique, on a
E ∗ = F . De plus, A étant définie positive on a

∀i = 1, · · · , n, aii = (Aei , ei )2 > 0,

où {e1 , · · · , en } est la base canonique de Rn . Ainsi, D est définie positive (donc inversible). On
obtient

M ∗ + N = (D − E)∗ + F = D∗ − E ∗ + F = D,

d’où M ∗ + N est définie positive.

Cours L3 66 Algèbre ©2022


7.4. Implémentation

7.4 Implémentation
Dans la suite, on considère A ∈ Mn (R) inversible de décomposition régulière A := M − N
et on note (xk )k∈N la suite définie par la méthode itérative associée à cette décomposition. Pour
la programmation des méthodes itératives, il est nécessaire de définir un critère d’arrêt, i.e.
stopper le calcul de l’approximation xk lorsque celle-ci est suffisamment correcte.
Le choix immédiat serait évidement d’arrêter le calcul lorsque kx − xk k2 < ε, où ε > 0 est
un petit paramètre fixé. La solution x étant l’inconnue à déterminer cela n’est pas possible. Or
puisque x doit vérifier Ax = b, donc kAx − bk2 = 0. On peut considérer le critère d’arrêt
kAxk − bk2 < ε.

Définition 7.4. On appelle résidu d’ordre k, k ∈ N, le vecteur rk ∈ Mn,1 (R) donné par

∀k = 1, · · · , n, rk := b − Axk .

Soit k ∈ N. La suite (xk )k∈N vérifie

M xk+1 = N xk + b = N xk + rk + Axk = M xk + rk ,

d’où xk+1 = xk + M −1 rk .
C’est cette dernière égalité qui sera utilisée pour la programmation de la méthode itérative. Pour
éviter le calcul de M −1 , on pose y := M −1 rk de sorte que y est solution de M y = rk .
Ainsi, il est nécessaire que la matrice M soit telle que la résolution de ce système soit simple.
On obtient alors l’Algorithme 8.
Dans la pratique, on ajoute une condition d’arrêt sur le nombre d’itérations pour éviter un trop
grand nombre de calculs (voir les deux algorithmes suivant). L’Algorithme 8 appliqué aux cas
des méthodes de Jacobi et Gauss-Seidel (avec itération maximale) donne les algorithmes 9 et
10. On termine ce chapitre sur la question de la complexité de ces méthodes

• Le calcul de krk2 nécessite n opérations.

• Le calcul de y nécessite
− n opérations pour la méthode de Jacobi,
n2
− pour la méthode de Gauss-Seidel.
2
• Le calcul de Ax demande n2 opérations.
3n2
On obtient ainsi une complexité maximale de l’ordre de par itération. Ainsi, si le nombre
2
d’itérations est petit devant n les méthodes itératives sont moins couteuses que les méthodes

Cours L3 67 Algèbre ©2022


7.4. Implémentation

directes.

Algorithme 8 Algorithme général des méthodes itératives


Entrées : A, b, x0 , ε
Sorties : x
x = x0
r = b − Ax
Tant que krk2 ≥ 0 faire
Calculer y solution de M y = r
x=x+y
r = b − Ax
fin Tant que

Algorithme 9 Algorithme de Jacobi


Entrées : A, b, x0 , ε, kmax
Sorties : x
k=1
x = x0
r = b − Ax
Tant que (krk2 ≥ 0) & (k < kmax ) faire
Pour i = 1 : n faire
ri
xi = xi +
aii
fin Pour
r = b − Ax
k =k+1
fin Tant que

Cours L3 68 Algèbre ©2022


7.4. Implémentation

Algorithme 10 Algorithme de la méthode de Gauss-Seidel


Entrées : A, b, x0 , ε, kmax
Sorties : x
k=1
x = x0
r = b − Ax
T = tril(A)
Tant que (krk2 ≥ 0) & (k < kmax ) faire
Pour i = 1 : n faire
y = Descente (T, r)
x=x+y
r = b − Ax
k =k+1
fin Tant que

Cours L3 69 Algèbre ©2022


? ? Chapitre Huit ? ?

Introduction à l’optimisation et algorithme


du gradient

Les problèmes d’optimisation sont les problèmes de la forme suivante :



 Trouver x ∈ F tel que

(8.1)
J(x) = inf J(y),

y∈F

où E est un espace vectoriel, F un sous-espace vectoriel de E et J : E → R une fonction


donnée.
Lorsque F 6= E, on parle d’optimisation sous contraintes (le fait que x0 soit dans F entraîne
que x0 vérifie des contraintes particulières). Lorsque E = F , on parle d’optimisaton sans
contrainte.
Pour A ∈ Mn (R) symétrique définie positive et b ∈ Mn,1 (R), on montrera que le problème

 Trouver x ∈ Mn,1 (R), tel que

(8.2)
Ax = b,

est équivalent au problème sans contrainte (8.1). avec E = F := Mn,1 (R) et J : Mn,1 (R) → R
définie par
1
J(x) := Ax.x − b.x.
2
Ainsi, les méthodes de résolution numérique de (8.1). donnent des méthodes de résolution de
(8.2).. C’est le cas de la méthode du gradient.

Cours L3 70 Algèbre ©2022


8.1. Introduction à l’optimisation

8.1 Introduction à l’optimisation


Dans toute cette section, on cherche à montrer l’existence et l’unicité du problème d’opti-
misation sans contrainte 
 Trouver x ∈ Rn tel que

(8.3)
J(x) = inf J(y),

ny∈R

où J : Rn → R continue.

Définition 8.1. On dit qu’une fonction J : Rn → R est strictement convexe si elle vérifie :

∀x, y ∈ Rn , x 6= y, ∀θ ∈]0, 1[ J(θx + (1 − θy) < θJ(x) + (1 − θ)J(y).

Théorème 8.1. Soit J ∈ C(Rn ; R) telle que

lim J(x) = +∞. (8.4)


kxk2 →+∞

1. Alors, il existe x ∈ Rn solution de (8.1)..

2. De plus, si J est strictement convexe alors la solution est unique.

Preuve. 1. D’après (8.4)., pour tout M > 0, il existe η > 0 tel que si kxk2 > η, alors
J(x) > M . On pose M := J(0) donc il existe η > 0 tel que J(x) > J(0) pour tout x ∈ Rn \Bη ,
où Bη = {x ∈ Rn |kxk2 ≤ η}. Puisque 0 ∈ Bη , on en déduit

inf J(y) = min{ inf J(y); J(0)} = inf J(y).


y∈Rn y∈∈Bη y∈∈Bη

Puisque J est continue et que Bη est compact, il existe x ∈ Bη tel que J(x) = inf J(y).
y∈∈Bη
2. Soient x, x ∈ Rn deux solutions de (8.1). telles que x 6= x. Puisque J est strictement convexe,
on a

J(θx + (1 − θx) < θJ(x) + (1 − θ)J(x),


1
pour tout θ ∈]0, 1[. En particulier, en prenant θ = , on obtient
2
 (x + x) 
J < minn J(y),
2 y∈R

ce qui est absurde.

Remarque 8.1.1. Le résultat reste vrai en remplaçant Rn par un espace vectoriel de dimension
finie mais devient faux en dimension infinie. Cela est dû au théorème de Riesz qui affirme que,
dans un espace vectoriel normé, les boules fermées sont compactes si et seulement si l’espace
est de dimension finie.

Cours L3 71 Algèbre ©2022


8.1. Introduction à l’optimisation

Définition 8.2. Soit J ∈ C 1 (Rn ; R). On appelle gradient de J, noté ∇J, le vecteur des dérivées
partielles de J, i.e.
 ∂J ∂J T
∇J := ,··· , .
∂x1 ∂xn
Lemme 8.1. Soit J ∈ C 1 (Rn ; R). Alors, J est strictement convexe si et seulement si

∀x, y ∈ Rn , x 6= y, J(y) > J(x) + ∇J(x).(y − x).

Preuve. Supposons que J est strictement convexe. Soient x, y ∈ Rn , x 6= y et θ ∈]0, 1[.


1
On pose z := (y − x). On a
2

J θ(x + z) + (1 − θ)x ≤ θJ(x + z) + (1 − θ)J(x),

(il n’y a pas d’inégalité stricte car on ne sait pas si x 6= x + z) donc



J(x + θz) − J(x) ≤ θ J(x + z) − J(x) .

Or puisque J est de classe C 1 , pour tout θ suffisamment petit, on a

J(x + θ(z)) = J(x) + θ∇J(x).z + θε(θ),

où ε(θ)−→0
θ→0 0. Donc

θε(θ) + θ∇J(x).z ≤ θ J(x + z) − J(x) ,

d’où

θε(θ) + θ∇J(x).z ≤ J(x + z) − J(x).

Puisque J est strictement convexe et x 6= y, on a


x + y 1
J(x + z) = J < (J(x) + J(y)),
2 2
d’où
1 1
∇J(x).(y − x) < (J(x) − J(y)),
2 2
ce qui donne le résultat.
Réciproquement, supposons

∀x, y ∈ Rn , x 6= y, J(y) > J(x) + ∇J(x).(x − y).

Soient x, y, z ∈ Rn non égaux et θ ∈]0, 1[. On a

J(y) > J(z) + ∇J(z).(y − z),

et

Cours L3 72 Algèbre ©2022


8.1. Introduction à l’optimisation

J(x) > J(z) + ∇J(z).(x − z),

donc

(1 − θ)J(y) + θJ(x) > J(z) + ∇J(z). (1 − θ)(y − z) + θ(y − z) .

On prend z := θx + (1 − θ)y. Alors, on obtient

  
(1 − θ)J(y) + θJ(x) > J θx + (1 − θ)y + ∇J θx + (1 − θ)y . (1 − θ)θ(y − x) + θ(1 − θ)(x − y)

= J θx + (1 − θ)y ,

ce qui donne le résultat.

Théorème 8.2. Soit J ∈ C 1 (Rn ; R) strictement convexe vérifiant (8.4).. Alors, x est l’unique
solution de (8.3). si et seulement si ∇J(x) = 0.

Remarque 8.1.2. L’implication est vraie même si J n’est pas convexe tandis que la réciproque
nécessite la convexité. La stricte convexité et l’hypothèse (8.4). ne servent qu’à obtenir l’exis-
tence et unicité de x.

Preuve. Supposons que x est solution de (8.3).. Soit y ∈ Rn . Pour tout t suffisamment petit,
on a

J(x + ty) − J(x) = t∇J(x).y + tε(t),

où ε(t)−→0
t→0 0. Alors, on obtient :

t∇J(x).y + tε(t) ≥ 0.

Pour t > 0, en divisant par t et en passant à la limite, on obtient ∇J(x).y ≥ 0. De même, en


prenant t ≤ 0, on obtient ∇J(x).y ≤ 0. Donc ∇J(x).y = 0 pour tout y ∈ Rn .
Donc ∇J(x) = 0.
Supposons que ∇J(x) = 0. Soit y ∈ Rn . Puisque J est convexe, d’après le lemme 8.2., on a

J(y) ≥ J(x) + ∇J(x).(y − x) = J(x),

ce qui donne le résultat.

Définition 8.3. Soit J ∈ C 2 (Rn ; R). On appelle matrice hessienne de J, l’application ∇2 J de


Rn dans Mn (R) donnée
 ∂ 2J 
∇2 J := .
∂xi ∂xj 1≤i,j≤n

Cours L3 73 Algèbre ©2022


8.1. Introduction à l’optimisation

par

D’après le théorème de Schwarz, la matrice hessienne est symétrique.

Théorème 8.3. Soit J ∈ C 2 (Rn ; R). Si, pour tout x ∈ Rn , ∇2 J(x) est définie positive, alors J
est strictement convexe.

Preuve. Soient x, y ∈ Rn avec x 6= y. Pour tout θ ∈]0, 1[, on pose

ϕ(θ) := J(x + θ(y − x)).

Alors, ϕ ∈ C 2 (R; R). On a


Z 1
J(y) − J(x) = ϕ(1) − ϕ(0) = ϕ0 (θ)dθ.
0

Par intégration par parties, on obtient


Z 1 Z 1
0 1 00 0
J(y) − J(x) = [ϕ (θ)(θ − 1)]0 − ϕ (θ)(θ − 1)dθ = ϕ (0) + ϕ00 (θ)(1 − θ)dθ.
0 0

Or on a

ϕ0 (θ) = ∇J(x + θ(y − x)).(y − x)

et

ϕ00 (θ) = ∇2 J(x + θ(y − x))(y − x).(y − x) > 0,

car x 6= y et ∇2 J(x + θ(y − x)) est définie positive. Donc

J(y) − J(x) > ∇J(x).(y − x),

d’où le résultat d’après le lemme 8.1.

Proposition 8.1. Soient A ∈ Mn (R) symétrique définie positive et b ∈ Mn,1 (R). On pose

1
J(x) := Ax.x − b.x, ∀x ∈ Mn,1 (R). (8.5)
2

Alors, il existe une unique solution x0 au problème de minimisation (8.3). et x0 est l’unique
solution de Ax = b.

Remarque 8.1.3. On dit que la fonction J définie dans la Proposition précédente est une fonc-
tionnelle quadratique.

Preuve. Il est immédiat que J est un polynôme de degré 2 donc, en particulier, J est de classe
C 2 . De plus, puisque A est définie positive ses valeurs propres λ1 ≤ λ2 ≤ · · · ≤ λn sont
strictement positives et il existe U ∈ Mn (R) unitaire telle que

Cours L3 74 Algèbre ©2022


8.2. Algorithme du gradient

A = U ∗ DU avec D := diag(λ1 , · · · , λn ).

Ainsi, on a
n
X
Ax.x = DU x.U x = λi |(U x)i |2 ≥ λ1 kU xk22 .
i=1

Enfin, d’après l’inégalité de Cauchy-Schwarz, on a b.x ≤ kbk2 kxk2 . Donc on obtient


λ1
J(x) ≥ kxk22 − kbk2 kxk2 kxk−→0
2 →+∞
+ ∞.
2
On en déduit que le problème de minimisation (8.3.). admet une solution x Pour déterminer
∇J , on réécrit J sous la forme
n n
1X
∀x ∈ Rn .
X
J(x) = aij δik xj − bi x i ,
2 i,j=1 i,j=1

Alors, pour tout k ∈ N et pour tout x ∈ Rn ,on a


n n n
∂J 1X 1X X
(x) = aij δik xj + aij xi δkj − bi δik
∂xk 2 i,j=1 2 i,j=1 i,j=1
n n
1X 1X 1 T

= akj xj + aik xi − bk = (Ax)k + (A x)k − bk ,
2 j=1 2 i=1 2

1
d’où ∇J(x) = (A+AT )x−b = Ax−b car A est symétrique. De même, on obtient ∇2 J(x) =
2
A pour tout x ∈ Rn . On en déduit que J est strictement convexe. Donc il existe une unique
solution x0 de (8.3).. De plus, Ax0 − b = ∇J(x0 ) = 0, donc x0 est la solution de Ax = b.

8.2 Algorithme du gradient


Soit J ∈ C n (Rn ; R) une fonctionnelle à minimiser. Une méthode intuitivement simple de
recherche du minimum consiste à choisir x0 de Rn puis à construire les itérés xk+1 , k ∈ N, en
posant

xk+1 = xk + αk dk ,

où αk et dk vérifient J(xk + αk dk ) ≤ J(xk ). On appelle ce type de méthode des méthodes


de descente. Les algorithmes du gradient sont des méthodes de descentes particulières où la
direction de la descente est celle du gradient.

Définition 8.4. Soit J ∈ C n (Rn ; R).

Cours L3 75 Algèbre ©2022


8.2. Algorithme du gradient

1. On dit que d ∈ Rn \{0} est une direction de descente en x ∈ Rn s’il existe α0 > 0 tel que

∀α ∈ [0, α0 ] , J(x + αd) ≤ J(x). (8.6)

2. Lorsque l’inégalité (8.6). est stricte, on parle de direction de descente stricte.

Proposition 8.2. Soient J ∈ C n (Rn ; R) et x ∈ Rn .

1. Si d ∈ Rn \{0} est une direction de descente en x, alors, ∇J(x) ≤ 0.

2. Si ∇J(x) 6= 0, alors −∇J(x) est une direction de descente stricte en x.

Preuve.
1. Il existe α0 > 0 tel que

∀α ∈ [0, α0 ] , J(x + αd) ≤ J(x).

On pose
∀α ∈ [0, α0 ] , ϕ(α) := J(x + αd). (8.7)

Alors, ϕ ∈ C 1 (R; R) et ϕ0 (α) = ∇J(x + αd).d. De plus, on a

∀α ∈ [0, α0 ] , ϕ(α) ≤ ϕ(0),

donc
ϕ(α) − ϕ(0)
∀α ∈ [0, α0 ] , ≤ 0,
α
d’où ϕ0 (α) ≤ 0, ce qui donne le résultat.
2. On pose d := −∇J(x) 6= 0. Soit ϕ définie par (8.6).. On a

ϕ0 (0) = ∇J(x).d = kdk22 < 0.

Puisque ϕ0 est continue et ϕ0 (0) ≤ 0, il existe α0 > 0 tel que, pour tout [0, α0 ] , ϕ0 (α) < 0.
Ainsi, pour tout [0, α0 ], on obtient
Z α
ϕ(α) − ϕ(0) = ϕ0 (s)ds < 0,
0

donc J(x + αd) < J(x).

Cours L3 76 Algèbre ©2022


8.2. Algorithme du gradient

Algorithme 11 Algorithme du gradient à pas fixe


Entrées : A, b, ε
Sorties : x
2
Choisir 0 < α <
λn
Prendre x ∈ Mn,1 (R).
Calculer r = b − Ax
T = tril(A)
Tant que krk2 ≥ 0 faire
x = x + αr
r = b − Ax
fin Tant que

Le résultat précédent nous amène à prendre comme direction de descente −∇J(xk ) à chaque
itération k ∈ N, on obtient alors l’algorithme du gradient donné par :

x0 ∈ Rn ,

xk+1 = xk − α∇J(xk ), ∀k ∈ N,

où α > 0 reste à déterminer. Il est alors possible d’étudier la convergence de la suite ainsi
construite suivant la fonctionnelle J considérée. Dans la suite, on considère seulement le cas
d’une fonctionnelle quadratique.
Soient A ∈ Mn (R) symétrique définie positive, b ∈ Mn,1 (R) et J la fonctionnelle quadratique
donnée par (8.5).. Alors, l’algorithme du gradient s’écrit

x0 ∈ Mn,1 (R),






rk = b − Axk , (8.8)


∀k ∈ N,


xk+1 = xk + αrk ,

où α > 0. On obtient alors l’algorithme 11.

Remarque 8.2.1. La suite (xk )k∈N peut encore s’écrire

α−1 xk+1 = α−1 xk + b − Axk = (α−1 In − A)xk + b,

soit M xk+1 = N xk +b, où M := α−1 In et N := α−1 In −A. Autrement dit, l’algorithme (8.8.).
est la méthode itérative correspondant à la décomposition régulière A = M − N . Sous cette

Cours L3 77 Algèbre ©2022


8.2. Algorithme du gradient

forme, il est clair qu’il n’est pas nécessaire de supposer que A soit symétrique définie positive
pour définir la méthode itérative.

Définition 8.5. Soient A ∈ Mn (R) inversible et b ∈ Mn,1 (R). Pour tout α > 0, appelle
méthode du gradient (ou méthode de Richardson) la méthode itérative associée à la décompo-
sition régulière

A = M − N, où où M := α−1 In et N := α−1 In − A.

La matrice d’amplification est alors LG := In − αA.

Proposition 8.3. Soient A ∈ Mn (R) symétrique définie positive, b ∈ Mn,1 (R) et 0 < λ1 ≤
· · · ≤ λn les valeurs propres de A. Alors, la méthode du gradient converge si et seulement si
2
0<α< . De plus, ρ(LG ) admet un minimum par rapport à α atteint en α opt donné par
λn
λn − λ1 2
ρ(LG )(α opt ) = et α opt = . (8.9)
λn + λ1 λ1 + λn

Remarque 8.2.2. Le résultat de convergence reste vrai même si A n’est pas symétrique définie
positive mais diagonalisable (voir [1]).

Preuve. Il suffit de calculer ρ(LG ) et de l’étudier comme fonction de α. On a



ρ(LG ) = ρ(In − αA) = max |1 − αλi |; i = 1, · · · , n .

Alors ρ(LG ) < 1 si et seulement si, pour tout i = 1, · · · , n, −1 < 1 − αλi < 1 donc 0 < αλi <
2, ce qui donne
 le premier résultat.
 La fonction
 λ → |1 − αλ|, pour α > 0 fixé, est décroissante
1 1
sur −∞, et croissante sur , +∞ donc sa valeur maximale est atteinte soit pour la plus
α α
petite valeur de λ, soit pour la plus grande valeur de λ, d’où

ρ(LG ) = max{|1 − αλ1 |, |1 − αλn |}

On cherche à minimiser ρ(LG ) suivant α, d’après la figure 8.1. ce minimum est atteint lorsque
2
αλn − 1 = 1 − αλ1 , i.e. α = . Pour cette valeur de α, on obtient ρ(LG ) = 1 − αλ1 =
λ1 + λn
λn − λ1
.
λn + λ1

fi.png

Cours L3 78 Algèbre ©2022


8.2. Algorithme du gradient

Corollaire 8.1. Soient A ∈ Mn (R) symétrique définie positive et b ∈ Mn,1 (R). En prenant
α := α opt défini par (8.9)., l’erreur dans la méthode du gradient vérifie
 κ (A) − 1 k
ke0 k2 , ∀k ∈ N.
2
kek k2 ≤ (8.10)
κ2 (A) + 1
Autrement dit, l’erreur tend vers 0 d’autant plus vite que la matrice A est bien conditionnée (i.e.
proche de 1).

Algorithme 11 Algorithme du gradient à pas optimal


Entrées : A, b, x0 , ε
Sorties : x
Prendre x ∈ Mn,1 (R).
Calculer r = b − Ax
krk22
Calculer α =
Ar.r
Tant que krk2 ≥ 0 faire
x = x + αr
r = b − Ax
krk22
Calculer α =
Ar.r
fin Tant que

Preuve. D’après (7.2.4)., on a

kek k2 ≤ ρ(LG )k ke0 k2 , ∀k ∈ N.

Alors, d’après (8.9). et la proposition (4.8)., on obtient (8.10)..

On peut améliorer cet algorithme en choisissant, à chaque itération k, un pas optimal αk ,



i.e. qui minimise J xk − α∇J(xk ) . On cherche à déterminer α0 tel que
  2
J x − α0 ∇J(xk ) = min{J x − α∇J(xk ) |0 < α < }.
λn
Pour tout α > 0, on pose ϕ(α) := J x − α∇J(xk ) . Alors, ϕ ∈ C 1 (R; R) et vérifie (8.4)., donc


α0 existe et est tel que ϕ0 (α0 ) = 0. Or on a

ϕ0 (α) = −∇J x − α∇J(xk ) .∇J(x)





= − A(x − αJ(x)) − b .(Ax − b)

= −kAx − bk22 + αA∇J(x).(Ax − b)

= −kAx − bk22 + αA(Ax − b).(Ax − b),

Cours L3 79 Algèbre ©2022


8.2. Algorithme du gradient

d’où
kAx − bk22
α0 = .
A(Ax − b).(Ax − b)
Remarque 8.2.3. 1. Le choix d’un pas optimal à chaque itération augmente le nombre de
calculs à effectuer et, en général, n’améliore pas ou peu la convergence. Ainsi, en pratique,
on préférera généralement la méthode à pas constant.

2. Le principal défaut de l’algorithme du gradient réside dans sa vitesse de convergence dite


linéaire. Néanmoins, la convergence de l’algorithme s’améliore avec le conditionnement
de A.

3. Dans l’algorithme 11, on a xk+1 = xk + αrk , avec rk = b − Axk , pour tout k ∈ N.


On obtient donc
n−1
X n−1
X
xk − x0 = (xi+1 − xi ) = αri .
i=0 i=0

Or on a aussi rk+1 − rk = αArk donc


n−1
X n−1
X n−1
X
rk − r0 = (ri+1 − ri ) = α Ari = Ar0 .
i=0 i=0 i=0

On en déduit que, pour tout k ∈ N , xk − x0 ∈ Kk := V ect{r0 , Ar0 , · · · , Ak r0 }. La


plupart des méthodes itératives modernes consistent à construire une base particulière de
ces espaces Kk appelés espaces de Krylov (méthode du gradient conjugué ou biconjugué,
GMRES, etc.).

Cours L3 80 Algèbre ©2022


? ? Chapitre Neuf ? ?

Algorithme du gradient conjugué

L’algorithme du gradient conjugué a pour objectif d’améliorer l’algorithme du gradient vu


dans la section précédente. Dans tout ce chapitre, on note A ∈ Mn (R) une matrice symétrique
définie positive et, b ∈ Mn,1 (R) la solution de

Ax = b. (9.1)

9.1 Définition
L’algorithme du gradient étant une méthode de descente on considère de manière générale
une méthode de descente

x0 ∈ Rn ,

(9.2)
xk+1 = xk + αk pk , ∀k ∈ N,

où αk > 0 et pk ∈ Mn,1 (R). De plus, on note rk , k ∈ N, lersiduassoci, i.e.

rk := b − Axk .

Comme dans le cas particulier de l’algorithme du gradient, on obtient que le pas optimal αk à
chaque itération k ∈ N est donné par
rk .pk
αk = . (9.3)
Apk .pk
En conséquence immédiate, à chaque itération k ∈ N, on obtient

rk+1 .pk = rk .pk − αk Apk .pk = 0.

Afin d’améliorer la convergence de l’algorithme il parait naturel de prendre une direction pk


telle que le reste rk+1 soit orthogonale à toutes les directions pj , 1 ≤ j ≤ k, précédentes, i.e.

∀j = 0, · · · , k, rk+1 .pj = 0. (9.4)

Cours L3 81 Algèbre ©2022


9.1. Définition

Il reste donc à déterminer les directions pk de sorte que (9.4). ait lieu. On a vu que le cas j = k
a lieu sans condition sur pk . Pour tout 0 ≤ j ≤ k, on a

0 = rk+1 .pj = rk .pj − αj Apj .pk = −αj Apj .pk .

On en déduit que les directions pk vérifient

∀j = 1, · · · , k − 1, Apk .pj = 0.

Définition 9.1. Soit k ∈ N. Une famille {p1 , · · · , pk } de Mn,1 (R) est dite A-conjuguée si elle
vérifie

∀i, j ∈ {1, · · · , k}, i 6= j, Api .pj = 0.

D’après ce qui précède, il est immédiat que les directions de descente pk sont A-conjuguées
si et seulement si (9.4). a lieu.

Remarque 9.1.1. Puisque A est symétrique définie positive, l’application (., .)A définie par

∀x, y ∈ Mn,1 (R), (x, y)A := Ax.y,

est un produit scalaire sur Mn,1 (R). En particulier, une famille de Mn,1 (R) est A-conjuguée si
elle est orthogonale pour le produit scalaire (., .)A . On en déduit que toute famille A-conjuguée
est libre. En particulier, une famille A-conjuguée {p0 , · · · , pn−1 } de Mn,1 (R) est une base de
Mn,1 (R).

Proposition 9.1. Pour tout k ∈ N, soit xk calculé par la méthode de descente (9.3). et rk le
résidu associé. Si les directions de descente pk sont A-conjuguées, alors

1. ∀k ∈ N∗ , ∀j ∈ {0, · · · , k − 1}, rk .pj = 0,

2. xn = x.

Autrement dit, la méthode converge en n itérations.

Preuve. Le premier point a déjà été montré. La famille {p0 , · · · , pn−1 } est une base de Mn,1 (R)
donc rn = a0 p0 + · · · + an−1 pn−1 , où a0 , · · · , an−1 ∈ R. On en déduit
n−1
X
2
krn k = ak pk .rn = 0,
k=0

Cours L3 82 Algèbre ©2022


9.1. Définition

d’après (9.4).. Donc rn = 0, d’où Axn = b.


Il reste à déterminer le choix des descentes pk de sorte que celles-ci forment une famille A-
conjuguée. Dans l’algorithme du gradient les descentes étaient prises égales à rk , l’idée ici
consiste, à partir de la famille {r0 , · · · , rn−1 }, à construire une famille de de descentes A-
conjuguée par orthogonalisation suivant le produit scalaire (., .)A . Pour cela on considère tout
d’abord une famille quelconque {d0 , · · · , dk }, k ∈ N de Rn et on pose
i−1
X
∀i = 0, · · · , k, pi := di − cij pj ,
j=0

−1
R sont à déterminer ( avec la convention
X
où les coefficients cij ∈ = 0). On a f0 = d0 et
j=0
f1 = d1 − c10 d0 . Puisque l’on doit avoir (f1 , f0 )A = 0, on obtient
(d1 , p0 )A Ad1 .p0
c10 = =
(d0 , p0 )A Ap0 .p0
Supposons les coefficients cij calculés de sorte que la famille {p0 , · · · , pl } est A-conjuguée et
déterminons les coefficients c(l+1)j de sorte que la famille {p0 , · · · , pl+1 } est A-conjuguée.
Soit i ∈ {0, · · · , l}. On a
l
X
(pl+1 , pi )A = (dl+1 , pi )A − c(l+1)j (pi , pj )A .
j=0

Puisque la famille {p0 , · · · , pl } est A-conjuguée, on a


l
X
c(l+1)j (pi , pj )A = c(l+1)i (pi , pi )A ,
j=0

d’où (pl+1 , pi )A = 0 si et seulement si


(dl+1 , pi )A Adl+1 .pi
c(l+1)i = = .
(pi , pi )A Api .pi

On en déduit le résultat suivant :

Lemme 9.1. Soient k ∈ N de {d0 , · · · , dk } une famille de Rn . On pose p0 = d0 et


j
X Adj+1 .pi
∀j = 0, · · · , k − 1, pj+1 := dj+1 − pi .
i=0
Api .pi

Alors, la famille {p0 , · · · , pk } est A-conjuguée et V ect{d0 , · · · , dk } = V ect{p0 , · · · , pk }.

Cours L3 83 Algèbre ©2022


9.1. Définition

Preuve. Il reste à montrer que V ect{d0 , · · · , dk } = V ect{p0 , · · · , pk }. Pour tout j{0, · · · , k},
on a pj ∈ V ect{d0 , · · · , dk }, d’où V ect{p0 , · · · , pk } ⊂ V ect{d0 , · · · , dk }. Puisque la famille
{p0 , · · · , pk } est A-conjuguée, sa dimension est égale au nombre de vecteurs pj , j ∈ {1, · · · , k},
non nuls. Supposons qu’il existe j ∈ {1, · · · , k} tel que pj = 0.
Alors on a
j−1
X Adj+1 .pi
dj = pi ∈ V ect{p0 , · · · , pj−1 } ⊂ V ect{d0 , · · · , dj−1 } ;
i=0
Api .pi
d’où V ect{d0 , · · · , dj−1 = V ect{p0 , · · · , pj−1 . On en déduit que la dimension de V ect{d0 , · · · , dj
est inférieure ou égale à celle de V ect{p0 , · · · , pj }. Or V ect{p0 , · · · , pk } ⊂ V ect{d0 , · · · , dk }
donc V ect{d0 , · · · , dk } = V ect{p0 , · · · , pk }.

Lemme 9.2. Soit x0 ∈ Rn . On pose r0 = p0 = b − Ax0 et, pour tout k = 0, · · · , n,



rk .pk
αk = ,


Apk .pk






xk+1 = xk + αk pk ,


(9.5)


 rk+1 = b − Axk+1 = rk − αk Apk ,

 k
Adr+1 .pi

 X
pk+1 = rk+1 −


 pi .
Ap .p
i=0 i i

Alors, la famille {p0 , · · · , pn } est A-conjuguée et on a


V ect{r0 , Ar0 , · · · , Ak r0 } = V ect{r0 , r1 , · · · , rk } = V ect{p0 , p1 , · · · , pk }, ∀k ∈ {0, · · · , n}.

Preuve. D’après le Lemme (9.1). appliqué à la famille {r0 , r1 , · · · , rk }, on a

V ect{r0 , r1 , · · · , rk } = V ect{p0 , p1 , · · · , pk }.

et la famille {p0 , p1 , · · · , pn } est A-conjuguée. Pour la suite, on raisonne par récurrence.


Pour k = 1, on a

r1 = r0 − α0 Ap0 = r0 − Ar0 ∈ V ect{r0 , Ar0 }.



Donc V ect{r0 , r1 } ⊂ V ect{r0 , Ar0 }. De plus, r0 .r1 = 0 donc dim V ect{r0 , r1 } = 2 ≥

dim V ect{r0 , Ar0 } , d’où V ect{r0 , r1 } = V ect{r0 , Ar0 }.
Supposons V ect{r0 , r1 , · · · , rk } = V ect{r0 , Ar0 , · · · , Ak r0 }. On a rk+1 = rk − αk Apk , or

pk ∈ V ect{p0 , p1 , · · · , pk } = V ect{r0 , r1 , · · · , rk } = V ect{r0 , Ar0 , · · · , Ak r0 }

donc Apk ∈ V ect{Ar0 , A2 r0 , · · · , Ak+1 r0 }, d’où rk+1 ∈ V ect{r0 , Ar0 , · · · , Ak+1 r0 }. On en


déduit V ect{r0 , r1 , · · · , rk+1 } ⊂ V ect{r0 , Ar0 , · · · , Ak+1 r0 }. De plus, on obtient qu’il existe
a0 , · · · , ak+1 tels que

Cours L3 84 Algèbre ©2022


9.1. Définition

k
X
k+1
rk+1 = ak+1 A r0 + ai Ai r0 .
i=0

D’après la proposition (9.1)., on a rk+1 .pi = 0 pour tout i = 0, · · · , k. Donc rk+1 ∈


/ V ect{p0 , p1 , · · · , pk },
d’où ak+1 6= 0. Alors, on obtient
k
k+1 1  X
i

A r0 = rk+1 − ai A r 0 .
ak+1 i=0

Or V ect{r0 , Ar0 , · · · , Ak r0 } = V ect{r0 , r1 , · · · , rk }, d’où Ak+1 r0 ∈ V ect{r0 , r1 , · · · , rk+1 }.


Ce qui donne le résultat.

Lemme 9.3. Soient x0 ∈ Rn , r0 = p0 = b − Ax0 et, pour tout k ∈ {1, · · · , n}, xk , pk , rk définis
par (9.5).. Alors, la famille {r0 , · · · , rn } est orthogonale et on a
Apk .rk+1
∀k ∈ {1, · · · , n}, pk+1 = rk+1 − βk pk , où βk := .
Apk .pk
Preuve. On raisonne par récurrence. Puisque p0 = r0 , on a

r1 .r0 = (r0 − α0 Ap0 ).p0 = p0 .p0 − α0 Ap0 .p0 = 0,

d’après la définition de α0 . De plus,


Ar1 .p0
p1 = r1 − .
A0. p0
Donc le résultat est vrai pour n = 1.
On suppose que, pour tout k ∈ {1, · · · , n}, rk .rj = 0, pour tout j ∈ {0, · · · , k − 1} et pk =
rk − βk−1 pk−1 . Soit j ∈ {0, · · · , k}. Alors,

rk+1 .rj = (rk − αk Apk ).rj = rk .rj − αk Apk .rj .

Soit j ≤ k−1. On a rj ∈ V ect{r0 , r1 , · · · , rj } = V ect{p0 , p1 , · · · , pj } et la famille {p0 , · · · , pn }


est A-conjuguée donc Apk .rj = 0. De plus, par hypothèse de récurrence, rk .rj = 0. Donc
rk+1 .rj = 0. Pour j = k, puisque pk = rk − βk−1 pk−1 , on a rk = pk + βk−1 pk−1 . Donc
rk+1 .rk = rk .rk − αk Apk .rk = rk .rk − αk Apk − αk βk−1 Apk .pk−1 = rk .rk − αk Apk .pk = 0.
Il reste à montrer que pk+1 = rk+1 − βk pk . Pour tout i = 0, · · · , k − 1, pi = αi−1 (xi+1 − xi )
donc

Ark+1 .pi = αi−1 rk+1 .A(xi+1 − xi ) = αi−1 rk+1 .(ri − ri+1 ) = −αi−1 ri+1 .ri+1 .
Ark+1 .pk αk−1 rk+1 .rk+1
Alors, Ark+1 .pi = 0 si i ≤ k d’où pk+1 = rk+1 − pk = rk+1 + pk =
Apk .pk Apk .pk
rk+1 .rk+1
rk+1 + pk .
rk .pk
Ce qui donne le résultat.

Cours L3 85 Algèbre ©2022


9.1. Définition

Lemme 9.4. Soient x0 ∈ Rn , r0 = p0 = b − Ax0 et, pour tout k ∈ {1, · · · , n}, xk , pk , rk définis
par (9.5).. Alors, on a
rk .rk rk+1 .rk+1
∀k ∈ {1, · · · , n}, αk = et βk = − .
Apk .pk rk .rk
Preuve. Soit k ∈ {1, · · · , n}. On a
rk .rk
αk = .
Apk .pk
Or rk .pk = rk .(rk − βk−1 pk−1 ) = rk .rk − βk−1 rk .pk−1 . D’après la proposition 9.1., puisque
la famille {p0 , · · · , pn−1 } étant conjuguée, on a rk .pk−1 = 0, ce qui donne le résultat. De plus,
Apk = αk−1 (rk − rk+1 ), d’où

Apk .rk+1 = αk−1 rk .rk − αk−1 rk+1 .rk+1 .

L’expression de αk précédemment obtenue et le fait que la famille {r0 , · · · , rn−1 } donne le


résultat cherché pour βk .

On en déduit la définition de l’algorithme conjugué.

Définition 9.2. On appelle algorithme du gradient conjugué (algorithme 13) la construction


de la suite (xk )k∈N définie par x0 ∈ Mn,1 (R), p0 = r0 = b − Ax0 , et pour tout k ∈ N,

 rk .rk

 αk = ,



 Apk .pk




 xk+1 = xk + αk pk ,


rk+1 = b − Axk+1 = rk − αk Apk , (9.6)



 rk+1 .rk+1
βk =− ,


rk .rk






pk+1 = rk+1 + βk pk .

Cours L3 86 Algèbre ©2022


9.1. Définition

Algorithme 13 Algorithme du gradient conjugué


Entrées : A, b, ε
Sorties : x
Prendre x ∈ Mn,1 (R)
Calculer r = b − Ax
p=r
Tant que krk2 ≥ 0 faire
c = r.r
y = Ap
c
α=
y.p
x = x + αp
r = r − αy
r.r
β=
p
p = r + βp
fin Tant que

En terme de complexité, chaque itération de l’algorithme du gradient conjugué nécessite de


l’ordre de n2 multiplications. ainsi, la méthode du gradient conjuguée en tant que méthode
directe nécessite n3 multiplications et donc est 6 fois plus lente que la méthode de Cholesky.

Remarque 9.1.2. L’étape la plus couteuse de l’algorithme est le calcul matrice vecteur Ap .
Dans le cas de matrice creuses, ce calcul peut être grandement réduit. C’est notamment le cas
de la matrice du laplacien vu dans le Chapitre 5. En effet, dans ce cas, on a
(Ap)i = −pi−1 − pi+1 + 2pi , pour 2 ≤ i ≤ n − 1, (Ap )1 = −p2 + 2p1 et (Ap )n = −pn−1 + 2pn .
Ainsi le calcul de Ap ne nécessite que n multiplications au lieu des n2 pour des matrices pleines.
L’algorithme du gradient conjugué peut donc être avantageux pour des matrices creuses en tant
que méthode itérative.
Puisque l’algorithme du gradient conjugué n’est intéressant que en tant que méthode itérative,
il est important d’en déterminer la vitesse de convergence et de pouvoir accélérer celle-ci. C’est
l’objet de la section suivante.

Cours L3 87 Algèbre ©2022


9.2. Vitesse de convergence

9.2 Vitesse de convergence


Soient r0 ∈ Mn,1 (R) et k ∈ N∗ . On appelle espace de Krilov d’ordre k associé à r0 (et A)
l’espace

Kk := V ect{p0 , p1 , · · · , pk } = V ect{r0 , r1 , · · · , rk }.

De plus, l’approximation xk+1 calculée par l’algorithme du gradient conjugué est donnée par
xk+1 = xk + αk pk donc
k
X k
X
xk+1 − x0 = xi+1 − xi = αi pi ∈ Kk .
i=0 i=0

Notation 9.2.1. Pour tout x0 ∈ Mn,1 (R), on note [x0 + Kk ], l’ensemble des x ∈ Mn,1 (R) tels
que Kk .

Afin de déterminer la vitesse de convergence de l’algorithme du gradient conjugué, on va mon-


trer que à l’itération k + 1, l’approximation xk+1 calculée par l’algorithme du gradient conjugué
est la solution du problème.

∈ [x0 + Kk ] tel que

 Trouver x

k+1

1 (9.7)
f (xk+1 ) =

 min f (x), où f (x) := Ax.x − b.x.
x∈[x0 +Kk ] 2

Pour cela, on aura besoin du résultat auxiliaire donné ci-après.

Proposition 9.2. Soient f une fonction donnée par (9.7). et F un sous-espace vectoriel de Rn .
Alors, il existe un unique x0 ∈ F tel que

f (x0 ) = min f (x),


x∈F

et, de plus, x0 est l’unique vecteur de F tel que

(Ax0 − b).y = 0, ∀y ∈ F .

Preuve. Soit P la projection orthogonale de Rn sur F . Alors P est surjective et donc

min f (x) = minn f (P x).


x∈F x∈R

De plus,
1
g(x) := f (P x) = P ∗ AP x.x − P ∗ b.x.
2

Cours L3 88 Algèbre ©2022


9.2. Vitesse de convergence

La matrice P ∗ AP est symétrique positive. Si P ∗ AP est définie positive, d’après la proposition


8.1., il existe un unique y0 ∈ Rn tel que

g(y0 ) = minn g(y) = min f (x)


y∈R x∈F

et donc x0 := P y0 répond à la question. De plus, on a P ∗ AP y0 = P ∗ b, d’où P ∗ (Ax0 − b) = 0,


i.e. (Ax0 − b).P x = 0 pour tout x ∈ Rn , ce qui donne le résultat.
Si P ∗ AP n’est pas définie positive, alors g est convexe (et non strictement convexe).De plus,
−→
g(y) = f (P y) kyk2 →+∞ + ∞.

Donc g admet au moins un minimum y1 sur Rn vérifiant P ∗ AP y1 = P ∗ b, ce qui donne (AP y1 −


b).y = 0, pour tout y ∈ F . De plus, si y2 est une autre solution du problème de minimisation,
on a de même P ∗ AP y2 = P ∗ b. Alors, P ∗ AP (y2 − y1 ) = 0 d’où AP (y2 − y1 ).P (y2 − y1 ) = 0.
Or A est définie positive donc P y1 = P y2 . Finalement, x0 = P y0 est donc l’unique solution du
problème.

Proposition 9.3. Soit k ∈ N. Alors, il existe une unique solution xk+1 ∈ [x0 , Kk ] de (9.7). et
xk+1 est l’unique élément de [x0 , Kk ] tel que le résidu associé rk+1 := b − Axk+1 est orthogonal
à Kk .

Preuve. Soit xk+1 ∈ [x0 , Kk ]. Alors, il existe c0 , · · · , ck−1 ∈ R tels que


k
X
xk+1 = x0 + ci Ai r0 .
i=0

Alors, rk+1 := b − Axk+1 vérifie


k
X
rk+1 = r0 + ci Ai+1 r0 ∈ Kk+1 .
i=0

Soit x ∈ [x0 , Kk ] alors, x = x0 + y où y ∈ Kk d’où

min f (x) = min f (x0 + y),


x∈[x0 ,Kk ] y∈Kk

Or
1 1 1
f (x0 + y) = A(x0 + y).(x0 + y) − b.(x0 + y) = Ay.y + Ax0 .x0 + Ay.x0 − b.x0 − b.y.
2 2 2
Donc

min f (x) = min g(y),


x∈[x0 ,Kk ] y∈Kk


1
g(y) := Ay.y − (b − Ax0 ).y.
2

Cours L3 89 Algèbre ©2022


9.2. Vitesse de convergence

Alors, d’après la Proposition 9.1., le problème (9.7). admet une unique solution xk+1 = x0 +
yk+1 où yk+1 ∈ Kk+1 est la solution de

(Ayk+1 − (b − Ax0 )) = 0, ∀z ∈ Kk+1 ,

i.e.

(Axk+1 − b).z = 0, ∀z ∈ Kk+1 ,

ce qui donne le résultat.

Corollaire 9.1. Pour tout k ∈ N, l’approximation xk+1 calculée par l’algorithme du gradient
conjugué est l’unique solution du problème (9.7). et xk+1 est l’unique élément de [x0 , Kk ] tel
que le résidus associé rk+1 := b − Axk+1 est orthogonal à Kk .

Preuve. Il suffit de montrer que le résidus rk+1 est orthogonal à Kk . Or d’après le Lemme
9.3, rk+1 est orthogonal à r1 , · · · , rk et, d’autre part, Kk = V ect{r0 , · · · , rk } ce qui donne le
résultat.

Théorème 9.1. Soient x la solution de Ax = b et (xk )k∈N la suite des approximations calculées
par l’algorithme du gradient conjugué. Alors, on a
 pκ (A) − 1 k
∀k ∈ N, kxk − xk2 ≤ 2 κ2 (A) p
2
p
kx0 − xk2 . (9.8)
κ2 (A) + 1

Remarque 9.2.1. La vitesse de convergence de l’algorithme du gradient conjugué dépend donc


de la racine carrée du conditionnement de A, alors que celle de l’algorithme du gradient dépend
du conditionnement lui-même. On en déduit que l’algorithme du gradient conjuguée converge
plus vite que celui du gradient.

Preuve. On a montré que xk est le problème de minimisation de la fonction f sur [x0 , Kk ]. En


notant k.kA la norme associée au produit scalaire (., .)A , on a pour tout z ∈ Mn,1 (R)
1 1 1 1 1
f (z) = Az.z − b.z = Az.z − Ax.z = A(z − x).(z − x) − Ax.x = kx − zk2A − Ax.x.
2 2 2 2 2
Autrement dit, minimiser f sur [x0 , Kk−1 ], revient à minimiser z 7→ kx − zk2A sur [x0 , Kk−1 ].
On pose ek := xk − x. Alors, on a

kek kA = min kx − zkA .


z∈[x0 ,Kk−1 ]

Cours L3 90 Algèbre ©2022


9.3. Préconditionnelement

9.3 Préconditionnelement
D’après l’estimation d’erreur (9.8)., le préconditionnement peut grandement améliorer la
vitesse de convergence de l’algorithme du gradient conjugué. On rappelle (voir Chapitre 7)
que le préconditionnement consiste à choisir une matrice M appelée préconditionneur tel que
M −1 A a un conditionnelement plus petit que A, on résout alors le problème M −1 Ax = M −1 b.
Pour l’algorithme du gradient conjugué il faut que M −1 A soit symétrique définie positive or
même si M est symétrique définie positive, M −1 A peut ne pas être ne serait-ce que symétrique.
Néanmoins,

on a le résultat suivant :

Lemme 9.5. Soit M ∈ Mn (R) une matrice symétrique définie positive. Alors, il existe E ∈
Mn (R) inversible telle que M = EE T . De plus, M −1 A et E −1 AE −t ont les mêmes valeurs
propres.

Remarque 9.3.1. D’autre part, puisque A et M sont symétriques définies positives, on a

(M −1 A)T M −1 A = AT M −T M −1 A = In = M −1 A(M −1 A)T ,

autrement dit M −1 A est normale. D’autre part, E −1 AE −t est symétrique. D’après ? ? et le


lemme , on en déduit que κ2 (M −1 A) = κ2 (E −1 AE −T ).

Preuve. L’existence de E est assurée, par exemple, par le théorème de décomposition de Cho-
lesky. De plus, si λ est une valeur propre de M −1 A et x un vecteur propre associé, en posant
y := E T x, on a

E −1 AE −T y = E −1 Ax = E −1 M M −1 Ax = λE −1 EE T x = λE T x = λy,

donc λ est une valeur propre de E −1 AE −T . On montre de même que toute valeur propre de
E −1 AE −T est une valeur propre de M −1 A.

Cours L3 91 Algèbre ©2022


9.3. Préconditionnelement

Algorithme 14 Gradient conjugué préconditionné 1


Entrées : A, b, ε, E
Sorties : x
Prendre x̃ ∈ Mn,1 (R)
Calculer r̃ = E −1 b − E −1 AE −T x̃.
p̃ = r̃
Tant que kr̃k2 ≥ 0 faire
c̃ = r̃.r̃
ỹ = E −1 AE −T p̃

α=
ỹ.p̃
x̃ = x̃ + αp̃
r̃ = r̃ − αỹ
r̃.r̃
β=

p̃ = r̃ + β p̃
fin Tant que
x = E −T x̃

Soit M ∈ Mn (R) une matrice symétrique définie positive avec M = EE T , où E est inversible.
Alors, d’après ce qui précède E −1 AE −T a le même conditionnellement que M −1 A mais est
symétrique définie positive, on peut donc lui appliquer l’algorithme du gradient conjugué. La
méthode consiste alors à résoudre

E −1 AE −T x̃ = E −1 b puis x = E −T x̃.

De cette manière (pour un bon choix de M ), on est amené à un problème mieux conditionné
auquel on peut appliquer l’algorithme du gradient conjugué.
Le défaut de cette méthode est qu’elle entraîne des calculs supplémentaires : le calcul de E puis
des produits matrices-vecteurs E −1 b, E −1 AE −T x dont on ne sait pas a priori s’ils sont simples
à calculer. On peut changer l’algorithme précédent de sorte à ne plus faire intervenir la matrice
E mais la matrice M . Pour cela, on pose

E r̃ = r, E −T p̃ = p.

Puisque x = E −T x̃ et M = EE T , on obtient l’algorithme.


On remarque que M uniquement dans la résolution de système du type M q = r, ainsi il faut

Cours L3 92 Algèbre ©2022


9.3. Préconditionnelement

pouvoir résoudre simplement ces systèmes. Autrement dit, M doit être une matrice proche de
A (pour que κ2 (M −1 A) ≤ κ2 (A)) qui soit simples à inverser.
Parmi les différents choix de M , on citera les plus connus :

1. M = diag(a11 , · · · , ann ), i.e. M est la diagonale de A. Le coût de résolution de M q = r


est n.

2. M est la décomposition de Cholesky incomplète de A. On entend par décomposition


de Cholesky incomplète, une modification de la décomposition de Cholesky BB T de A
telle que bij = 0 si aij = 0. La décomposition ainsi obtenue a l’avantage de conserver la
même structure que la matrice. Ainsi si A est une matrice bande, il en va de même pour B.

Algorithme 15 Gradient conjugué préconditionné 2


Entrées : A, b, ε, M
Sorties : x
Prendre x ∈ Mn,1 (R)
Calculer r = b − Ax
Résoudre M q = r
p=q
Tant que krk2 ≥ 0 faire
c = q.r
y = Ap
c
α=
Ap.p
x = x + αp
r = r − αAp
Résoudre M q = r
r0 .r
β=
c
p = q + βp
fin Tant que

Cours L3 93 Algèbre ©2022


♣ Bibliographie ♣

[1] G. ALLAIRE., S.M. KABER, Algèbre linéaire numérique. Cours et exercices. Édition
ellipses, Paris, 2002.

[2] P.G. Ciarlet Introduction à l’analyse numérique matricielle et à l’optimisation, Dunod,


Paris, 1998.

[3] P. Lascaux., R. Théodor Analyse numérique matricielle appliquée à l’art de l’ingénieur,


Dunod, Paris, 2004.

[4] A. Quarteroni, R. Sacco., F. Saleri Méthodes numériques : Algorithmes, analyse et appli-


cations, Springer-Verlag Italia, Milano, 2007.

[5] M. Schatzman Analyse numérique : une approche mathématique : cours et exercices,


Dunod, Paris, 2001.

[6] J.H. Wilkinson, The Algebraic Eigenvalue Problem. Clarendon Press, Oxford, 1965.

Cours L3 94 Algèbre ©2022


Bibliographie

Index
Équation d’itération, 66
de la chaleur stationnaire, 35 de Householder, 58
normale,56 de passage, 8
de permutations, 46
Algorithme des cofacteurs, 7
descente, 79 hermitienne définie positive, 20
de Gauss avec pivot partiel, 44 hermitienne ou auto-adjointe, 17
de Householder, 59 hermitienne positive,20
de remontée , 35 hessienne, 75
du gradient, 78 inversible, 7
Application linéaire, 5 normale, 18
Application linéaire adjointe, 17 orthogonale, 18
Bloc de Jordan, 13 symétrique, 17
unitaire, 18
Complexité, 33 élémentaire, 44
Matrices similaires et semblables,8
Direction de descente, 79 Méthode
Décomposition, de Gauss-Seidel, 68
LU , 47 de Jacobi, 68
QR, 54 du gradient ou de Richardson, 81
de Cholesky, 51 itérative, 64 en valeurs singulières, 21
régulière, 65 Norme,
Endomorphisme, 5 de Frobenius, 23
Erreur, 66 euclidienne,
Espaces de Krylov, 84 matricielle, 23
subordonnée, 24
Factorisation, Noyau, image et rang d’une application linéaire, 6
de Schur, 18
Famille orthogonale et orthonormale, 17 Optimisation sans et sous contraintes, 73
Fonction strictement convexe, 74
Fonctionnelle quadratique, 77 Pivot de Gauss, 44

Cours L3 95 Algèbre ©2022


Bibliographie

Polynôme caractéristique, 9

Gradient, 75 Procédé d’orthonormalisation de Gram-Schmidt, 18


Inégalité de Cauchy-Schwarz, 16 Produit
Matrice, 6 de matrices, 6
adjointe, 17 euclidien, 16
hermitien, 17
scalaire, 17
Pseudo inverse de Moore-Penrose, 22
Rayon spectral, 26
Résidu, 70
Solution aux moindres carrés, 37
Sous-espace propre, 10
Sous-matrice principale, 49
Spectre, 26
Splitting, 65
Système sous ou sur-déterminé, 37
Valeurs, 9
propres, 9
singulières, 21
Vecteur propre, 9
Vecteurs orthogonaux, 17

Cours L3 96 Algèbre ©2022

Vous aimerez peut-être aussi