Ananum 2 C
Ananum 2 C
ANALYSE Numérique 2
SMA
Département de Mathématiques
AFILAL Soumaya
2020/2021
Table des matières
2 Analyse matricielle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1 Nombre de conditionnement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.1 Définition et propriétés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.2 Suite des puissances d’une matrice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2 Sensibilité d’un problème aux valeurs propres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
i
2.1 Principe des méthodes de gradient . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
2.2 Méthodes du gradient à pas fixe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
2.3 Méthode du gradient à pas optimal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3 La méthode du Gradient Conjugué . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
introduction
Le but du cours est de donner des méthodes qui permettent de résoudre numériquement des sys-
tèmes linéaires : A X = b
On décrira deux classe de méthodes : Méthodes directes et méthodes itératives.
A) Une méthode est dite directe si elle donne la solution en un nombre fini d’opération.
B) Une méthode itérative est une méthode qui utilise une suite qui devrait converger vers la solution.
Si la suite est convergente en un nombre fini dít’ération alors elle donne une solution exacte, sinon, on
tronque la suite pour obtenir une solution approchée .
Pourquoi la résolution de ce système suscite autant d’importance ?
On donne un exemple où on a besoin de résoudre un système de ce type pour avoir des informations
sur le résultat cherché.
On considère le problème suivant :
d 2 u(x) du(x)
− + + u(x) = f (x) , x ∈ ]0, 1[ , (E)
(P) dx2 dx
u(0) = α, et u(1) = β, (L)
ii
TABLE DES MATIÈRES Faculté des sciences
AX = b
Remarque 1
.
y j n’est pas égal à u(x j ), (u étant la solution exacte du P), mais on espère qu’il en soit proche.
On peut montrer que lorsque M tend vers l’infini Y tend vers la solution u.
1. Matrices
On note Mn,m (k) l’ensembles des matrices à n lignes et m colonnes à coefficients dans k.
Les matrices de l’ensemble Mn (k) = Mn,n (k) sont appelées matrices carrées d’ordre n.
Mn,m (k), +, . est un espace vectoriel sur k de dimension n ∗ m.
¡ ¢
Soient d 1 , ...., d n des éléments de k, on note D = D iag(d 1 , ...., d n ) la matrice de Mn (k) dont les coeffi-
cients sont :
D i, j = d i δ i, j , 1 É i, j É n
B = P −1 AP (⇔ A = PBP −1 )
(A T )−1 = (A −1 )T
Le rang d’une matrice A ∈ Mn,m (k) est le nombre maximum de lignes de A linéairement indépen-
dants et on a
rang(A) = rang(A T )
1
Faculté des sciences 2
Proposition 1
Soient A ∈ Mn,m (R). Le rang de A est le plus grand entier p tel qu’on puisse extraire de A une
matrice carrée B ∈ M p (R) qui soit inversible.
2. Espaces Hermitiens
Soit E un espace de dimension finie n sur C, ,
Une application 〈., .〉 : E × E −→ C est dite Hérmitienne.si elle vérifie :
- ∀ x, y ∈ E. 〈 x, y〉 = 〈 y, x〉
- ∀λ, µ ∈ C, ∀ x, y, z ∈ E
〈 x, λ y + µ z〉 = λ〈 x, y〉 + µ〈 x, z〉.(linéaire à droite)
- ∀ x ∈ E 〈 x, x〉 Ê 0 et 〈 x, x〉 = 0 ⇔ x = 0
Un espace E est dit hérmitien s’il est muni d’une forme hérmitienne.
Soit (E, 〈., .〉) un espace Hermitien
L’application k k : E 7−→ R+ , qui à un vecteur x ∈ E associe k xk = 〈 x, x〉 est une norme sur E. c’est à
p
Définition
Soient deux espaces hermitiens E et F et ` une application linéaire de E dans F. On définit l’appli-
cation adjointe de ` et on note `∗ l’application linéaire de F dans E définie par
Proposition 2
〈 Au, v〉F = u, A ∗ v E
®
∀ u ∈ E, ∀v ∈ F
Q −1 AQ = U
Théorème 1
Proposition 3
Soit A une matrice de Mn (R), il existe une matrice P ∈ Mn (R), inversible et une matrice R ∈ Mn (R),
triangulaire supérieure par blocs :
R 1, 1 R 1, 2 ··· R 1,n
0 R 2, 2 ··· R 2,n
R= .. .. .. ..
. . . .
0 ··· 0 R n,n
Où R i,i est soit une matrice 1 × 1 (un réel) ou une matrice de M2 (R) avec des valeurs propres
complexes conjuguées et non réelles telles que
P −1 AP = R.
T = Q ∗ AQ
R 1,1 R 1, 2 ··· R 1,n
0 R 2, 2 ··· R 2,n
R= .. .. .. ..
. . . .
0 ··· 0 R n,n
Où R i,i est soit une matrice 1×1 (un réel) ou une matrice de M2 (R) avec des valeurs propres complexes
conjuguées et non réelles
telles que
Q T AQ = R.
Théorème 2
A ∈ Mn (C) est normale (A ∗ A = A A ∗ ) si et seulement si il existe une matrice Q unitaire telle que
Q ∗ AQ soit diagonale
Théorème 3
A ∈ Mn (C) est hermitienne si et seulement si il existe une matrice Q ∈ Mn (C) unitaire telle que
Q ∗ AQ soit diagonale à coefficients réels.
Théorème 4
A ∈ Mn (R) est symétrique si et seulement si il existe une matrice Q ∈ Mn (R) orthogonale telle que
Q t AQ soit diagonale.
Définition
Définitions On rappelle qu’une norme k k dans kn est une application de kn dans R+ qui à v associe
un nombre de R+ noté kvk , avec les propriétés suivantes
1. kvk = 0 si et seulement si v = 0.
2. kαvk = |α| kvk.
3. kv + wk É kvk + kwk .
Les normes k k p
Une famille de normes très utiles est celles notées k k p , où p est un réel plus grand que ou égal à 1,
définies sur kn par :
à !1
n p
|v i | p
X
k vk p = 1 É p < +∞
i =1
kvk∞ = max |v i |
i =1,...,n
Il est clair et simple de voir que k k∞ et k k1 sont des normes. Pour montrer que kvk p est une norme
pour 1 < p < ∞,
on s’appuie sur les lemmes :
Lemme 1
Si p est un réel tel que 1 < p < ∞, et si x et y sont des réels non négatifs, alors
1 p 1 q
xy É x + y (3)
p q
1 1
où q est le réel défini par + =1
p q
Démonstration. On a
x y = exp(log(x
µ y)) = exp(log(x) + log(y))
1 1
¶
= exp log(x p ) + log(y q )
p q
5
Faculté des sciences 6
Si p est un réel tel que 1 < p < ∞, alors pour tous vecteurs x ∈ kn , y ∈ kn
| y∗ x | É k x k p . k yk q (4)
y∗ = y t
x y
Démonstration. Soient x et y deux éléments non nuls et posons e
x= y=
,e . On applique
k xk p k yk q
la formule (3) on a :
¯ ¯
¯X n x y ¯ X n |x | | y |
i i i i
y∗ e
|e x| = ¯ ¯É
¯ ¯
¯ i=1 k xk p k yk q ¯ i=1 k xk p k yk q
à !
Xn 1 | x i | p 1 | yi | q 1 1
É p + q = + =1
i =1 p k x k p q k y k q p q
Proposition 4
Démonstration. La seule propriété non immédiate est l’inégalité triangulaire : pour cela on écrit
n
p
| x i + yi || x i + yi | p−1
X
k x + yk p =
i =1
n n
| x i || x i + yi | p−1 + | yi || x i + yi | p−1
X X
É
i =1 i =1
p
où z ∈ Rn est le vecteur dont les composantes sont z i = | x i + yi | p−1 . Mais q = , donc k zk q =
p−1
p−1
k x + yk p . On en conclut que
p ¡ ¢ p−1
k x + yk p É k x k p + k yk p k x + yk p
Exercice. Montrer en trouvant des contre-exemples que si p < 1, k k p n’est pas une norme dans R2 .
La norme k k2 est la norme euclidienne bien connue : elle est associée au produit scalaire usuel, et
on a l’inégalité de Cauchy-Schwarz bien connue
Définition 1
Deux norme k k , kk0 sont équivalentes s’il existe deux constantes α, β positives telles que pour
tout u ∈ E on a
α k uk É k uk0 É β k uk
En dimension finie, toutes les normes sont équivalentes, mais les constantes d’équivalence dépendent
en général de la dimension n :
Proposition 5
Soit u un vecteur de kn : on a
1
− 1p
pour 1 É q < p < +∞, k uk p É k uk q É n q k uk p (6)
1
pour 1 É p < +∞, k uk∞ É k uk p É n k uk∞ p (7)
On a alors
à !p
n n ¡ ¢p n ¡ ¢ q p
X p
X q q
X q p
|u i | = |u i | É |u i | = k uk q car > 1
i =1 i =1 i =1 q
On en déduit que
à !1 à !1
n p n q
p q
X X
k uk p = |u i | É |u i | = k uk q .
i =1 i =1
p p 1 1
| y∗ x| É k yks k xk t avec s = et t = , ( + = 1)
p−q q s t
On a
à ! p− q à !q à !q
n n p n ¡ ¢p p q n p
q 1− p
|u i |q q p
X X X X
1.| u i | É 1 Én |u i | .
i =1 i =1 i =1 i =1
d’où
à !1
1 n p
− 1p p
1
− 1p
X
k uk q É n q |u i | = nq k uk p .
i =1
Normes matricielles
Définition 2
Remarque 2
Il existe des normes sur Mn (k) qui ne sont pas des normes matricielles ; La norme k A k = max ¯a i j ¯
¯ ¯
1É i, j É2
est une norme sur Mn (k), mais pas matricielle, en effet
µ ¶
1 1
A=B= et k A.Bk = 2 > 1 = k A k kBk
1 1
Proposition 6
A une norme k k sur kn , on peut associer une norme matricielle sur Mn (k) qu’on note encore k km
par :
Pour tout A ∈ Mn (k), on pose
k Axk k Axk
k A km = sup = sup = sup k Axk (9)
06= x∈kn k xk 06= x∈kn k xk k xk=1
k xkÉ1
Exercice. Vérifier que la norme subordonnée est bien une norme matricielle sur Mn (k).
Il reste juste à démontrer que la norme subordonnée a la propriété (8). On a par définition des normes
subordonnées que k Axk É k A km k xk pour tout x ∈ kn : donc
Lemme 3
Démonstration. exercice.
Pour 1 É p É ∞, on va noter k kmp la norme matricielle subordonnée à la norme k k p sur kn .
On a les identités suivantes
Proposition 7
n
X
k A km∞ = max |a i j | (10)
1É i É n j =1
Xn
k A km1 = max |a i j | (11)
1É j É n i =1
p p
k A km2 = σmax (A) = ρ (A ∗ .A) = ρ (A.A ∗ )
° de°f
= ° A ∗ ° m2 (12)
où ρ (A) désigne le module maximal des valeurs propres de A (rayon spectral de A).
σmax (A) désigne le module maximal des valeurs singulières de A ( racine des valeurs propres
de A ∗ A).
Démonstration.
• On a, pour tout x ∈ kn ,
¯ ¯
¯X n ¯ n
X
k Axk∞ = max ¯ a i j x j ¯ É max |a || x |
¯ ¯
1É i É n ¯ j =1 ¯ 1É iÉn j=1 i j j
à !
n
X
É max | a i j | k x k∞
1É i É n j =1
n
X
d’où l’inégalité k A km∞ É max |a i j |. Pour montrer l’égalité, on appelle i 0 l’indice de la ligne réa-
1É i É n j =1
n
X n
X a i0 j
lisant le maximum : |a i 0 j | = max |a i j |. On choisit alors x de la manière suivante : x j = si
j =1 1É i É n j =1 |a i 0 j |
Xn
a i 0 , j 6= 0 et x j = 0 sinon. Il est clair que k xk∞ = 1 et on voit que le coefficient d’indice i 0 de Ax est | a i 0 j |.
j =1
n
X
On a donc trouvé x tel que k xk∞ = 1 et k Axk∞ Ê max |a i j |. On a prouvé (10).
1É i É n j =1
• On a, pour tout x ∈ kn
¯ ¯ Ã !
X n ¯X n ¯ X n ¯ ¯ X n
k Axk1 = ¯ a i j x j ¯ É max ¯a i j ¯ |x j |
¯ ¯
j =1 i =1
¯ ¯ 1É j É n i =1 j =1
n ¯
X ¯
d’où l’inégalité k A km1 É max ¯a i j ¯. Pour montrer l’égalité, on appelle j 0 l’indice de la colonne réa-
1É j É n i =1
n ¯
X n ¯
X
¯a i j ¯. On choisit alors x de la manière suivante : x j = δ j, j .
¯ ¯
lisant le maximum : ¯a i j ¯ = max
0 0
i =1 1É j É n i =1
n ¯
X ¯
Il est clair que k xk1 = 1 et on voit que k Axk1 = ¯a i, j ¯. On a donc trouvé x tel que k xk1 = 1 et
0
i =1
n ¯
X ¯
k Axk1 Ê max ¯a i, j ¯. On a prouvé (11).
1É j É n i =1
• Pour A ∈ Mn (k) on a
k Axk22 x∗ A ∗ Ax
k A k2m2 = sup = sup
06= x∈kn k xk22 06= x∈kn k xk22
x∗ A ∗ Ax
sup = ρ (A ∗ A).
06= x∈kn k xk22
De plus, si λ est une valeur propre non nulle de A ∗ A, il existe vλ 6= 0 tel que A ∗ Av = λvλ . Alors
A A Avλ = λ Avλ . Donc Avλ est un vecteur propre (car non nul) de A A ∗ avec la valeur propre λ. Si λ
∗
est une valeur propre non nulle de A ∗ A c’est aussi une valeur propre de A A ∗ . Donc si ρ (A ∗ A) 6= 0 alors
ρ (A A ∗ ) = ρ (A ∗ A). Ceci est encore vrai si ρ (A ∗ A) = 0, car on alors A = 0. On a donc prouvé (12).
Proposition 8
Si A est normale,
k A k2m2 = ° A ∗ A °2
° °
(15)
Démonstration.
•−
kU Axk22 (U Ax)∗U Ax x∗ A ∗U ∗U Ax
kU A k2m2 = sup 2
= sup = sup
x6=0 k xk2 x6=0 k xk22 x6=0 k xk22
∗ ∗
x A Ax (Ax)∗ Ax k Axk22
= sup = sup = sup = k A k2m2
x6=0 k xk22 x6=0 k xk22 2
x6=0 k xk2
• Si A est normale, A est semblable à une matrice diagonale D par une transformation unitaire c’est
à dire ∃U unitaire telle que A = U ∗ DU où D est la matrice diagonale formée des valeurs propres de A
et donc d’après ce qui précéde on a :
k A k22 = ρ (A ∗ A) = ° A ∗ A °2
° °
Remarque 3
L’égalité (14) est vraie en particulier si A est réelle symétrique ou hermitienne. Ceci est dû à
l’existence d’une base orthonormée formée de vecteurs propres.
Proposition 9
On a les inégalités :
pour p : 1 É p < +∞,
− 1p 1
n k A k∞ É k A k p É n p k A k∞ (16)
Démonstration.
♦− soit x ∈ kn on rappele les inégalités de la proposition 2
1
k xk∞ É k xk p É n p k xk∞
Il en découle
1
k Axk∞ É k Axk p et k Axk p É n p k Axk∞
De la première inégalité on a
k Axk∞ k Axk p k Axk p 1 k Axk p
⇒ É É 1
=np
k xk∞ k x k∞ −
n p k xk p k xk p
− 1p
En prenant le su p sur x on obtient n k A k∞ É k A k p
De la deuxième on a
k Axk p 1 k Axk∞ 1 k Axk
∞
⇒ Énp Énp
k xk p k xk p k x k∞
1
En prenant le su p sur x on obtient k A k p É n p k A k∞
Les relation (17) se démontrent de la même façon.
Pour prouver °(18), on ∗utilise (15) :
2 ° ∗ °
° ρ (A °A). On verra par la suite, cf. Proposition 12 que pour toute norme matricielle
°
k A k2 = A A 2 =
k k, on a ρ (A ∗ A) É ° A ∗ A ° : donc
k A k22 = ρ (A ∗ A) É ° A ∗ A °∞ É ° A ∗ °∞ k A k∞ = k A k1 k A k∞
° ° ° °
Norme de Frobenius
On définit la norme de Frobenius d’une matrice M d’ordre n par :
k M k2F = | m i, j |2
X X
. (19)
1É i É n 1É j É n
Le carré de la norme de Frobenius de M est donc la somme du carré de ses valeurs singulières. On
en déduit que
p
k M k2 É k M kF É n k M k2 (21)
De (20), on déduit aussi que si P s’écrit P = Q ∗ MQ avec Q unitaire, alors kP kF = k M kF , car la trace
de P ∗ P est égale à celle de Q ∗ M ∗ MQ qui est égale à celle de M ∗ M, (car deux matrices équivalentes ont
les valeurs propres)
Enfin, la norme de Frobenius a la propriété (8) : en effet, en appliquant l’inégalité de Cauchy-Schwarz
dans kn , on a
k ABk2F = A i,k B k, j |2
X X X
. |
1É i É n 1É j É n 1É kÉ n
à !
2
X X X X 2
É . A i,k B k, j
1É i É n 1É j É n 1É kÉ n 1É k É n
= k A k2F kBk2F
1. Nombre de conditionnement
On s’intéresse ici à la sensibilité d’un système linéaire Ax = b, A ∈ Mn (k), x, b ∈ kn à des perturbations
du second membre b ou de la matrice A.
Définition 3
On considère une norme k k sur kn et on note encore kk la norme subordonnée dans Mn (k) :
k Mxk
∀ M ∈ Mn (k), k M k = sup . Pour une matrice A ∈ Mn (k) inversible, on définit le nombre de
06= x∈kn k xk
conditionnement de A par rapport à la norme k k par
cond kk (A) = k A k ° A −1 ° .
° °
Remarque 4
Il est clair que si α ∈ k \ {0} alors cond kk (α A) = cond kk (A), et que cond kk (A −1 ) = cond kk (A)
Un exemple important est le conditionnement par rapport à la norme k k2 , qu’on note cond 2 : on
peut le caractériser par
σmax (A)
cond 2 (A) = ,
σmin (A)
où σmax (A) et σmin (A) sont respectivement la plus grande et la plus petite valeur singulière de A,
c’est à dire la racine carrée de la plus grande et la plus petite valeur propre de A ∗ A.
Par définition de la norme k k2 , on a :
Comme A ∗ A est une matrice hermitienne positive (car 〈 A ∗ Ax , x〉 = 〈 Ax, Ax〉 Ê 0), il existe une
¡ ¢
base orthonormée ( f i ) i=1,...,N et des valeurs propres (µ i ) i=1,...,N , avec 0 É µ1 É µ2 É ... É µn tels que
n
A ∗ A f i = µ i f i pour tout i ∈ {1, ..., N }. Soit x = α i f i ∈ Rn . On a donc
X
i =1
à : ! à !
n n
< A ∗ Ax, x >= 〈
X X
µi αi f i , αj f j 〉 =
i =1 j =1
n n
µ i α2i É µn α2i É µn k xk22
X X
i =1 i =1
On en déduit que k A k22 É ρ (A ∗ A). Pour montrer qu’on a égalité, il suffit de considèrer le vecteur
x = f n ; on a en effet k f n k2 = 1 , et k A f n k22 = 〈 A ∗ A f n , f n 〉 = µn = ρ (A ∗ A).
ce qui permet d’établir la formule
|λmax (A)|
cond 2 (A) =
|λmin (A)|
où |λmax (A)| et |λmin (A)| sont les plus grand et plus petit modules des valeurs propres de A.
Proposition 10
Si Ax = b et A(x + δ x) = b + δ b on a
kδ x k kδ bk
É cond kk (A) (22)
k xk k bk
Démonstration.
on a A(x + δ x) = b + δ b, ce qui implique que δ x = A −1 δ b, donc kδ xk É ° A −1 ° kδ bk. D’autre part
° °
kδ xk ° kδ bk kδ bk
É k A k ° A −1 °
°
k bk É k A k k xk, par suite = cond kk (A) .
k xk k bk k bk
k Axk k A yk
pour la dernière assertion est on prend x réalisant le maximum : = max = k A k et δ b
° −1 ° ° −1 ° k xk y6=0 k yk
° A δ b° ° A y° °
= ° A −1 °. L’inégalité (22) est donc optimale.
°
réalisant le maximum = max
kδ bk y6=0 k yk
On s’intéresse maintenant à la sensibilité aux perturbations de la matrice A : soit donc une pertur-
kδ xk
bation δ A de A et x + δ x la solution de (A + δ A)(x + δ x) = b. On a δ x = − A −1 δ A(x + δ x), d’où É
k x + δ xk
° A ° kδ A k = cond kk (A) kδ A k
° −1 °
k Ak
Proposition 11
Si Ax = b et (A + δ A)(x + δ x) = b on a
kδ xk kδ A k
É cond kk (23)
k x + δ xk k Ak
Démonstration.
° −1 ° La dernière assertion est prouvée en prenant δ A = I et y ∈ kn réalisant le maxi-
° A y°
mum de . On prend alors b = (A + δ A)y et x tel que Ax = b. On a δ x = y − x. Pour ce choix de
k yk
matrices et de vecteurs, l’inégalité (23) devient une égalité.
Définition 4
Soit A une matrice de Md (C). On sait que le polynôme caractéristique de A a d racines complexes.
On appelle spectre de A et on note sp(A) = σ(A) l’ensemble formé de ses d valeurs propres (comptées
avec leur multiplicité). On appelle rayon spectral de A et on note ρ (A) le réel positif ou nul défini
par
Proposition 12
1. Soit k k une norme matricielle subordonnée sur Md (C) (ayant donc la propriété multiplica-
tive (8))
ρ (A) É k A k (25)
2. De plus pour toute matrice A et pour tout réel positif ε, il existe une norme matricielle k k
subordonnée à une norme vectorielle telle que
k A k É ρ (A) + ε
Démonstration. Démontrons le premier point. Soit k kune norme matricielle sur Md (C) On peut
alors définir une norme vectorielle sur Cd qu’on note ||| ||| par
ρ (A)|||v||| = |||ρ (A)v||| = ||| Av||| = k(Av, ..., Av)k = k A.(v, ..., v)k
É k A k k(v, ..., v)k = k A k |||v|||,
ρ (A) É k A k .
Pour le deuxième point, on sait qu’il existe une matrice unitaire U (U ∗ = U −1 ) et une matrice trian-
gulaire supérieure R telles que A = U RU ∗ . La matrice triangulaire R s’écrit
λ1
r 12 ··· ··· r 1d
0 λ2 r 23 ··· r 2d
∗
.. .. .. .. ..
R = U AU =
. . . . .
.. ..
. 0 . λd −1 r d −1,d
0 ··· ··· 0 λd
λ1 η r 12 ηd −1 r 1d
··· ···
0 λ2 η r 23 ··· ηd −2 r 2d
−1
.. .. .. .. ..
D η RD η = . . . . .
.. ..
. λd −1 η r d −1,d
. 0
0 ··· ··· 0 λd
Proposition 13
1. Pour toute norme matricielle sur Md (C) et pour toute matrice A ∈ Md (C), on a l’implication
k A k < 1 ⇒ I + A inversible
°(I + A)−1 ° É
° ° 1
1 − k Ak
Démonstration.
1. Si I d + A n’est pas inversible, il existe u 6= 0 tel que Au = − u, et k A k Ê ρ (A) Ê 1. Donc, si k A k < 1
alors I d + A est inversible.
° 2. Si −k1 °k est une norme subordonnée, on a k I d k = 1 comme (I d + A)−1 = I d − A(I d + A)−1 , et donc
°(I d + A) ° É 1 + k A k °(I d + A)−1 ° ce qui donne le résultat désiré.
° °
Remarque 5
On a aussi par contraposition : si I d + A n’est pas inversible alors k A k Ê 1, pour toute norme
matricielle subordonnée ou non.
On dit qu’une suite de matrices (A n )n∈N dans Md,d 0 (C) tend vers 0, si pour une norme k k définie
sur Md,d 0 (C), la suite (k A n k)n∈N tend vers 0 quand n → ∞.
Comme toutes les normes sont équivalentes (dimension finie), cette convergence a lieu pour
toutes les normes.
Si d = d 0 , en prenant les normes subordonnées aux normes vectorielles, on voit que
A n → 0 ⇔ ∀ v ∈ C, A n v → 0
Théorème 5
Soit A ∈ Md (C). Une condition nécessaire et suffisante pour que la suite des puissances de A,
(A n )n∈N , converge vers 0 est que
Démonstration. Soit une matrice A ∈ M°d (C)°telle que A n → 0 quand n → ∞. Il est clair que ρ (A n ) =
n
ρ (A). Mais d’après la proposition 9, ρ n (A) É ° A n °, pour toute norme matricielle. Donc ρ n (A) → 0, ce qui
implique que ρ (A) < 1.
Réciproquement, soit une matrice telle que ρ (A) < 1. D’après la proposition 9, il existe une norme
matricielle
° n° k k subordonnée à une norme vectorielle, telle que k A k < 1. Comme k k a la propriété (8),
° A ° É k A kn → 0 quand n → ∞.
Le résultat suivant est une caractérisation du rayon spectral d’une matrice :
Théorème 6
° °1
ρ (A) É lim ° A n ° n (28)
1
D’autre part, pour ε > 0, considérons la matrice A ε = A. On a ρ (A ε ) < 1, donc lim A εn = 0 : il
ρ (A) + ε n→∞
existe donc N > 0 tel que pour tout n > N,
° n°
°A ° É 1
ε
° A ° É ρ (A) + ε n
° n° ¡ ¢
donc
° °1
lim ° A n ° n É ρ (A)
n→∞
Proposition 14
∞
A n est convergente si et seulement si ρ (A) < 1. On a alors
X
La série
n=0
∞
A n = (I d − A)−1
X
n=0
Démonstration. Pour tout ε > 0, il existe une norme subordonnée k k vérifiant k A k É ρ (A) + ε, ce qui
montre que
∞
A n est absolument
X
si ρ (A) < 1, il existe une norme subordonnée k k vérifiant k A k < 1 ; la série
n=0
convergente pour cette norme et on vérifie que
∞ N
A n = lim (I d − A) A n = I d − lim A N +1 = I d
X X
(I d − A)
n=0 N →∞ n=0 N →∞
∞
A n est convergente, et λ une valeur propre de A (complexe)
X
Réciproquement, on suppose que
n=0
et u un vecteur propre associée, on a
¯ ¯ ° ° ° ° ° °
¯XN ¯ °XN ° °XN ° °X N °
n¯ n ° ° n ° ° n°
¯ λ ¯ k uk = ° λ u° = ° A u° É ° A ° k uk
¯ °
¯n=0 ¯ °n=0 ° °n=0 ° °n=0 °
¯ ¯ ° °
¯XN ¯ °XN °
n¯ ° n°
On déduit alors que pour tout N ∈ N ¯ λ ¯ É ° A ° et donc
¯
¯n=0 ¯ °n=0 °
∞
λn converge, ce qui implique que |λ| < 1. On en déduit que ρ (A) < 1.
X
n=0
Remarque 6
Exemple 1
son polynôme caractéristique est x n ± ε : les valeurs propres sont nulles si ε = 0 et ce sont les racines
n ièmes de ±ε si ε 6= 0. Si n = 10 et si ε = 10−10 , les valeurs propres ont pour module 0.1. On voit donc
qu’une perturbation de 10−10 d’un coefficient de la matrice entraîne des variations importantes des
valeurs propres.
On note σ(A) le spectre d’une matrice A ∈ Mn (C)
Pour tenter de comprendre la sensibilité des valeurs propres aux perturbations d’une matrice, on a
le résultat suivant :
Théorème 7
et
D i = µ ∈ C; ¯µ − λ i ¯ É cond kk (P) kδ A k
© ¯ ¯ ª
(30)
série. Les propriétés de la norme impliquent alors que °D iag((λ1 − µ)−1 , ......, (λn − µ)−1 )° °P −1 ° kδ A k kP k Ê
° °° °
¯−1
1, soit encore max ¯λ i − µ¯ cond kk (P) kδ A k Ê 1. On en déduit que
¯
Remarque 7
La sensibilité d’un probléme aux valeurs propres d’une matrice A diagonalisable par rapport aux
perturbations dépend donc du conditionnement de la matrice de passage P et non pas de celui de A.
Remarque 8
Si A est normale, on sait que A est diagonalisable avec P unitaire. On a cond 2 (P) = 1. Dans ce cas
les valeurs propres de A sont contenues dans des cercles centrés aux valeurs propres de A et de
rayon kδ A k2 .
Remarque 9
On a un résultat plus précis si A et δ A sont hermitiennes. Dans ce cas, le théorème du min − max
permet de dire que si on ordonne les valeurs propres par valeur croissante, les k ièmes valeurs
propres de A et A + δ A sont distantes d’au plus kδ A k2 .
Ax = b,
Définition 6
On dit qu’une méthode de résolution est directe, si elle donne la solution du système Ax = b en un
nombre fini d’opérations élémentaires (+, −, ×, ÷)
ai i =
6 0 , 1ÉiÉn
Le système s’écrit
a 11 x1 + a 1 2 x2 + ... + a 1 n xn = b 1
a 2 2 x2 + ... + a 2 n xn = b 2
..
.
..
.
a nn xn = b n
bn
xn =
a nn
xn−1 = (b n−1 − a n−1,n xn )/a n−1,n−1
..
.
x1 = (b 1 − a 1,2 x2 − ...... − a 1,n xn )/a 1,1
Coût du calcul de xk
19
Faculté des sciences 20
Remarque 10
Ax = b,
où b ∈ Cn .
Le but est de se ramener à des systèmes triangulaires
Première étape : élimination de l’inconnue x1 des lignes de 2 à n. On va chercher un système
équivalent (ayant la même solution x), où x1 n’apparaît que dans la ligne N ◦ 1.
Première Hypothèse :
On peut alors former une combinaison linéaire de la ligne i > 1 avec la ligne 1 pour éliminer l’inconnue
a i1
x1 dans la ligne i , c’est à dire on multplie la ligne 1 par (− (1) ) et on l’ajoute à la ligne i : la ligne i
π
devient
a i1 a i1 a i1
0x1 + (a i 2 − a )x + ....... + (a in −
(1) 12 2
a )x = b i −
(1) 1 n n
b1 ,
π π π(1)
ce qu’on peut reécrire
a(2)
i2 2
x + ....... + a(2)
in n
x = b(2)
i
∀i > 1
où on a posé
a i1
a(2)
i2
= a i2 − a 12
π(1)
..
.
a i1
a(2)
in
= a in − (1) a 1 n
π
a i1
b(2)
i
= b i − b1
π(1)
et aussi pour 1 É j É n,
a(2)
1j
= a1 j ∀ 1 É j É n et b(2)
1 = b1
A (2) x = b(2)
avec
On remarque aussi, que l’inverse de M (1) noté L(1) est donnée par
1 0 ··· ··· 0
a 21 .. ..
+ 1 . .
a 11
(1)
.. .. .. ..
L = . 0 . . .
.. .. .. ..
. . . . 0
a n1
+ 0 ··· 0 1
a 11
π( i) = a(iii) 6= 0, pour 1 É i É k − 1.
A ( k) x = b ( k)
et A
g ( k) est une matrice carrée d’ordre n − k + 1 :
k) k)
a(kk a(kn
···
( k) = .. ..
A
g
. .
k)
a(nk k)
· · · a(nn
On va chercher un système équivalent (ayant la même solution x), où xk n’apparaît pas dans les
lignes, de k + 1 à n.
k-ième Hypothèse :
k) k)
a(k,k 6= 0 ⇒ on appelle k i ème pivot π(k) = a(kk
On introduit
1 0 0
··· ··· ··· ··· ···
.. ..
0 1 . .
.. .. .. .. ..
. . . . .
.. .. .. ..
. 0 . . .
a(kk+) 1,k
( k) .. .. .. ..
M =
. . − ( k) 1 . .
π
.. .. .. .. ..
. . 0 . . .
.. .. .. .. ..
. . . . . 0
k)
a(n,k
..
0 ··· 0 − ( k) 0 . 0 1
π
alors
A (k+1) x = b(k)
et
k+1) k+1)
a(11 a(12 a(1kn+1)
··· ··· ··· ··· ···
k+1) ..
0 a(22 .
.. .. k+1) ..
. . a(33 .
.. .. .. ..
. . . .
( k+1)
A =
k+1) k+1)
a(kk a(k,n
0 ··· ··· 0 ··· ···
.. ..
. . 0
.. .. ..
. . . A (k+1)
â
0 ··· ··· 0 0
Après n − 1 étapes Si on itère n − 1 fois, et si les pivots apparus sont tous non nuls :
π( i) = a(iii) 6= 0, pour 1 É i É n − 1.
et donc gràce à cette méthode dite méthode d’élimination de Gauss, on arrive au système triangu-
laire équivalent A (n) x = b(n) , avec
(1)
π ∗ ··· ··· ∗
.. ..
0
π(2) . .
( n)
.. . . . . . . ..
A = . . . . .
.
.. ..
.
. . . ∗
0 ··· ··· 0 π( n )
π(n) 6= 0
Si on appelle L la matrice triangulaire inférieure avec des 1 sur la diagonale obtenue par
L = L(1) .....L(n−1)
U = A ( n)
on a
A = LU.
Remarque 11
Il est aussi possible avec le même algorithme d’obtenir la factorisation LU d’une matrice de Mmn (C),
avec m Ê n, si les pivots qui apparaissent sont non nuls.
1 0 0
··· ··· ··· ··· ···
.. ..
0 1 . .
.. .. .. .. ..
. . . . .
.. .. .. ..
. 0 . . .
a(kk+) 1,k
M ( k) = .. .. .. ..
. . − 1 . .
π( k )
.. .. .. .. ..
. . 0 . . .
.. .. .. .. ..
. . . . . 0
k)
a(n,k
..
0 ··· 0 − ( k) 0 . 0 1
π
n3
Il faut donc en moyen aditions, multiplications et divisions.
3
3. Utilisations de la factorisation LU
car det(L) = 1. La factorisation LU permet donc de calculer le déterminant de A avec une complexité
n3
de l’ordre de opérations élémentaires, plutôt que n! avec la formule du déterminant !
3
Remarque 12
Calculer le déterminant d’une matrice d’ordre 100 avec la formule du déterminant prendrait un
temps supérieur à mon age, même en utilisant le caculateur le plus puissant disponible aujour-
d’hui. ! ! ! !
L y = b,
U x = y,
n3
soit une remontée. Si on a p systèmes à résoudre, la complexité est de l’ordre de + pn2
3
n3
adds, mults et division, plutôt que p .
3
Remarque 13
Comme à la remarque précédente, calculer la solution du système linéaire en appliquant les for-
mules de Crammer nécessiterait un temps inimaginable dés que n vaut quelques dizaines.
4. Algorithmes
Voici un algorithme réalisant la factorisation LU d’une matrice A et stockant cette factorisation dans
la place mémoire occuppée par A : (la matrice A est perdue, on dit qu’on écrase A).
Algorithme de Doolitle pour la matrice A
[m,n]=dimension de A ;
if m6=n alors mensionner une erreur, matrice n’est pas carréee, fin.
L =matrice identité ; U=matrice nulle ;
pour i=1 :n-1
pour j=i :n
iX
−1
U i j =A i, j − L i k × Uk j
k=1
fin ;
pour j=i+1
à :n !
iX
−1
L j i =( A j i − L j k × Uk i /U i i
k=1
fin ;
end ;
nX
−1
Un n = Un n − L n k × Uk n
k=1
Donner U et L.
Remarque 14
unicité
Théorème 8
A = LU
où L est triangulaire inférieure avec des 1 sur la diagonale et U est triangulaire supérieure et
inversible si et seulement si tous les blocs A p , 1 É p É n, sont inversibles, cette factorisation est
unique. De plus si A est réelle, alors L et U le sont aussi.
Démonstration. Si A admet une factorisation LU avec L et U inversibles, alors les blocs A p sont
inversibles.(exercice)
La démonstration de la réciproque demande un peu plus de travail :
Existence
La démonstration se fait par récurrence : la propriété est clairement vraie si n = 1. Supposons la
propriété vraie pour p É n − 1, et soit une matrice A ∈ Mn (C) dont tous les blocs A p sont inversibles.
L’hypothèse de récurrence implique l’existence d’une factorisation LU pour le bloc A n−1 ⇒ A n−1 = L0U 0 .
On va chercher une factorisation LU de A sous la forme
µ 0 ¶µ 0 ¶
L 0 U y
A=
xT 1 0 z
où x, y ∈ Cn−1 et z ∈ C,
L0 U0 L0U 0 L0 y
µ ¶µ ¶ µ ¶
0 y
=
xT 1 0 z xT U 0 T
x +z
Par identification on a :
L−1 L0 = U 0U −1
Mais L−1 L0 est triangulaire inférieure avec des 1 sur la diagonale et U 0U −1 est triangulaire supé-
rieure. On a donc
¯ L = L0
¯
−1 0 0 −1
L L = U U = I d ⇒ ¯¯
U = U0
Remarque 15
La méthode de Gauss sans pivotage peut être bloquée si on tombe sur un pivot nul. Pour pallier cet
inconvénient, on introduit une méthode qui permet d’éviter ce blocage en échangeant des lignes du
système considéré. On obtient alors une méthode qui fonctionne pour toute matrice inversible :
Noter que pour éliminer x3 et x4 des lignes l 3 et l 4 , il est impossible d’utiliser la ligne l 2 car a(2)
22 = 0
(un ordinateur mentionnera une erreur et arrête le calcul).
On permute alors la ligne l 2 soit avec la ligne l 3 ou l 4 (un ordinateur préfera la ligne l 4 à la ligne l 3 )
2 1 0 4 2
0
0 −3 −12 −1 0
2
A (2) = et b(2) =
0 −1 −2 0 −2
0 0 3 1 0
Définition 7
On appelle permutation de {1, ..., n} une bijection de {1, ..., n} sur {1, ..., n}.
Définition 8
Soit σ une permutation de {1, ..., n}, on associe à σ une matrice P d’ordre n, dite de permutation par
Lemme 4
Soient P, Q ∈ Mn (R) deux matrices de permutation, alors PQ est une matrice de permutation.
Définition 9
P i,(klj ) = δ i, j si i 6= k et j 6= l
( kl )
P k, j
= δl, j , 1É jÉn
( kl )
P l, j = δk, j , 1É jÉn
B = P (kl ) A
B i j = A i j si i 6= k et j 6= l
Bk j = A l j 1 É j É n
Bl j = A k j 1 É j É n
P (kl ) P (kl ) = I n
Lemme 5
La méthode du pivot partiel est un algorithme dont l’application permet de prouver le théorème
suivant. La méthode du pivot partiel a été présentée en cours sur un exemple et revue dans la preuve
du théorème :
Théorème 9
P A = LU
Par récurrence sur les éliminations de Gauss : à la k i ème étape, supposons que l’on ait prouvé l’égalité :
1 i n
z }| {
1 0 ··· ··· ··· ··· ··· 0
.. .. ..
0 . . .
.. .. .. .. ..
. . . .
.
.. .. ..
( i)
. 0 1 . .
L =
.. .. .. .. ..
. . ∗ . .
.
.. .. .. .. ..
. . 0 . . .
∗
.. .. ..
.. ..
. .
. . ∗ . 0
0 ··· 0 ∗ 0 ··· 0 1
et
a(1k,1)
··· ··· ··· ··· a 1,n
.. ..
0 . .
.. .. .. ..
. . . .
A ( k) =
..
k) k)
a(k,k a(k,n
. 0 ···
.. .. .. ..
. . . .
( k) ( k)
0 ··· 0 a n,k ··· a n,n
On effectue la k i ème élimination de Gauss avec pivotage partiel : avant d’éliminer l’inconnue xk , on
échange les lignes k et r k > k. On peut choisir r k Ê k tel que
¯ ¯
|a(rk),k | = max ¯a(j,k
¯ k) ¯
¯
k kÉ j É n
L’inversibilité de A assure que a(rk),k 6= 0. On peut donc s’en servir de pivot pour la prochaine élimina-
k
tion de Gauss. Le pivotage puis l’élimination de Gauss s’écrivent matriciellement
avec P (k,r k ) matrice de permutation élémentaire entre les lignes k et r k , L(k) triangulaire inférieure,
avec des 1 sur la diagonale, et
(k+1)
a(1k,n+1)
a ··· ··· ··· ···
1,1 ..
..
0 . .
. .. .. ..
.. . . .
A (k+1) =
..
0 a(kk++11),k+1 · · · k+1)
a(k,n
.
.. .. .. ..
. . . .
( k+1) ( k+1)
0 ··· 0 a n,k+1 · · · a n,n
comme
³ ´−1
P (k,r k ) = P (k,r k )
A (k) = P (k,r k ) L(k) A (k+1)
On a
Lemme 6
Soit P (k,r k ) la matrice de permutation élémentaire entre les lignes k et r k > k alors ∀ i < k, si L( i)
s’écrit
1 0 ··· ··· ··· ··· ··· 0
..
0 ... ...
.
..
. . ..
.. .. ... ... .
.
α
. .. ..
←k
.
.
( i) . 0 1 . ..
L = . et C i =
. .. .
. .. . .. ...
. .
β ← rk
.. .. .. .. ..
..
. . Ci 0 . . .
.
.. .. .. . .
..
. .
. . . 0
0 ··· 0 0 ··· 0 1
alors
où
1 0 ··· ··· ··· ··· ··· 0
.. .. ..
0 . . .
..
.. .. .. .. ..
.
. . . . .
β
.. .. ..
←k
.
0
( i) . 0 1 . 0
..
L = et C i =
.. .. .. .
.. ..
. . . .
.
α ← rk
.. .. .. .. ..
..
. . C 0i 0 . . .
.
.. .. ..
.. ..
. .
. . . 0
0 ··· 0 0 ··· 0 1
Donc,
Par suite,
où
_ Q (k) = P (k,r k ) Q (k−1) est une matrice de permutation
− L0(1) ..... L0(k−1) L(k) est triangulaire inférieure avec des 1 sur la diagonale.
On a montré que la propriété est vraie pour k + 1.
Remarque 16
Dans la méthode de Gauss avec pivotage partiel, on ne doit pas stocker la matrice P mais seulement
les r k .. Le coût mémoire et la complexité sont du même ordre que ceux de la factorisation LU. La
résolution du systéme linéaire Ax = b connaissant P, L et U se fait de la manière suivante :
y = Pb
Lz = y
Ux = z
Influence du pivotage sur la précision. Le pivotage partiel ne sert pas seulement à garantir
l’obtention d’une factorisation, il garantit aussi une bien meilleure stabilité que la factorisation LU,
pour des matrices A mal conditionnées : prenons le système Ax = b où
10−9
µ ¶ µ ¶
1 1
A= et b =
1 1 2
1 1 − 2 × 10−1
µ ¶
dont la solution est x = , ∼ (1, 1). Supposons que la machine utilisée pour
1 − 10−9 1 − 10−9
résoudre ce système ne garde que 8 chiffres significatifs : la factorisation LU calculée par la machine est
10−9
· ¸ · ¸
1 1 0
U= et L =
0 1 − 109 109 1
· ¸ · ¸
1 1 1 0
U= et L =
0 1 10−9 1
7. Méthode de Cholesky
Dans le cas où A est hermitienne et définie positive, on peut toujours effectuer la factorisation LU
décrite ci-dessus. De plus, on peut trouver une factorisation du type A = BB∗ moins gourmande en place
mémoire.
Théorème 10
Si A est hermitienne et définie positive, alors A admet une unique factorisation LU, où L est
triangulaire inférieure avec des 1 sur la diagonale et U est triangulaire supérieure et inversible.
Démonstration. Si A est hermitienne définie positive, ses blocs A p 1 É p É n,, le sont aussi, et on
peut appliquer le Théorème 1.
Théorème 11
Si A est hermitienne et définie positive, alors il existe une unique matrice B triangulaire inférieure
et inversible, avec des coefficients réels positifs sur la diagonale, telle que
A = BB∗
Cette factorisation porte le nom de factorisation de Cholesky (qui était un colonel de l’armée de Napoléon).
Si A est réelle symétrique définie positive, B est réelle.
Démonstration.
On part de la factorisation LU de A. Cette factorisation A = LU est unique si la matrice L est
triangulaire inférieure avec des 1 sur la diagonale et U est triangulaire supérieure inversible. Appelons
D la diagonale de U. Comme pour tout p, 1 É p É n, det(D p ) = det(A p ) > 0, tous les coefficients de D sont
1 1
strictement positifs. Notons B = LD 2 et M = D − 2 U. On a bien A = BM. Montrons que M = B∗ . Comme
A est hermitienne, M ∗ B∗ = A ∗ = A = BM. On a donc B−1 M ∗ = M(B∗ )−1 . Mais B−1 M ∗ est triangulaire
inférieure, avec des 1 sur la diagonale tandis que M(B∗ )−1 est triangulaire supérieure, avec des 1 sur la
diagonale. Donc B−1 M ∗ = M(B∗ )−1 = I, donc M = B∗ et on a A = BB∗ . Pour l’unicité, on procéde comme
dans la démonstation de l’unicité pour la factorisation LU.
Exercice. On suppose que la matrice A est symétrique et définie positive. Montrer qu’il existe B
triangulaire supérieur telle que A = BB t
Calcul de la matrice B(cas réel)
On suppose A symétrique et définie positive et A = BB t avec B triangulaire inférieure et D iag(B) > 0,
B = (b i, j ) A = (a i, j ) on a :
b 1, 1 0 ··· ··· 0 b 1, 1 b 1,2 ··· ··· b 1,n
.. .. .. .. .. ..
b
2, 1 . . .
0 . . .
. .. .. .. .. .. .. ..
. . . × . . = a i, j
. . . .
. ..
.. ..
.
. . 0 . . 0
··· ···
b n,1 ··· ··· ··· b n,n 0 ··· ··· 0 b n,n
j
X
b i,k b j,k = a i, j
k=1
b21,1 = a 1,1
p
b 2,1 b 1,1 = a 2,1 b 1,1 = a 1,1
.. ⇒ a i,1
. b i,1 = p
a 1, 1
b n,1 b 1,1 = a n,1
Supposons qu’on ait calculé les j − 1 premières colonnes de B, c’est à dire que les coefficients b i,k ,
pour 1 É i É n, et 1 É k É j − 1 sont connus. On calcule alors b i, j pour 1 É i É n.
De la formule générale
j
X
a i, j = b i,k b j,k , i = 1, ...., n
k=1
et pour i = j on a
j jX
−1
b2j,k = b2j,k + b2j, j
X
a j, j =
k=1 v k=1
jX
−1
u
u
⇒ b j, j = ta i, j − b2j,k
k=1
8. Factorisation QR
vv∗
Hv = I − 2 (2)
v∗ v
Démonstration.
vv∗ ∗ (vv∗ )∗ vv∗
µ ¶
∗
1. H v = I − 2 ∗ = I − 2 ∗ ∗ = I − 2 ∗ = Hv .
v vµ µ v)
¶(v ¶ v v
∗ 2 vv∗ vv∗ vv∗ vv∗ vv∗
2. H v H v = H v = I − 2 ∗ I −2 ∗ = I −4 ∗ +4 ∗ ∗
v v v v v v v vv v
vv∗ vv∗
= I −4 ∗ +4 ∗ = I
v v v v
Donc H v est unitaire.
H v unitaire et hermitienne ⇒ H v−1 = H v .
vv∗ −2
3. H v − I = −2 ∗ = vv∗ .
v v kvk22
On note (v i )ni=1 les coordonnées de v, alors le produit
c’est une matrice dont les colonnes se déduisent d’une seule colonne, donc
λλvv∗
4. Hλv = I − 2 = Hv .
λλv∗ v
Si v est un vecteur unitaire alors H v = I − 2vv∗ .
Proposition 15
Soit e un vecteur unitaire de Cn et x un vecteur non nul de Cn . Il existe un vecteur non nul v ∈ Cn
tel que H v x soit colinéaire à e.
c’est à dire ∀ e ∈ Cn , ∀ x ∈ Cn , ∃v ∈ Cn , ∃α ∈ C tel que H v x = α e.
H v x = ± k xk e. (3)
Dans le cas général, on trouve aussi deux vecteurs v sous cette forme, et au moins l’un d’entre eux
est non nul.
Exercice Dans le cas réel, si e est unitair, montrer la formule H v x = ± k xk e.
Remarque 17
Si x est presque colinéaire à e, on a intérêt en pratique à choisir le vecteur v pour que v∗ v, qui est au
dénominateur de (2), ne soit pas petit. En effet, en précision finie, il faut éviter les divisions par des
nombres petits. En particulier si v ∈ Rn , on préférera le vecteur v+ = x + si gne(x∗ .e) k xk e au vecteur
v− = x − si gne(x∗ .e) k xk e, car kv− k est petit.
Théorème 12
Soit A une matrice de Mm,n (C) avec m Ê n. Il existe une matrice unitaire Q ∈ Mm (C) et une matrice
triangulaire supérieure R ∈ Mm,n (C), telles que
A = QR.
Soit x(2) le vecteur de Cm−1 obtenu en prenant les (m − 1) derniers coefficients de la deuxième colonne
de H1 A, e 2 le vecteur de Cm−1 , e 2 = (1, 0, ...., 0), il existe ∃v2 ∈ Cm−1 et α2 ∈ C tel que H v2 x(2) = α2 e 2 . On
pose
1 0 ··· 0
0
H2 = .
. . H
v2
0
On a
α1
∗ ··· ∗
0 α2 ··· ∗
..
H2 (H1 A) = . 0 ∗ ∗
.. .. .. ..
. . . .
0 0 ∗ ··· ∗
α1
∗ ∗ ··· ··· ∗
..
0 . ∗ ··· ··· ∗
..
0 . αk ··· ··· ∗
H k ....H2 H1 A =
..
. 0 ∗ ··· ∗
.. .. .. .. ..
. . . . .
0 ··· 0 ∗ ··· ∗
Soit x(k+1) le vecteur de Cm−k obtenu en prenant les (m − k) derniers coefficients de la colonne k + 1
de H k ....H2 H1 A, e k+1 le vecteur de Cm−k , e k+1 = (1, 0, ...., 0), il existe ∃vk+1 ∈ Cm−k et αk+1 ∈ C tel que
H vk+1 x(K +1) = αK +1 e K +1 . On pose
1 0 0 0 ··· 0
.. .. .. ..
0
. 0 . . .
0 0 1 0 ··· 0
H k+1 =
0 ··· 0
.. .. ..
. . . H vk+1
0 ··· 0
On a alors
α1
∗ ∗ ··· ··· ∗
..
0 . ∗ ··· ··· ∗
..
0 . αk+1 ··· ··· ∗
H k+1 H k ....H2 H1 A
..
. 0 ∗ ··· ∗
.. .. .. .. ..
. . . . .
0 ··· 0 ∗ ··· ∗
Donc la recurrence est établie, comme m Ê n on peut itérer ce procédé et construire n matrices H i
hermitienne et unitaires telles que R = H n ....H1 A soit une matrice triangulaire supérieure, on note
Q = H1 ....H n la matrice unitaire, et on a A = QR.
Utilisation de la factorisation QR
Q −1 = Q ∗ = H n ....H1
n
X
La complexité de la résolution du système Q y = b est donc 3 (m − i) adds+mults.
i =1
3 2
Si m = n, la complexité est de l’ordre den .
2
Si la matrice A est carrée d’ordre n et inversible, alors pour résoudre Ax = b, on résout d’abord
Q y = b comme ci-dessus, puis Rx = y par une remontée. La complexité totale est de l’ordre de 2n2 .
2. Si A ∈ Mn (C) est inversible, alors
4. Si A ∈ Mm,n (C), m Ê n, est factorisée sous la forme A = QR, alors résoudre un systéme de la forme
A ∗ Ax = b est facile si rang(A) = n, car A ∗ A = R ∗ R et rang(R) = n, et on peut résoudre A ∗ Ax = b par
une descente(de R ∗ ) -remontée (de R).
Théorème 13
Soit A ∈ Mm (C).
1) On peut trouver une factorisation QR telle que tous les coefficients diagonaux de R sont réels
positifs.
2) Si A est inversible, cette factorisation est unique.
r i,i si r 6= 0
i,i
di= |r |
i,i
1 si r i,i = 0
A = Q 1 R1 = Q 2 R2
telles que tous les coefficients diagonaux de R 1 et R 2 sont réels positifs. Ils sont strictement positifs
car A est inversible. On a alors Q 2∗ Q 1 = R 2 R 1−1 . Mais Q 2∗ Q 1 est unitaire tandis que R 2 R 1−1 est triangulaire
supérieure avec des coefficients diagonaux réels strictement positifs. On peut vérifier que l’Identité est
la seule matrice unitaire et triangulaire supérieure avec des coefficients diagonaux réels positifs. Donc
Q 2 = Q 1 et R 2 = R 1 .
Lemme 7
A T Ax − A T b = 0 (EN)
Démonstration.
(⇒) Le problème de minimiser J revient à trouver z ∈ I m(A) minimisant la distance k z − bk2 . On sait
que I m(A)⊥ = ker(A T ), et donc que I m(A) ⊕ ker(A T ) = Rn . Prendre pour z la projection de b sur I m(A)
parallèlement à ker(A T ) répond donc à la question, et après on prend x tel que Ax = z (qui existe car
z ∈ I m(A) mais qui n’est pas unique si ker(A) 6= {0}).
On a donc trouvé x solution du problème au sens des moindres carrés.
La fonction J est différentiable sur Rn et son gradient vaut
grad(J)(x) = 2(A T Ax − A T b)
Proposition 16
Si rang(A) = n, le problème aux moindres carrés a une solution unique x = (A T A)−1 A T b. Sinon,
les solutions du problème aux moindres carrés forment un espace affine parallèle à ker(A).
Démonstration. On a
ker(A) ⊂ ker(A T A) est vraie.
y ∈ ker(A T A) ⇒ A T A y = 0 ⇒ yT A T A y = 0 ⇔ k A yk2 = 0 ⇔ y ∈ ker(A)
Donc ker(A) = ker(A T A).
Si rang(A) = n, ker(A) = {0} et l’équation normale (E.N.) a une solution unique x = (A T A)−1 A T b et
il en va de même pour le problème aux moindres carrés par le Lemme précédent. Sinon, les solutions de
(E.N.) forment un espace affine.
On peut trouver une matrice orthogonale Q ∈ Mm (R) et une matrice triangulaire supérieure R ∈
Mm,n (R) telles que A = QR. Le système A T Ax = A T b est équivalent à R T Rx = R T Q T b, qui est facile à
résoudre (une descente et une remontée), si rang(R) = n. De plus cond 2 (R T R) = cond 2 (A T A).
Remarque 18
Si A est carrée il n’est pas recommandé d’utiliser une méthode des moindres carrés.
Pour des systèmes linéaires de grande taille, les méthodes directes (du type élimination de Gauss ou
Cholesky), peuvent s’avérer trop coûteuses en temps de calcul ou en place mémoire. L’idée est alors de
ne plus chercher à résoudre exactement le système linéaire mais d’approcher sa solution par une suite
de vecteurs, construite à l’aide d’une formule de récurrence simple.
Ax = b, (4.1)
où A ∈ Md (C) est inversible, x, b ∈ Cd . Le principe des méthodes itératives présentées ici est d’écrire
A comme la différence de deux matrices :
A = M − N, (4, 2)
où
1. M est inversible
2. le système linéaire M y = c peut être résolu simplement, avec un coût de calcul faible : le plus
simple est que M sera diagonale ou triangulaire, mais on verra aussi le cas où M est diagonale ou
triangulaire par blocs.
On va alors approcher la solution de (4.1) par une suite (x(n) ) définie par récurrence à partir de x(0)
que l’on choisit, et de la formule
Remarque 19
On n’a pas besoin de calculer M −1 , mais juste savoir calculer la solution de Mx(n+1) = b + N x(n) .
Observation. Si la suite est convergente alors sa limite est la solution de (5, 1). En effet, si la suite
converge, sa limite vérifie, M y = b + N y ou de manière équivalente A y = b. Comme la solution de (4.1)
est unique, x = y.
Considérons l’erreur à l’étape n,
e ( n) = x − x ( n)
On a
Mx(n+1) = b + N x(n)
¾
⇒ e(n+1) = M −1 N e(n)
Mx = b + N x
¢n+1 (0)
⇒ e(n+1) = M −1 N
¡
e
39
Faculté des sciences 40
Proposition 17
La suite donnée par x(0) et (4.3) converge vers x pour tout choix de x(0) si et seulement si la matrice
d’itération vérifie
ρ (M −1 N) < 1 (4.4)
Démonstration. La suite donnée par x(0) et (4.3) converge vers x pour tout choix de x(0) si et seule-
¢n ¢n
ment si M −1 N e(0) → 0 pour tout e(0) , ce qui équivaut à dire que M −1 N → 0. D’après le Théorème
¡ ¡
1.2. Une condition suffisante dans le cas où A est hermitienne, définie posi-
tive
Théorème 14
Soit A une matrice hermitienne (A ∗ = A), définie positive, et M, N deux matrices telles que A =
M − N, On suppose que M est inversible, et que M ∗ + N est hermitienne définie positive. Alors
ρ (M −1 N) < 1.
Démonstration. Comme A est hermitienne définie positive, on peut considérer la norme vectorielle
définie par
kvk2A = v∗ Av
Remarque 20
2. La méthode de Jacobi
On considère une matrice inversible A dont la diagonale D est inversible. La méthode de Jacobi
consiste à choisir M = D et N = D − A. La matrice d’itération L J de la méthode de Jacobi s’écrit L J =
M −1 N = I − D −1 A. On a les résultats suivants
Proposition 18
Proposition 19
Démonstration. Si A est hermitienne définie positive, alors D l’est aussi, et on peut utiliser la
méthode de Jacobi. De plus, M + N = 2D − A est aussi hermitienne définie positive. On peut appliquer le
Théorème 4.1 et déduire que ρ (M −1 N) < 1.
Remarque 21
− Avec le choix M = D (possible si D est inversible), les coordonnées de x(n+1) sont données par la
relation :
à !
1 d
x(in+1) = a i j x(jn)
X
bi −
a ii j =1, j 6= i
◦− La mémoire réservée à la suite x(n) est de taille 2d, car on garde en memoire x(n) pour calcule
( n+1)
x .(trop de memoire)
?− le calul parallèle est possible, c’est à dire plusieurs processus peuvent faire le calcul en même
temps, à chaque processeur un nombre de composantes x(in+1) à calculer.(vitesse)
?− La méthode de Jacobi est très simple et on peut la mettre facilement en euvre,
◦− Converge-elle rapidement ?
3. La méthode de Gauss-Seidel
Remarque 22
Dans la méthode de Jacobi on a la formule qui donne les composantes de x(n+1) en fonction de celles
de x(n)
à !
1 d
( n+1) ( n)
X
xi = bi − ai j x j
a ii j =1, j 6= i
L’idé : utiliser les composantes de x(n+1) fraichement calculées pour calculer le reste des composantes
de x(n+1) . Par exemple x1(n+1) étant trouvée, pour calculer x2(n+1) on utilise la formule
à !
1 d
x2(n+1) = b 2 − a 2,1 x1(n+1) − a 2, j x(jn)
X
a 2, 2 j =3
à !
1 d
( n+1) ( n+1) ( n+1) ( n)
X
x3 = b 3 − a 3, 1 x1 − a 3, 2 x2 − a 3, j x j
a 3, 3 j =4
Ainsi de suite
à !
1 iX−1 d
x(in+1) ( n+1) ( n)
X
= b i − a i, j x j − a i, j x j
a i,i j =1 j = i +1
Ecriture matricielle
On considère une matrice inversible A dont la diagonale D est inversible. On note A = D − E − F, où
−E (respectivement −F ) est la partie triangulaire inférieure strictement (respectivement supérieure)
de A. La méthode de Gauss-Seidel consiste à choisir M = D − E et N = F. Avec ces notations, la suite
s’écrit
³ ´
(D − E) x(n+1) = F x(n) + b ⇔ x(n+1) = (D − E)−1 F x(n) + b
Proposition 20
M y = N x (⇔ y = M −1 N x) pour x ∈ Rd : on a
X X
M y = N x ⇔ a ii yi − ai j yj = a i j x j , i = 1, ...., n
j< i j> i
D’où
P ¯¯ ¯
ai j¯
0
k yk∞ j> i
É P¯ ¯ <1
k xk∞ |a i 0 i 0 | − ¯a i 0 j ¯
j< i
Proposition 21
Si A est hermitienne définie positive, alors ρ (LGS ) < 1 et la méthode de Gauss-Seidel converge
pour tout choix de x(0) .
Dans la méthode de Gauss-Seidel, dès que la ième coordonnée de x(n+1) est calculée, la ième coor-
donnée de x(n) devient inutile : on peut écraser la ième coordonnée de x(n) et la remplacer par la ième
coordonnée de x(n+1) dès que celle ci est calculée.
Remarque 23
◦− La méthode de Gauss-Seidel nécessite de calculer x(kn+1) avant de calculer x(kn++11) . Pour cette
raison, il n’est plus possible de faire un calcul parallèle.
?− La méthode de Gauss-Seidel utilise moins de mémoire.
◦− le calcul est lent.
La méthode de Jacobi utilise plus de mémoire mais le calcul rapide.
En effet
1 1
µ ¶ µ µ ¶ ¶
Ax = (M − N)x = D − E x − F + −1 + D x=b
ω ω
⇔ (D − ωE) x − (ωF + (1 − ω) D) x = ω b
⇔ D (D − ωE) x = D −1 (ωF + (1 − ω) D) x + ωD −1 b
−1
I − ωD −1 E x = (1 − ω)I + ωD −1 F x + ωD −1 b
¡ ¢ ¡ ¢
d’où l’on a
Proposition 22
0 < ω É 1. (4.7)
1 1
µ ¶ µ ¶
D − E y = F + −1 + Dx
ω ω
⇔ (D − ωE) y = ωF + (−ω + 1) Dx
iX
−1 d
X
a ii yi − ω a i j y j = ω a i j x j + (1 − ω)a ii x i
j =1 j = i +1
iX−1 Xd
a ii yi = ω ai j yj + ω a i j x j + (1 − ω)a ii x i
j =1 j = i +1
à à j=1 !! à j = i 0 +1
!
iX
−1 ¯ d ¯
X
⇔ (1 − ω) ¯a i 0 i 0 ¯ + ω |a i 0 i 0 | − k yk∞ É (1 − ω) ¯a i 0 i 0 ¯ + ω
¯ ¯ ¯ ¯ ¯ ¯
¯a i j ¯ ¯a i j ¯ k xk∞
j =1 j = i +1
d ¯
(1 − ω) ¯a i ¯ + ω P ¯a i j ¯
¯ ¯ ¯
0 i0 0
k yk∞ j = i +1
⇔ É Ã ! <1
k xk∞ d ¯
(1 − ω) ¯a i ¯ + ω |a i i | −
¯ ¯ P ¯
¯a i j ¯
0 i0 0 0 0
j = i +1
car
à !
d ¯
X ¯ d ¯
X ¯
¯a i j ¯ < |a i i | − ¯a i j ¯
0 0 0 0
j = i +1 j = i +1
puisque A est à diagonale strictement dominante. ce qui veut dire que ° M −1 N °∞ < 1.
° °
Proposition 23
Si A est hermitienne définie positive, la méthode de relaxation avec le paramètre ω converge pour
tout x(0) si
Remarque 24
1 1
On peut aussi relaxer la méthode de Jacobi en prenant M = D et N = D − A. Si A est hermitienne
ω ω
définie positive, sous quelles conditions sur ω M ∗ + N est elle définie positive ?
Théorème 15
(0)
Si ω É 0 ou si ω Ê 2, La méthode SOR ne converge pas vers la solution x pour° tout ° choix initial x .
Si les inégalités sont strictes, on peut trouver des x(0) pour lesquels lim ° x(n) ° = +∞
° °
n→+∞ ∞
Démonstration. D’après
le déterminant de L ω est (1 − ω)d , car(I − ωD −1 E) est une mtrice triangulaire inferieur avec des 1
sur la diagonle et (1 − ω)I + ωD −1 F est une matrice triangulaire superieur avec (1 − ω) sur la diagonle.
ω Ê 2 ou ω É 0 ⇒ |(1 − ω)d | Ê 1 ⇒ ρ (L ω ) Ê 1
implique que la méthode SOR ne converge pas vers la solution pour tout choix initial.
Ax = b, (5.1)
1 T 1
F(x) = x Ax − xT b = 〈 Ax, x〉 − 〈 b, x〉 (5.2)
2 2
La fonction F est continue et l im F(x) = +∞. La fonction admet donc au moins un minimum dans
k xk→∞
d
R .
Proposition 24
En effet
1 1
F(x + h) − F(x) = 〈 A(x + h), x + h〉 − 〈 b, x + h〉 − 〈 Ax, x〉 − 〈 b, x〉
2 2
1 1
= 〈 Ax, h〉 − 〈 b, h〉 + 〈 Ah, h〉 = 〈 Ax − b, h〉 + 〈 Ah, h〉
2 2
Donc (partie linéaure en h)
DF(x)h = 〈 Ax − b, h〉
d ∂(F(x))
h i = 〈∇F(x), h〉 = 〈 Ax − b, h〉, ∀ h ∈ Rd
X
DF(x)h =
i =1 ∂ x i
D’où
∇F(x) = Ax − b
Comme la solution de (5.1) est unique car A est inversible, le gradient de F ne s’annule qu’en un seul
point qui réalise le minimum de F.
Exercice Montrer que si A est définie positive alors F est strictement convexe, c’est à dire que
46
1. PRINCIPE DES MÉTHODES DE DESCENTE Faculté des sciences
1
F(α x + (1 − α)y) − αF(x) − (1 − α)F(y) É − α(1 − α)λmin (A)
2
xn+1 = xn + αn p n (5.4)
Remarque 25
Les différents choix des suites (αn )n∈N et (p n )n∈N donnent naissance à différentes méthodes, qui ont
pour seul but, que la suite (xn )n∈N converge vers la valeur de bx réalisant le min F et donc la solution
du système A bx = b.
Définition 11
e(xn ) = b
x − xn = e n (5.5)
r n = b − Axn = A b
x − Axn = Ae n . (5.6)
Remarque 26
Le résidu à la n i ème étape vérifie r n = −DF(xn ), car DF(xn ) = Axn − b = −(b − Axn ) = − r n est la
différentielle de F en xn .
Proposition 25
r Tn p n
α opt = , (5.7)
pT
n A pn
et on a
r Tn p n
xn+1 = xn + pn
pT
n A pn
Démonstration de (5.7)
1
ϕ(α) = F(xn + α p n ) = 〈 A(xn + α p n ), xn + α p n 〉 − 〈 b, xn + α p n 〉
2
1 1
= α2 〈 A p n , p n 〉 + α (〈 A p n , xn 〉 − 〈 b, p n 〉) + 〈 Axn , xn 〉 − 〈 b, xn 〉
2 2
ϕ(α) est un polynôme de degré 2 en α et le coefficient de α2 est strictement positif, donc le minimum
de ϕ(α) est atteint au point α opt solution de ϕ0 (α opt ) = 0, c’est à dire
−〈 A p n , xn 〉 + (b, p n 〉 −〈 Axn , p n 〉 + 〈 b, p n 〉 〈r n , p n 〉
α opt = = =
〈 A pn, pn〉 〈 A pn, pn〉 〈 A pn, pn〉
Proposition 26
r Tn+1 p n = 0 (5.8)
Démostration
2. Méthodes de gradient
Le pas αn doit donc être un réel positif choisi pour que F(xn+1 ) < F(xn ).
Remarque 27
xn+1 = xn − α(Axn − b) = xn + α r n
L’erreur vérifie
ρ (I − α A) < 1
Théorème 16
Si A est symétrique définie positive, la méthode du gradient à pas fixe converge vers la solution x
de (5.1) si et seulement si
2
α< (5.12)
λmax (A)
2
α opt =
λmin (A) + λmax (A)
cond 2 (A) − 1
τ opt =
cond 2 (A) + 1
1 − αλmax É 1 − αλmin
Donc ρ (I − α A) = max(|1 − αλmax (A)|, |1 − αλmin (A)|). En traçant le graphe des deux fonctions
f1 f2
α −→ |1 − αλmax (A)| et α −→ |1 − αλmin (A)|,
on voit que
2
1 − αλmin (A) pour α É
ρ (I − α A) = λmin (A) + λmax (A)
2
αλmax (A) − 1 pour α Ê
λmin (A) + λmax (A)
Donc
2
ρ (I − α A) < 1 ⇔ 0 < α <
λmax (A)
2
α opt =
λmin (A) + λmax (A)
et qu’il vaut
Remarque 28
On constate donc que la méthode du gradient à pas fixe converge d’autant plus lentement que le
conditionnement de A est grand.
cette méthode n’est pas utilisée car il faut avoir λmin (A) et λmax (A).
xn+1 = xn − αn (Axn − b)
Cette fonction a un minimum unique pour la valeur de α donnée par la formule (5.7))
où
k yk2A = yT A y
Il est important de noter que dans la méthode du gradient à pas optimal, d’après (5.8), les résidus
successifs sont orthogonaux :
Théorème 17
Si A est symétrique et définie positive, la méthode du gradient à pas optimal converge vers la
solution x de (5.1).
Démonstration. La suite (F(xn ))n∈N est décroissante par construction, et bornée inférieurement
par F( b
x), donc converge. On en déduit que
F(xn+1 ) − F(xn ) −→ 0.
1 1
Or F(xn+1 ) = F(xn + αn p n ) = α2n 〈 A p n , p n 〉 + αn (〈 A p n , xn 〉 − 〈 b, p n 〉) + 〈 Axn , xn 〉 − 〈 b, xn 〉
2 2
de sorte que
1
F(xn+1 ) − F(xn ) = α2n 〈 A p n , p n 〉 + αn 〈 Axn − b, p n 〉
2
avec p n = r n et Axn − b = − r n on a
1
F(xn+1 ) − F(xn ) = −αn k r n k22 + α2n r Tn Ar n −→ 0,
2
k r n k22
et puisque αn = α opt = , on trouve finalement que
r Tn Ar n
4
1 k r n k2
F(xn+1 ) − F(xn ) = − −→ 0
2 r Tn Ar n
Comme A est définie positive, ceci implique que r n → 0. Toujours grâce au caractère définie positif
de A, on en déduit (grâce à la relation r n = Ae n ) que e n → 0.
Pour déterminer la vitesse de convergence de la méthode de gradient à pas optimal, on utilise
l’inégalité de Kantorovitch
Lemme 8
d
X
Soient d réels strictement positifs 0 < l 1 <· · · < l i <· · · < l d et d réels positifs β i tels que β i = 1.
i =1
d
X
On note l = β i l i . Alors on a
i =1
d β l1 + l d − l
X i
É (5.15)
i =1 l i l1 l d
et
1 4l 1 l d
Ê (5.16)
Pd β i (l 1 + l d )2
l i=1
li
X d β
i (l 1 + l d )2
⇔ É
i =1 l i (4l 1 l d ) l
d β l1 + l d − l d β l l1 + l d
X i X i
É ⇔ + É
i =1 l i l1 l d i =1 l i l1 l d l1 l d
X d µ
1 li
¶
l1 + l d
⇔ βi + É
i =1 l i l l
1 d l1 l d
1 x
On sait que la fonction qui à x ∈ [l 1 , l d ] associe + atteint son maximum en x = l 1 et en x = l d
x l1 l d
1 1
et ce maximum vaut + .
l1 l d
d
X
µ
1 li
¶ d
X
µ
1 1
¶
1 1 l1 + l d
⇒ βi + É βi + = + =
i =1 l i l1 l d i =1 l1 l d l1 l d l1 l d
d
X
Démontrons (5.16), d’après (5.15) pour tout l = β i l i ∈ [l 1 , l d ] on a
i =1
1 1 l1 l d
Ê =
Pd βi l1 + l d − l (l 1 + l d ) l − l 2
l i =1 l
li l1 l d
1 l1 l d
Par la suite Ê min
Pd βi l ∈[ l 1 ,l d ] (l 1 + l d ) l − l 2
l i =1 li
l1 + l d
Or ce mimimum est atteint pour l = , c’est à dire
2
l1 l d l1 l d 4l 1 l d
min = =
l ∈[ l 1 ,l d ] (l 1 + l d ) l − l 2 l 1 + l d (l 1 + l d ) 2
(l 1 + l d )2
(l 1 + l d ) −
2 4
Proposition 27
(Kantorovitch). Soit A ∈ Md (R) symétrique définie positive dont les valeurs propres vérifient 0 <
λmin = λ1 <···< λ i <···< λd = λmax . On a
Démonstration. On note 0 < λ1 É ... É λ i É ... É λd les valeurs propres de A et (v i )1É iÉd une base
(yT v i )2
orthonormale de vecteurs propres : Av i = λ i v i . Pour y ∈ Rd , on note β i = :
k yk22
d
X
βi = 1
i =1
On a aussi
(A y, y) d
X (A −1 y, y) X d 1
= β i λ i et = βi
k yk22 i =1 k yk22 i =1 λ i
On pose
(A y, y) d
X
l i = λi ⇒ = β i λ i = l.
k yk22 i =1
(A −1 y, y) X d β
i X d β
i (l 1 + l d )2 (λ1 + λd )2
D’autre part = = É =
k yk22 i =1 λ i i =1 l i 4l 1 l d l 4λ1 λd l
Par la suite on a
(A y, y) (A −1 y, y) (λ1 + λd )2 (λ1 + λd )2
Él =
k yk22 k yk22 4λ1 λd l 4λ1 λd
C’est à dire
k yk42 4λ1 λd
Ê ,
(A y, y)(A −1 y, y) (λ1 + λd )2
ceci pour tout y 6= 0, donc
k yk42 4λ1 λd
inf Ê
y6=0 (A y, y)(A −1 y, y) (λ1 + λd )2
Enfin, cet infinimum est atteint par y = v1 + vd .
¢2
kv1 + vd k42 kv1 + vd k22
¡
=
(A(v1 + vd ), v1 + vd )(A −1 (v1 + vd ), v1 + vd ) 1 1
(λ1 + λd ) ( + )
λ1 λd
³° ° ° ° ´2
°v1 °2 +° vd °2
2 4λ1 λd
=
1 1 2
(λ1 + λd ) ( + ) (λ1 + λd )
λ1 λd
Théorème 18
Démonstration. On a
k r n k22
αn = α opt = ,
r Tn Ar n
k r n k2
e n+1 = e n − T 2 r n ,
r n Ar n
k r n k22
r n+1 = r n − T Ar n .
r n Ar n
Donc
!T
k r n k22
Ã
k e n+1 k2A = e Tn+1 Ae n+1 = e Tn+1 r n+1 = e n − r n r n+1
r Tn Ar n
=Ã e Tn .r n+1 ! car r n r n+1 =20
2
kr n k kr n k
= e Tn r n − T 2 Ar n = e Tn .r n − T 2 e Tn Ar n
r n Ar n r n Ar n
2
k r k
n 2
= e Tn .r n − T T
e Tn Ar n r Tn A −1 r n
−1
r n Ar n .r n A r n
Puisque
r Tn = (Ae n )T = e Tn A T = e Tn A
On a
³ ´³ ´ ³ ´
e Tn Ar n r Tn A −1 r n = e Tn Ar n r Tn A −1 r n = r Tn r n (e Tn A A −1 r n ) = k r n k22 e Tn r n
Finalement on a
k r n k42
k e n+1 k2A = e Tn .r n − T T A −1 r
e Tn .r n
r n Ar .r
n n ! n
k r n k42
Ã
T
= 1− ¡ T ¢ e n Ae n
r n Ar n r Tn A −1 r n
¢¡
4λmin λmax
µ ¶
É 1− 2
e Tn Ae n (∗)
(λmax + λminµ)
(λmax − λmin )2 T cond 2 (A) − 1 2
¶
= 2 n
e Ae n = k e n k2A .
(λmax + λmin ) cond 2 (A) + 1
Soit A ∈ Md (R) une matrice symétrique définie positive. Pour v ∈ Rd , on note kvk2 la norme eucli-
dienne de v : kvk22 = vT v = 〈v, v〉 et kvk A la norme définie par kvk2A = vT Av = 〈 Av, v〉 .
On veut résoudre le système
Ax = b. (5.17)
On a vu précédemment que la méthode du gradient à pas optimal conduit à des trajectoires très os-
cillantes lorsque le conditionnement de la matrice est grand. Afin d’éviter ces phénomènes d’oscillations,
l’idée est de chercher une méthode à pas optimal où la direction de descente n’est plus le gradient mais
est construite en fonction des directions précédentes.
1
On rappelle que résoudre (5.17) est équivalent à minimiser la fonctionnelle F(x) = xT Ax − xT b, et
2
que le gradient de F en x est donné par
∇F(x) = DF(x) = Ax − b
f (βn , αn ) = F(xn + αn p n )
= F(xn + αn (−∇F(xn + βn p n−1 ))
= F(xn + αn r n + αn βn p n−1 )). (5.19)
xn+1 = xn + αn p n = xn + αn r n + αn βn p n−1 .
Cette méthode qui s’appelle l’algorithme du gradient conjugué, a été inventée en 1952 par Hestenes
et Stieffel.
On écrit les conditions d’optimalité pour ce problème d’optimisation
∂f
= 0 ⇔ pT
n ∇F(x n + α n p n ) = 0 (5.20)
∂αn
∂f
= 0 ⇔ αn p T
n−1 ∇F(x n + α n p n = 0 (5.21)
∂βn
pT
n (b − Ax n − α n A p n ) = 0
⇔ p n (r n − αn A p n ) = p T
T T
n r n − αn p n A p n = 0
on a donc
pT
n rn
αn = (5.22)
pT
n AP n
qui est la formule déjà trouvée pour toute méthode de descente à pas optimal. Comme le pas est
optimal, on a la relation d’orthogonalité entre la direction de descente p n−1 et le résidu r n :
pT
n−1 r n = 0, n Ê 0. (5.23)
On déduit alors immédiatement de (5.18) et de (5.23) que p n donné par (5.18) (p n = r n + βn p n−1 )
n’est pas nul si r n 6= 0.
De la relation (5.18) et (6, 23), on tire que αn s’écrit aussi
r Tn r n k r n k22
αn = = (5.24)
pT
n AP n k p n k2A
pT T
n−1 ∇F(x n + α n p n ) = p n−1 (r n − α n A p n ) = 0 (5.25)
ce qui donne
pT T
n−1 r n − α n p n−1 A(r n + β n p n−1 ) = 0 (5.26)
comme p T
n−1 r n = 0 grâce à (5.23), on en déduit de (5.26)
pT T T T
n−1 A(r n + β n p n−1 ) = p n−1 A p n = p n−1 Ar n + β n p n−1 A p n−1 = 0
T
p n−1 Ar n
βn = − T (5.27
p n−1 A p n−1
pT
n−1 Ar n
pn = r n − p n−1 , (5.28)
pT
n−1 A p n−1
et que
pT
n−1 A p n = 0 (5.29)
Il reste à montrer que les valeurs de αn et βn correspondent à un minimum local de f : pour cela, on
doit montrer que D 2 f (αn , βn ) est symétrique définie positive : on a
pT
µ ¶
2 n A pn 0
D f (αn , βn ) = 2 T ,
0 αn p n−1 A p n−1
x0 , b, p −1 = 0, r 1 = b − Ax0 , p 1 = r 1 + β0 p −1 = r 1 ,
x1 = x0 + α0 p 1 = x0
pour n = 1 : d
pT
n rn
αn =
pTn A pn
xn+1 = xn + αn p n
r n+1 = r n − αn A p n = b − Axn+1
r Tn+1 A p n
βn+1 = − T
pn A pn
p n+1 = r n+1 + βn+1 p n
Remarque 29
On peut prouver un grand nombre de propriétés qui expliquent pourquoi cet algorithme converge si
rapidement.
Théorème 19
pT
l A p n = 0, ∀ l, n l 6= n (5.30)
r Tl r n = 0, ∀ l, n , l 6= n (5.31)
pT n r l = 0, ∀ l, n, n < l (5.32)
p n ∈ V ect(r 0 , ......, r n ) (5.33)
pT
n−1 AP n = 0, n Ê 0 (5.34)
r Tn r n
αn =
r Tn A p n
r Tn r n+1 = 0 (5.35)
On va maintenant démontrer par récurrence les relations (5.30), (5.31), (5.32). On sait que p 0T r 1 = 0
cf. (5.23), et on vient de démontrer que p 0T A p 1 = 0 et que r T
0 r 1 = 0.
supposons que la propriété de récurrence est vraie jusqu’à l − 1. i.e. ∀ n, m, 0 É n < m < l,
pTn r m = 0,
r Tn r m = 0, (5.36)
pT
n A pm = 0
pT
n (r l −1 − α l −1 A p l −1 )
T T
et (5.36) implique que p n r l −1 = p n A p l −1 = 0. On a donc bien que p n r l = 0, pour T
n < l − 1.
2. On tire de (5.35) que r Tl−1 r l = 0. Il reste à montrer que r Tn r l = 0, pour n < l − 1. Mais r n = p n −
βn p n−1 : r T T
n r l = (p n − β n p n−1 ) r l = 0 d’après le point 1.
3. On tire de (5.34) que p T T
l −1 A p l = 0. Il reste à montrer que p n A p l = 0, pour n < l − 1. On utilise alors
que p l = r l + βl p l −1 , donc p n A p l = p n Ar l + βl p n A p l −1 = p n Ar l , d’après (5.36). Mais p T
T T T T T
n Ar l = r l A p n et
p n ∈ V ect(r 0 , ..., r n ) d’après (5.33), et A p n ∈ V ect(r 0 , ..., r n , r n+1 ) ⊂ V ect(r 0 , ..., r l −1 ). Du point 2, on déduit
le résultat désiré.
On a montré (5.30), (5.31), (5.32) par récurrence.
Corollaire 1
Remarque 30
On vient de voir que la méthode du gradient conjuguée qui est une méthode itérative peut aussi être
vue comme une méthode directe, puisque qu’elle donne le résultat exact (en arithmétique exacte) en
au plus d itérations. Le gradient conjugué, implémenté sur un ordinateur, ne peut pas être considéré
comme une méthode directe, car l’arithmétique n’est pas exacte, et les directions de descentes ne
sont pas exactement conjuguées.
Corollaire 2
Démonstration. En effet, (5.33) implique que xn+1 ∈ V ect(r 0 , ..., r n ) (par récurrence) pour l É n,
r Tl ∇ J(xn+1 ) = r Tl r n+1
= 0.
Remarque 31
L’algorithme du gradient conjugué appartient donc à la classe des méthodes dites de Krylov, où l’on
minimise à chaque itération une norme du résidu dans l’espace de Krylov.
x0 , b, p −1 = 0, r 1 = b − Ax0 , p 1 = r 1 + β0 p −1 = r 1 ,
x1 = x0 + α0 p 1 = x0
pour n = 1 à d
pT
n rn
αn =
pTn A pn
xn+1 = xn + αn p n
r n+1 = r n − αn A p n = b − Axn+1
r Tn+1 A p n
βn+1 = − T
pn A pn
p n+1 = r n+1 + βn+1 p n