Mai general, se poate factoriza o matrice complexă × (cu m≥n) sub forma unui produs dintre o matrice unitară× (în sensul că Q∗Q = I ) și o matrice × superior triunghiulară.
Dacă A este nesingulară, atunci această factorizare este unică dacă se pune condiția ca elementele diagonale ale lui R să fie pozitive.
Se consideră procedeul Gram–Schmidt, unde vectorii considerați în procedeu sunt coloanele matricei . Se definește
unde .
Atunci
Atunci se rearanjează ecuațiile de mai sus astfel încât s să fie în stânga și rezultă următoarele ecuații.
Se observă că deoarece sunt versori, avem următoarele.
Aceste ecuații pot fi scrise sub formă matriceală după cum urmează.
Dar produsul fiecărui rând și coloană al matricelor de mai sus ne dau o coloană corespunzătoare a matricei A inițiale, și împreună, ne dau matricea A, deci am factorizat pe A într-o matrice ortogonală Q (matricea formată din ek), via Gram Schmidt, și evident, matricea superior triunghiulară este restul R.
Un reflector Householder (sau transformare Householder) este o transformare operată asupra unui vector pe care îl reflectă față de un plan. Putem folosi această proprietate pentru a calcula factorizarea QR a unei matrice.
Q poate fi folosită pentru a reflecta un vector în așa fel încât dispar toate coordonatele mai puțin una.
Fie un vector-coloană arbitrar m-dimensional cu proprietatea că |||| = |α| pentru un scalar α. Dacă algoritmul este implementat folosind aritmetica în virgulă mobilă, atunci α trebuie să aibă semnul opus primei coordonate a lui pentru a evita pierderea de semnificație. Dacă e un vector complex, atunci definiția
ar trebui să fie utilizată (Stoer,Bulirsch,2002,p.225).
Atunci, unde este vectorul (1,0,...,0)T, și ||·|| norma euclidiană, fie
este o matrice Householder și
Aceasta se poate folosi treptat pentru a transforma o matrice m-pe-nA în forma superior triunghiulară. Întâi, se înmulțește A cu matricea Householder Q1 obținută prin alegerea primei coloane pentru x. Aceasta are ca rezultat o matrice QA cu zerouri în coloana din stânga (cu excepția primului rând).
Aceasta se poate repeta pentru A′ (obținută din Q1A ștergând primul rând și prima coloană), având ca rezultat o matrice Householder Q′2. Se observă că Q′2 este mai mică decât Q1. Deoarece este de dorit ca ea să opereze asupra lui Q1A în loc de A′ trebuie să fie extinsă spre sus și stânga, completând-o cu un 1, sau în general:
După iterații ale acestui proces, ,
este o matrice superior triunghiulară. Deci, cu
is a QR decomposition of .
Aceasta metodă are o stabilitate numerică superioară metodei Gram-Schmidt descrisă mai sus.
Tabelul următor dă numărul de operații în pasul k al descompunerii QR prin transformări Householder, presupunând o matrice pătrată de dimensiune n.
Operație
Număr de operații în pasul k
înmulțiri
adunări
împărțiri
rădăcini pătrate
Adunând aceste numere pe cei pași (pentru o matrice pătrată de dimensiune n), complexitatea algoritmului este dată de