The QR algorithm

The QR algorithm for computing eigenvalues is one of the best known algorithms in numerical analysis. It was developed by G.F. Francis in the s.

The QR algorithm efficiently provides approximations for all eigenvalues and eigenvectors of a matrix.

Versione base

For End

Osservazione Per costruzione le matrici e sono unitariamente simili:

moltiplicando a sinistra per e a destra per :

Anche questa versione semplice dell’algoritmo realizza numericamente una Decomposizione di Schur della matrice , ovver la successione . Tale schema è stato raffinato, sia per indebolire le condizioni necessarie per la convergenza che per aumentarne la rapidità.

Prima variante

Il primo migioramento consiste nel trasformare la matrice in una matrice di hessemberg superiore unitariamente simile (per preservare lo spettro). L’idea è che ora si devono annullare solo gli elementi della sottodiagonale.

Inoltre ad ogni passo si effettueranno solo operazioni contro le necessarie per la fattorizzazione QR e il prodotto tra matrici.

Inoltre se è hermitiana, è tridiagonale, dunque le operazioni si riducono a .

Teorema Se gli autovalori di hanno tutti moduli distinti, ovvero , allora la successione . La velocità di convergenza a zero degli elementi sottodiagonali di , chiamati è data da:

Seconda variante: shift e deflazione

Il teorema precedente mostra come la velocità di convergenza del metodo QR dipende da quanto sono ben separati gli autovalori. Con il seguente accorgimento è possibile incrementare la velocità di convergenza.

Shift

Assumiamo di avere per ogni iterazione uno shift . Lo schema con shift: For End

le matrici continuano ad essere unitariamente simili.

Troviamo un ottimale ad ogni passo. Euristicamente, siccome la convergenza è dal basso verso l’alto, la migliore stima di si ha per l’elemento .

Lo shift viene chiamato così perchè shifta lo spettro. Dunque la velocità di convergenza, per il teorema precedente, risulta:

quindi abbiamo reso piccolo il numeratore. Come condizione di stop controlliamo che l’elemento sia abbastanza piccolo:

Si può dimostrare che la convergenza a zero è quadratica.

Deflazione

Giunti a convergenza, la strategia della deflazione si traduce nell’applicare la medesima procedura alla matrice ridotta (ovvero porre in maniera ricorsiva fino a .