Algoritmi di diagonalizzazione - Generalità e definizioni A matrice n x n x vettore Problema generale : trovare i valori di λ per i quali il sistema di n equazioni lineari omogenee A x = λ x ammette una soluzione non banale. det ( A - λ l ) = 0 equazione caratteristica equazione algebrica di grado n n radici autovalori non necessariamente distinti
A aij Matrici simmetriche alm = aml A = AT Matrici Hermitiane alm = aml * A = A† • autovalori reali • sistema non difettivo di autovettori • trasformazione unitaria ( U † = U -1 ) che converte A in una matrice diagonale
Metodo di Jacobi • matrici reali simmetriche la matrice originale è convertita in forma diagonale attraverso una successione di rotazioni piane. Ak = Rk Ak-1 RkT Supponiamo che l’elemento non diagonale di Ak-1 di massimo modulo sia nella posizione (p,q) . Rk corrisponde allora ad una rotazione nel piano (p , q) Rpp = Rqq = cos θ Rpq = - Rqp = sin θ Rii = 1 (i ≠ p , q) Rij = 0 altrimenti
Ak è simmetrica differisce da Ak-1 solo nelle righe e colonne p e q I nuovi valori degli e. di m. sono (i ≠p,q) (k)aip = (k-1)aip cos θ + (k-1)aiq sin θ = (k)api (k)aiq = - (k-1)aip sin θ + (k-1)aiq cos θ = (k)aqi (k)app = (k-1)app cos2 θ +2 (k-1)apq sin θ cos θ + (k-1)aqq sin2 θ (k)aqq = (k-1)app sin2 θ + 2 (k-1)apq sin θ cos θ + (k-1)aqq cos2 θ (k)apq = ( (k-1)aqq - (k-1)app ) sin θ cos θ +(k-1)apq (cos2 θ - sin2 θ ) = (k)aqp
condizione su θ (k)apq = 0 tan 2θ = 2 (k-1)apq / ( (k-1)aqq - (k-1)app ) |θ| ≤ π/4 se (k-1)aqq = (k-1)app π/4 se (k-1)apq > 0 θ = - π/4 se (k-1)apq < 0
Convergenza Ak diag ( λi ) Posto Ak = diag( (k)aii ) + Ek con Ek matrice (simmetrica) degli elementi non diagonali, allora ║ Ek ║2 k 0 Si ha ║ Ek ║2 2 = ij (k)aii 2 → per i,j ≠p.q gli e. di m. di Ek ed Ek-1 coincidono → dalle definizioni i≠p,q[ (k)aip 2 (k)aiq 2] [ (k-1)aip 2 (k-1)aiq 2 ]
Le somme dei quadrati degli elementi di Ek e di Ek-1 differiscono solo per gli elementi di indici p e q che sono zero in Ek e non zero in Ek-1 . Quindi ║ Ek ║2 2 ║ Ek-1 ║2 2 - 2 ((k-1)apq )2 Le norme ║ Ek ║2 costituiscono una successione monotona decrescente e quindi convergente (infinitesima) Si può dimostrare che la successione delle matrici Ak tende ad una matrice diagonale fissa
Calcolo degli autovettori Se la convergenza è ottenuta dopo s iterazioni, allora (Rs Rs-1 …… R2 R1 ) A (R1T R2T ….. Rs-1T RsT ) = diag ( i ) Gli autovettori di A sono allora le colonne della matrice X = R1T R2T ….. Rs-1T RsT ortogonalità degli autovettori unitarietà di X varianti della tecnica : serial Jacobi e ricerca di zeri
Analisi del numero di operazioni (serial Jacobi) Rotazione modifica delle righe e colonne p e q calcolo di 2n nuovi e. di m. Richiede 4n operazioni Ciclo completo n(n-1)/2 annullamenti di e. di matrice non diagonali si è fatto uso della simmetria della matrice e della sua conservazione nel processo di Jacobi Operazioni per ogni ciclo 4 n3 per il calcolo degli autovalori n3 per l’aggiornamento degli autovettori
Riduzione della matrice ad una forma condensata : i processi di Givens (1954) e Householder (1958) natura iterativa del processo di Jacobi Separazione del processo di diagonalizzazione in tre passi : - Riduzione della matrice in forma tridiagonale - Soluzione del problema agli autovalori per la matrice tridiagonale - Ricostruzione degli autovettori della matrice originaria
Una matrice T tij è detta tridiagonale se tij = 0 i-j > 1 Ogni matrice simmetrica (Hermitiana ) può essere ridotta in forma tridiagonale mediante una successione finita di trasformazioni ortogonali (unitarie) che introducono elementi nulli colonna per colonna
Passo tipico partizioniamo A come a11 c1T A A0 = con M1 matrice (n-1)(n-1) c1 M1 consideriamo una trasformazione di similitudine della matrice A che lasci invariato l’elemento a11 1 0 T 1 0 T a11 c1T P1 A1 = A0 = 0 P1† 0 P1 P1† c1 P1† M1 P1
Strategia Scegliere P1 in modo tale che P1† c1 = col ( 1 , 0 , Strategia Scegliere P1 in modo tale che P1† c1 = col ( 1 , 0 , .... , 0 ) = 1 e1 Calcolare A2 = P1† M1 P1 (n-1)(n-1) Partizionare A2 a11 1 0T A = 1 a22 c2T M2 matrice (n-2)(n-2) 0 c2 M2 Scegliendo P1 ortogonale (unitaria) 1 = ║ e1 1 ║ (12 e1T e1 ) = ║ P1† c1 ║ = = (c1T P1 P1† c1) = (c1T c1) = ║ c1║
Usando come successiva trasformazione 1 0 0T a11 1 0T 1 0 0T 0 1 0T 1 a22 c2T 0 1 0T 0 0 P2† 0 c2 M2 0 0 P2 al secondo passo non vengono distrutti gli zeri introdotti al primo passo Il processo prosegue finchè dopo n-2 passi la matrice tridiagonale è costruita.
Scelta di P Rotazioni piane (Givens 1954) Le matrici P sono costruite mediante una sequenza di rotazioni piane (alla Jacobi) che annullano i vari elementi dei vettori ci fino a ridurli a ║ ci ║ e1. Vi sono j-1 elementi di matrice da annullare ed ognuno richiede 4j moltiplicazioni (ed una radice) per ogni riga (colonna) 4 j (j-1) in totale 4 j (j-1) = n3 + O(n) ( da confrontare con il 4n3 di Jacobi )
Riflessioni ( Householder 1958) Introduciamo v v = u H(u) : H(u) v = v u† v = 0 Si vede che H(u) = I 2 u u† / (u† u ) = I u u† ha la proprietà richiesta. Inoltre H† = H H2 = I
Ricordiamo che dobbiamo trovare una matrice P : P c = e1 una cui soluzione si può scrivere P = H ( u ) = H ( c e1 ) Infatti, se H ( u ) x = y allora x u u† x = y se x = y ogni u : u† x = 0 è ok altrimenti basta scegliere u proporzionale a x y
Vantaggi computazionali - Non occorre costruire esplicitamente la matrice P; basta il vettore w che differisce da c solo nel primo elemento. - Ad ogni passo della tridiagonalizzazione occorre effettuare la trasformazione di similitudine P† M P che richiede apparentemente 2 j3 operazioni. Tuttavia P† M P = ( I u u† ) M ( I u u† ) = M u ( u† M ) ( M u ) u† + 2 u u† M u u† Definendo q = M u P† M P = M u q† q u† + u† q u u† che richiede 3 j2 operazioni ( uno per q , uno per q u†, uno per u u† ) in tutto n3 operazioni
Autovalori di una matrice tridiagonale simmetrica 1 1 0 0 0 Autovalori di una matrice tridiagonale simmetrica 1 1 0 0 0 . . . . 0 0 1 2 2 0 0 . . . . 0 0 0 2 3 3 0 . . . . 0 0 0 0 3 4 4 . . . . 0 0 = T . . . . . . . . . . . . . . . . . . . . . . 0 0 0 . . . . . . . n-2 n-1 n-1 0 0 0 . . . . . . . 0 n-1 n matrici non ridotte i ≠ 0 ∀i L’equazione caratteristica det( T - I ) = 0 può essere ottenuta da una relazione di ricorrenza. Sia Mi è il minore principale di ordine i della matrice tridiagonale e Pi ( ) il corrispondente polinomio caratteristico.
Posto P0( ) = 1 , si ha P1( ) = 1 P2( ) = (2 ) (1 ) 12 = (2 ) P1( ) 12 P0( ) P3( ) = (3 ) (2 ) (1 ) 12 (3 ) 22 (1 ) = = (3 ) P2( ) 22 P1( ) . . . . . . . Per induzione relazione di ricorrenza Pk ( ) = ( k ) Pk-1 ( ) k-12 Pk-2 ( )
Metodo di bisezione per la ricerca di autovalori Proprietà Sturmiana Gli zeri di Pk ( ) separano in senso stretto gli zeri di Pk+1 ( ) xi : Pk( xi ) = 0 i = 1,2, … , k yi : Pk+1 ( yi ) = 0 i = 1,2, … , k +1 y1 x1 y2 x2 . . . xk yk+1 se Pk ( ) = 0 e Pk-1 ( ) = 0 dalla relazione di ricorrenza segue Pk-2 ( ) = 0. Iterando si ottiene P0 ( ) = 0 , il che è impossibile.
Teorema Data la sequenza P0 ( ) , P1 ( ) , P2 ( ) , Teorema Data la sequenza P0 ( ) , P1 ( ) , P2 ( ) , . . . , Pn ( ) , sia s() il numero di concordanze di segno fra termini consecutivi della sequenza. Allora s() è il numero di autovalori maggiori di . Sia b0 > a0 e s( a0 ) k ( vi sono k autovalori maggiori di a0 ) s( b0 ) < k ( vi sono meno di k autovalori maggiori di k) k deve essere nell’intervallo [ a0 , b0 ] posto c1 = ( a0 + b0 ) s( c1 ) k a1 = c1 b1 = b0 s( c1 ) < k a1 = a0 b1 = c1 Si itera. Localizzazione precisa come ( a0 b0 ) / 2p dopo p passi
Autovalori : Tridiagonalizzazione A P† A P = T T ( P†n-1 P†n-2 …… P† 2 P†1 ) A ( P1 P2 …… Pn-2 Pn-1 ) Calcolo degli autovalori di T Autovettori : Calcolo degli autovettori di T Ricostruzione degli autovettori di A Il secondo passo è banale : se A x = x allora (P† A P) P† x = T P† x = T y = P† x = y x = P y
Calcolo degli autovettori di T 1 2 0 0. 0 x1 x1 2 2 3 0 Calcolo degli autovettori di T 1 2 0 0 . . . . 0 x1 x1 2 2 3 0 . . . . 0 x2 x2 0 3 3 4 . . . . 0 . = . . . . . . . . . . . . . . . . . . . . 0 0 0 . . . .. n n xn xn ossia ( 1 ) x1 + 2 x2 = 0 i xi-1 + ( i ) xi + i+1 xi+1 = 0 n x n-1 + ( n ) xn = 0 x1 non può essere nullo assumendo x1 = 1 xi = (-1)i-1 Pi-1 ( ) / 2 3 … i