Décomposition QR
Principe
La décomposition QR d'une matrice A est une décomposition de la forme
A = QR
où Q est une matrice orthogonale (ou unitaire), et R une matrice
triangulaire supérieure.
- Q est dite orthogonale si QQT I ou Q 1 Q T ( dans ce cas
Q M (R) )
- Q est dite unitaire si Q 1 Q Q T ( dans ce cas Q M (C ) ) Q est
la matrice adjointe.
i 1 i 1 i 2i
Exemple : si Q Q et Q T
2i 1 2i 1 1 1
Remarque : Toute matrice A admet une décomposition QR ( même si A
n’est pas une matrice carrée ).Si A n’est pas inversible la décomposition
existe mais n’est pas unique
En effet, les systèmes linéaires Ax b peuvent alors s’écrire : QRx b ou
Q 1QRx Q 1b ou encore Rx Q T b .Ceci permettra une résolution rapide
du système sans avoir à calculer la matrice inverse
Il existe quelques méthodes pour réaliser cette décomposition :
la méthode de Gram-Schmidt
la méthode de Householder où Q est obtenue par produits successifs
de matrices orthogonales élémentaires.
Méthode QR de Gram Schmidt
1. Procédé de Gram-Schmidt
Soient u et v deux vecteurs de R n . On rappelle que la projection
orthogonale proju (v ) du vecteur v sur la droite vectorielle engendrée par u
peut s’écrire de de la manière suivante :
v .u
proj u (v ) u
u .u
Où u .v désigne le produit scalaire des vecteurs u et v .On note . la norme
euclidienne de R n .
Soient w1 , w2 ,...wn une base de R n .On rappelle qu’à partir de cette base on
peut obtenir une base orthogonale v1 , v 2 ,...v n et une base
orthonormale u1 , u 2 ,...u n par le procédé de Gram-schmidt qu’on rappelle :
v
v1 w1 u1 1
v1
w2 .v1 v
v 2 w2 proj v1 ( w2 ) w2 v1 u 2 2
v1 .v v2
w3 .v1 w3 .v 2 v
v 3 w3 proj v1 ( w3 ) proj v2 ( w3 ) w3 v1 v 2 u 3 3
v1 .v1 v 2 .v 2 v3
k 1
k 1 w .v v
v k wk proj v j ( w k ) wk k j v j u k k ( )
j 1 j 1 v j .v j vk
2. Décomposition QR
Soient A la matrice carrée de taille n dont les colonnes sont les vecteurs
w j et Q la matrice carrée de taille n dont les colonnes sont les vecteurs
u j définis par le procédé de Gram-schmidt (*) ce qu’on note :
w1 .u1 w2 .u1 wn .u1
0 w2 .u 2 wn .u 2
A w1 w2 ... wn u1 u 2 ... u n
0
0 wn .u n
1 1 0
Exemple Soit A 1 0 1 Décomposer A sous la forme A=QR par la
0 1 1
méthode de Gram-schmidt.
Le procédé de Gram-schmidt donne :
1 1 0
w1 1 w2 0 w3 1
0 1 1
1
v1 w1 1
0
1
2
v1 1
u1
v1 2
0
w 2 .v1 v2
v 2 w 2 proj v ( w 2 ) w 2 v1 u2
1
v1 .v1 v2
1 1 6
1
0 . 1
1 1 2 6
1 0 1 3 6 6
v 2 w 2 proj v ( w 2 ) 0 1
v2 u2
1
1 1 1 0 2 2 2 6
1 6
1 . 1
0 0 3
w 3 .v1 w 3 .v 2 v3
v 3 w 3 proj v ( w 3 ) proj v ( w 3 ) w 3 v1 v 2 u3
1 2
v1 .v1 v 2 .v 2 v3
1
0 2
1
0 1
1 .
1 2 1
1 . 1 1
0 1
1 0 12
v3 1
1
1 1 1 0 1 1 2
1 . 1 1
2 2
0 0 1 . 1
2 2
1 1
Méthode de Householder
Def : Soit u R n . On appelle matrice de Householder, la matrice H u de
taille n donnée par
uTu
H u I n 2 2 si u est non nul
u
Et H u I si u est le vecteur nul. Avec u T la transposée de u et
2
u u T u la norme u
On remarque que H u est une matrice de réflexion par rapport au vecteur
u et en particulier une matrice orthogonale. On a alors la proposition qui
suit :
Proposition : Pour tout vecteur v de R n , il existe u de R n tel que
H u v v e1 où
e1 (1 00) T R n
En effet, il suffit de prendre u 0 si v est colinéaire à e1 et u v v e1
sinon.
L’idée de la méthode de Householder est de multiplier A par des matrices
de Householder pour faire apparaître une matrice triangulaire supérieure
.Soit v1 est le premier vecteur colonne de A et u1 le vecteur de
Householder associé de la proposition précédente. En notant H 1 H u , on
1
a
v1 * *
A2 H 1 A
0 R n 1 B
Où B est une matrice de Taille n-1.On répète alors l’opération précédente
sur la matrice B. Soit v 2 R n 1 le premier vecteur colonne de B et u 2 le
vecteur de Householder associé . On calcule H u et on pose 2
1 0
H2
0 H u
2
Et on a
v1 * *
A3 H 2 A 2 H 2 H1 A 0 v2 *
0 0 Rn2 C
Où C est une matrice de taille n 2 .On itère l’opération jusqu’à obtenir
une matrice triangulaire supérieure A n donnée par
H n1 H 1 A A n
I k 1 0
Avec H k de la forme H k . La décomposition QR de A est
0 H u
k
alors donnée par Q H 1 H n 1 et R A n .
0 20 14
Exemple Soit A 3 27 4 Décomposer A en QR en utilisant la
4 11 2
14
méthode de Householder et résoudre le système Ax b où b 1
2
Solution
0
v1 3 le premier vecteur de A et u1 v1 v1 e1
4
0 1 5
v1 9 16 25 5 u1 3 5 0 3
4 0 4
2
u1 25 9 16 50 de là u1 50
La première matrice de Householder vaut :
5
5 3 4
3
1 0 0 4
H 1 H u 0 1 0 2
1
0 0 1 50
1 0 0 25 15 20 0 15 20
1 1
H 1 H u 0 1 0 15 9 12 = 15 14 12
0 0 1 25 20 12 16 25 20 12 9
1
0 15 20 0 20 14
1
A 2 H1 A 15 16 12 3 27 4
25
20 12 9 4 11 2
125 625 100 5 25 4
1
0 0 250 0 0 10
25
0 625 250 0 25 10
0 10
On Pose B la sous matrice de taille 2.
25 10
On répète alors l’opération précédente sur la matrice B . Soit v 2 R 2 le
premier vecteur colonne de B et u 2 le vecteur de Householder associé .
On calcule H u 2
u 2 u 2T
H u I2 2 2
2
u2
0 1
u 2 v 2 v 2 e2 où v 2 et e2
25 0
0 1 25
u 2 25
25 0 25
25
25 25
1 0 25
H u 2
2
0 1 1250
1 0 1 625 625
0 1 625 625 625
1 0 1 1
0 1 1 1
0 1
1 0
On pose :
1 0 0
H 2 0 0 1
0 1 0
1 0 0 5 25 4
A 3 H 2 . A 2 H 2 .H 1 . A 0 0 1 0 0 10
0 1 0 0 25 10
5 25 4
0 25 10
0 0 10
3
On pose A R H 2 H1 A delà A H11 H 21 R
H1 et H 2 sont des matrices de Householder donc elles sont symétriques et
1 1 T T
orthogonales donc on a : A H1 H 2 R H1 H 2 R H1 H 2 R Il vient donc
0 20 15 1 0 0
1
Q H1 H 2 15 16 12 0 0 1
25
20 12 9 0 1 0
4 3
0
0 20 15 5 5
1 3 12 16
15 12 16
25
5 25 25
20 9 12 4 9 12
5 25 25
4 3
0
5 5
3 12 16
Q
5 25 25
4 9 12
5 25 25
Application de Ax b
3 4
0
5 25 4 x1 5 5 14
4 12 9
Rx Q T b 0 25 10 x2 1
0 0 10 x 5 25 25
3 3 16 12 2
5 25 25
On trouve :
5 x1 25 x2 4 x3 1 1
. 25 x2 10 x3 10 2
10 x3 10 3
De 3 on a : x3 1 , dans 2 x 2 0 et dans 1 x1 1
La solution est donc : x 1 0 1
T