La fattorizzazione QR decompone una matrice (con ) nel prodotto dove ha colonne ortonormali e è triangolare superiore. È il fondamento numerico dei metodi per i minimi quadrati e per il calcolo degli autovalori.
Vedi anche: Gram-Schmidt, Decomposizione SVD, Numero di Condizionamento.
Enunciato
Teorema: per ogni con e colonne linearmente indipendenti esistono:
- con (colonne ortonormali)
- triangolare superiore con elementi diagonali positivi
tali che . La fattorizzazione è unica.
Nella forma piena: è ortogonale e ha la parte inferiore nulla.
Metodi di Calcolo
Gram-Schmidt (classico e modificato)
Il procedimento di Gram-Schmidt applicato alle colonne di produce e direttamente. La versione modificata è numericamente più stabile. Vedi: Gram-Schmidt.
Costo: , numericamente meno stabile delle riflessioni di Householder.
Riflessioni di Householder
Una riflessione di Householder è una matrice ortogonale della forma:
Riflette rispetto all’iperpiano ortogonale a . Applicata opportunamente azzera gli elementi sotto la diagonale colonna per colonna:
Costo: , numericamente stabile. Metodo standard nelle librerie LAPACK.
Rotazioni di Givens
Una rotazione di Givens azzera un singolo elemento introducendo una rotazione piana nei piani :
Utile per matrici sparse (si azzera un elemento alla volta senza introdurre fill-in).
Applicazione ai Minimi Quadrati
Per il sistema sovradeterminato (), la soluzione ai minimi quadrati si ottiene:
La soluzione è , risolta per sostituzione all’indietro. È più stabile della soluzione tramite le equazioni normali (che eleva al quadrato il numero di condizionamento).
Algoritmo QR per Autovalori
L’algoritmo QR calcola gli autovalori di una matrice simmetrica tramite iterazioni:
Le matrici convergono a una forma diagonale (o triangolare) con gli autovalori sulla diagonale. È l’algoritmo standard nei solvitori di autovalori (con shifts per accelerare la convergenza). Vedi: Polinomio Caratteristico.
Applicazioni ingegneristiche
- Regressione lineare: la fattorizzazione QR è il metodo numerico preferito per la regressione; è già implementata in
numpy.linalg.lstsq, MATLAB\, Rlm(). - Analisi modale: il calcolo degli autovalori della matrice di rigidezza usa l’algoritmo QR con shifts di Wilkinson nelle librerie LAPACK (routine
dsyev). - Controllo ottimo: il problema LQR (Linear Quadratic Regulator) richiede la soluzione dell’equazione di Riccati, che si risolve tramite decomposizione di Schur — una variante della fattorizzazione QR.