La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Algoritmi di diagonalizzazione

Presentazioni simili


Presentazione sul tema: "Algoritmi di diagonalizzazione"— Transcript della presentazione:

1 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 ) = equazione caratteristica  equazione algebrica di grado n n radici autovalori non necessariamente distinti

2 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

3 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

4 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

5 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 π/ se (k-1)apq > 0 θ = - π/ se (k-1)apq < 0

6 Convergenza Ak  diag ( λi ) Posto Ak = diag( (k)aii ) + Ek con Ek matrice (simmetrica) degli elementi non diagonali, allora ║ Ek ║2 k   Si ha  ║ Ek ║2 2 = ij  (k)aii  → 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 ]

7 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 Quindi  ║ Ek ║2 2   ║ Ek-1 ║2  ((k-1)apq )  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

8 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

9 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

10 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

11 Una matrice T   tij  è detta tridiagonale se tij = i-j > 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

12 Passo tipico  partizioniamo A come a c1T A  A0 = con M1 matrice (n-1)(n-1) c M1  consideriamo una trasformazione di similitudine della matrice A che lasci invariato l’elemento a T T a c1T P A1 = A = P1† P P1† c P1† M1 P1

13 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 P  (n-1)(n-1)   Partizionare A a  T A =  a c2T M2 matrice (n-2)(n-2) c M  Scegliendo P1 ortogonale (unitaria) 1 = ║ e1 1 ║  (12 e1T e1 ) = ║ P1† c1 ║ = = (c1T P1 P1† c1) = (c1T c1) = ║ c1║

14 Usando come successiva trasformazione T a  T T T  a c2T T P2† c M 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.

15 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 ║ e  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 )

16  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

17 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

18  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 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

19 Autovalori di una matrice tridiagonale simmetrica 1 1 0 0 0
Autovalori di una matrice tridiagonale simmetrica 1      3  3 4  = T n n-1 n 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.

20 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 (  )

21 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 ) = i = 1,2, … , k yi : Pk+1 ( yi ) = 0 i = 1,2, … , k y1  x1  y2  x2   xk  yk  se Pk (  ) = 0 e Pk-1 (  ) = 0 dalla relazione di ricorrenza segue Pk-2 (  ) = 0. Iterando si ottiene P0 (  ) = 0 , il che è impossibile.

22 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 = c b1 = b s( c1 ) < k  a1 = a b1 = c1 Si itera. Localizzazione precisa come ( a0  b0 ) / 2p dopo p passi

23 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

24  Calcolo degli autovettori di T 1 2 0 0. 0 x1 x1 2 2 3 0
 Calcolo degli autovettori di T 1  x x    x x  3  =  n n xn xn ossia ( 1   ) x1 + 2 x2 = i xi-1 + ( i   ) xi + i+1 xi+1 = n x n ( n   ) xn =  x1 non può essere nullo  assumendo x1 = xi = (-1)i-1 Pi-1 (  ) / 2 3 … i


Scaricare ppt "Algoritmi di diagonalizzazione"

Presentazioni simili


Annunci Google