Académique Documents
Professionnel Documents
Culture Documents
M1 Mathématiques
15 septembre 2023
♣ Table des matières ♣
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.
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).
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 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).
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.
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)
Preuve. En effet, on a
= 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
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 .
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 λ.
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.
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 .
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.
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.
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.
EXERCICE
1.3.1Soit 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.
2. On dit que A ∈ Mn (K) est trigonalisable s’il existe une matrice triangulaire supérieure
semblable à 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.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
i.e. les coefficients de Jm (λ) sont λ sur la diagonale, 1 au dessus de la diagonale et 0 partout
ailleurs.
−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
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 :
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)
Définition 2.2. Soit E un K-espace vectoriel muni d’un produit hermitien (., .).
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.
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.
1. (AB)∗ = B ∗ A∗ ,
2. Ker(A∗ ) = Im(A)⊥ ,
3. Im(A∗ ) = Ker(A)⊥ .
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
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 }.
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)
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.
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. 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.
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).
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∗ .
= (µ1 , v1 , · · · , µm vm )U ∗
= AU U ∗ = A,
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
Normes matricielles
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.
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.
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.
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)
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
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
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 permetpas dedé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.
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 .
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
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
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
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,
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
(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
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.
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
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).
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.
multiplications.
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
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
opérations (en prenant en compte que la moitié des coefficients de A sont nuls) qui est
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.
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)
Ah Uh = bh , (4.6)
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 .
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
Exemple
4.3.1. Commençons
par unexemple
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.
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
donc
κ(A) = kAkkA−1 k.
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.
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 ).
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
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 )
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
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
(n − k − 1)(n − k + 2) = (n − k)2 + n − k − 2
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.
1
..
.
1
E (k) := ,
−`k+1 k 1
..
..
.
.
−`nk 1
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.
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 :
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
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
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
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
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 :
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
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).
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.
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 .
n min(i,j)
X X
∀i, j = 1, · · · , n, aij = bik bjk = bik bjk .
k=1 k=1
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
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)
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)
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}.
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.
A∗ A = R∗ Q∗ QR = R∗ R.
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
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
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 .
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
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
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
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.
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)
(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
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
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.
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 , · · · ,).
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
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
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
(D − E)xk+1 = F xk + b.
M xk+1 = M xk + b,
A = M − N. (7.2)
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.
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)..
ek := x − xk . (7.4)
∀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.
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.
ek+1 = x − xk+1 = x − M −1 N xx − M −1 b.
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.
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
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
= 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.
J := M −1 N = In − D−1 A.
JGS := M −1 N = In − (D − E)−1 A.
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
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
d’où
X X
|ai0 i0 | − |ai0 j | kyk∞ ≤ kxk∞ |ai0 j |.
j<i0 j>i0
Ainsi, on obtient
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
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,
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 .
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 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
directes.
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.
où J : Rn → R continue.
Définition 8.1. On dit qu’une fonction J : Rn → R est strictement convexe si elle vérifie :
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
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
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.
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
où ε(θ)−→0
θ→0 0. Donc
θε(θ) + θ∇J(x).z ≤ θ J(x + z) − J(x) ,
d’où
et
donc
(1 − θ)J(y) + θJ(x) > J(z) + ∇J(z). (1 − θ)(y − z) + θ(y − z) .
(1 − θ)J(y) + θJ(x) > J θx + (1 − θ)y + ∇J θx + (1 − θ)y . (1 − θ)θ(y − x) + θ(1 − θ)(x − y)
= J θx + (1 − θ)y ,
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
où ε(t)−→0
t→0 0. Alors, on obtient :
t∇J(x).y + tε(t) ≥ 0.
par
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.
Or on a
et
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
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
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.
xk+1 = xk + αk dk ,
1. On dit que d ∈ Rn \{0} est une direction de descente en x ∈ Rn s’il existe α0 > 0 tel que
Preuve.
1. Il existe α0 > 0 tel que
On pose
∀α ∈ [0, α0 ] , ϕ(α) := J(x + αd). (8.7)
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
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
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 ,
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
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.
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]).
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ù
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
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).
= − A(x − αJ(x)) − b .(Ax − b)
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.
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,
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
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
∀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
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
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
2. xn = x.
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
−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
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 }.
V ect{r0 , r1 , · · · , rk } = V ect{p0 , p1 , · · · , pk }.
k
X
k+1
rk+1 = ak+1 A r0 + ai Ai r0 .
i=0
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
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.
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ù
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.
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 .
1 (9.7)
f (xk+1 ) =
min f (x), où f (x) := Ax.x − b.x.
x∈[x0 +Kk ] 2
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
(Ax0 − b).y = 0, ∀y ∈ F .
De plus,
1
g(x) := f (P x) = P ∗ AP x.x − P ∗ b.x.
2
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 .
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
où
1
g(y) := Ay.y − (b − Ax0 ).y.
2
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
i.e.
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
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.
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.
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.
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] G. ALLAIRE., S.M. KABER, Algèbre linéaire numérique. Cours et exercices. Édition
ellipses, Paris, 2002.
[6] J.H. Wilkinson, The Algebraic Eigenvalue Problem. Clarendon Press, Oxford, 1965.
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
Polynôme caractéristique, 9