La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Analisi Numerica: AutoValori e Autovettori Valentina Campisi.

Presentazioni simili


Presentazione sul tema: "Analisi Numerica: AutoValori e Autovettori Valentina Campisi."— Transcript della presentazione:

1 Analisi Numerica: AutoValori e Autovettori Valentina Campisi

2 Autovalori e Autovettori (1/2) Sia A C nxn. Un vettore v C n, v0 si dice autovettore per A se Av = v con C è detto autovalore per A. Si ricava il sistema (A- I)v = 0. Da cui segue che gli autovalori sono le radici del polinomio caratteristico p A ( )=det(A- I) cioè i valori per cui la matrice A- I è singolare e quindi il sistema ammette soluzioni diverse da v=0.

3 Autovalori e Autovettori (2/2) Ricavarsi gli autovalori in questo modo comporta il calcolo del determinante di una matrice che una operazione altamente costosa. Si cercano quindi strade alternative per la ricerca degli autovalori. Noi considereremo solo uno di questi metodi, che si applica ad un caso molto particolare e tuttavia molto frequente nelle applicazioni: la ricerca dell'autovalore dominante cio è di un autovalore maggiore in modulo di tutti gli altri.

4 Quoziente di Rayleigh Lautovalore corrispondente allautovettore v si ottiene calcolando il quoziente di Rayleigh =v T Av/ v T v Implementazione: function [lam,x] = ray_quo Riceve in input la matrice A a partire da un vettore non nullo calcola il quoziente di Rayleigh per restituire lautovalore in lam e in x lautovettore associato

5 Metodo delle Potenze (1/3) Supponiamo che la matrice A abbia un autovalore dominante 1 tale che | 1 |> | 2 |…. | n | Il metodo delle potenze fornisce un metodo iterativo per approssimare l'autovalore dominante. Dato un vettore di innesco u 0 0 si definisce una successione di vettori in questo modo: u k+1 = A u k Si pu ò dimostrare che l'autovalore dominante approssimato dalla seguente espressione: k = (u k ) T u k+1 / (u k ) T u k

6 Metodo delle Potenze (2/3) Per evitare problemi di overflow o underflow si usa una versione normalizzata del metodo delle potenze, nella quale tutti i vettori u k sono divisi per la loro norma in modo che la norma dei vettori cos ottenuti sia sempre unitaria. y k = u k /||u k || 2 u k+1 = Ay k k+1 = (y k ) T u k+1 / (y k ) T y k = (y k ) T u k+1 dove l'ultima eguaglianza deriva dal fatto che (y k ) T y k =||y k || 2 =1

7 Metodo delle potenze (3/3) Implementazione: La procedura metodoPotenze utilizza lo schema usando come condizione di arresto | k - k- 1 |<. [lambda,x,iter]=potenze Riceve in A la matrice di cui si vuole calcolare l'autovalore dominante, in x 0 un vettore di innesco (non nullo), in toll laccuratezza desiderata e in nmax un limite superiore al numero di iterazioni. Restituisce in lambda l'approssimazione dell'autovalore dominante, in x lautovettore e in iter il numero di iterazioni effettuate.

8 Matrice di Hessenberg Siano A,B simili, aventi cioè gli stessi autovalori, S, S -1 : A=SBS -1 Inoltre,per motivi di efficienza, il calcolo degli autovalori di B deve essere più facile di quello di A. Se B è triangolare gli autovalori sono gli elementi della diagonale. Si ha: U : A=UTU* dove T è triangolare superiore. Ma ricavare A in questo modo non è semplice allora troviamo S tale che B=SAS -1 sia una matrice di Hessenberg: H = h 11 h 12 …. h 1n h 21 h 21. h 2n.. 0 h mn-1 h mn Per ridurre una matrice qualunque in forma di Hessenberg utilizziamo il metodo di HouseHolder

9 Metodo di Householder (1/2) Se v è dato come un vettore colonna unità e I è la matrice identità la trasformazione lineare è data dalla matrice di Householder P=I-2vv T /v T v La matrice di Householder ha le seguenti propriet à: simmetrica: P = P T ortogonale: P -1 = P T Si trova che P riflette effettivamente un punto x, che viene rappresentato con il suo vettore posizione x: Px = x 2vv T x Questo vettore è detto vettore di riflessione o di Householder

10 Metodo di Householder (2/2) Implementazione: Ciascun passo k-esimo consiste in una trasformazione per similitudine di A tramite la matrice di Householder che ha leffetto di rendere nulli gli elementi di posizione di k+2,..,n della colonna k-esima della matrice per k=1,..,n-2. function [Q,H] = houseHolder_Hessenberg(A) Riceve in A una matrice e restituisce in H la matrice trasformata in forma di Hessenberg e in G la matrice ortognale. Per il calcolo del vettore di Householder si utlizza il programma: function[v,beta]=vHouse(x)

11 Metodo di Givens Le matrici di Givens sono matrici di rotazioni ortogonali che hanno la proprietà di annullare selettivamente singoli elementi di una matrice o di un vettore. Fissati due indici i e K e un certo angolo, esse sono definite come: G(i,k, ) = I - Y dove Y C nxn è una matrice identicamente nulla fatta eccezione per gli elementi y ii = y kk = 1-cos e y ik = -sin = -y ki G(i,k, ) = cos sin -sin cos Data una matrice possiamo calcolare la fattorizzazione QR, ottenendo A=QR che tende ad assumere una forma triangolare. Utilizziamo function [Q,R]=rotqr_demo(A)


Scaricare ppt "Analisi Numerica: AutoValori e Autovettori Valentina Campisi."

Presentazioni simili


Annunci Google