1 / 11

Analisi Numerica: AutoValori e Autovettori

Analisi Numerica: AutoValori e Autovettori. Valentina Campisi. Autovalori e Autovettori (1/2). Sia A C nxn . Un vettore vC n , v≠0 si dice autovettore per A se Av = v con C  è detto autovalore per A. Si ricava il sistema (A-I)v = 0.

Download Presentation

Analisi Numerica: AutoValori e Autovettori

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Analisi Numerica: AutoValori e Autovettori Valentina Campisi

  2. Autovalori e Autovettori (1/2) Sia ACnxn. Un vettore vCn, v≠0 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 pA()=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 L’autovalore  corrispondente all’autovettore v si ottiene calcolando il quoziente di Rayleigh =vTAv/ vTv Implementazione: function [lam,x] = ray_quo Riceve in input la matrice A a partire da un vettore non nullo calcola il quoziente di Rayleighper restituire l’autovalore in lam e in x l’autovettore associato

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

  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 uk sono divisi per la loro norma in modo che la norma dei vettori cos� ottenuti sia sempre unitaria. yk= uk /||uk||2 uk+1 = Ayk k+1= (yk)Tuk+1/ (yk)Tyk= (yk)Tuk+1 dove l'ultima eguaglianza deriva dal fatto che (yk)Tyk=||yk||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 x0 un vettore di innesco (non nullo), in toll l’accuratezza desiderata e in nmax un limite superiore al numero di iterazioni. Restituisce in lambda l'approssimazione dell'autovalore dominante, in x l’autovettore 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 = h11 h12 ….h1n h21 h21 . h2n . . . . 0 hmn-1 hmn 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-2vvT/vTv La matrice di Householder ha le seguenti propriet�à: • simmetrica: P = PT • ortogonale: P-1 = PT Si trova che P riflette effettivamente un punto x, che viene rappresentato con il suo vettore posizione x: Px = x − 2vvTx 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 l’effetto 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Cnxn è una matriceidenticamente nulla fatta eccezione per gli elementi yii = ykk = 1-cos e yik = -sin = -yki G(i,k,) = 10 1 cos sin -sin cos 1 0 1 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)

More Related