Il existe plusieurs méthodes pour réaliser cette décomposition :
la méthode de Householder où Q est obtenue par produits successifs de matrices orthogonales élémentaires
la méthode de Givens où Q est obtenue par produits successifs de matrices de rotation plane
la méthode de Schmidt
Chacune d'entre elles a ses avantages et ses inconvénients. (La décomposition QR n'étant pas unique, les différentes méthodes produiront des résultats différents).
Méthode de Householder
Soit x un vecteur colonne arbitraire de dimensionm et de longueur |α| (Pour des raisons de stabilité du calcul, α doit être du signe du premier élément de x et la longueur étant la somme de tous les éléments de x). Toutefois, plusieurs versions semblent exister à propos de α, ici, vous est présenté la version de l'article anglais. D'autres utilisent la norme || ||2 plutôt que la longueur.
Soit e1 le vecteur (1,0,..., 0), et || || la norme euclidienne, définissons
Nous pouvons utiliser ces propriétés pour transformer une matrice A de dimension m*n en une matrice triangulaire supérieure. Tout d'abord, on multiplie A par la matrice de Householder Q1 en ayant pris le soin de choisir pour x la première colonne de A . Le résultat est une matrice QA avec des zéros dans la première colonne excepté du premier élément qui vaudra α.
Q1A=[α1⋆…⋆0⋮A′0]
Ceci doit être réitéré pour A' qui va être multiplié par Q’2 (Q’2 est plus petite que Q1). Si toutefois, vous souhaiteriez utiliser Q1A plutôt que A’, vous deviez remplir la matrice de Householder avec des 1 dans le coin supérieur gauche :
Qk=(Ik−100Qk′)
Après t itérations, t = min(m − 1,n),
R=Qt⋯Q2Q1A
est une matrice triangulaire supérieure. Si Q=Q1TQ2T⋯QtT alors A = Q**R est la décomposition QR de A.
Calculons la décomposition QR de
A=(12−5146167−68−4233−41)
On choisit donc le vecteur (cet exemple contient beaucoup d'erreurs alors faites attention) a1 = (12,6, − 4). On a donc ∣a1∣=122+62+(−4)2=14. Ce qui nous conduit à écrire ∣a1∣e1=(14,0,0)T.
Le calcul nous amène à u = ( − 2,6, − 4) et v=14−21(−1,3,−2)T. La première matrice de Householder vaut
La matrice Q est orthogonale et R est triangulaire supérieure, par conséquent, on obtient la décomposition A = QR.
Coût et avantages
Le coût de cette méthode pour une matrice n*n est en : 34×n3 Ce coût est relativement élevé (la méthode de Cholesky, pour les matrices symétriques définies positives est en 31×n3 ). Cependant, la méthode de Householder présente l'avantage considérable d'être beaucoup plus stable numériquement, en limitant les divisions par des nombres petits. La méthode de Givens, malgré un coût encore supérieur à celui-ci, offrira encore davantage de stabilité.