Metodo delle potenze

Da testwiki.
Vai alla navigazione Vai alla ricerca

Il metodo delle potenze è un semplice metodo iterativo per il calcolo approssimato dell'autovalore di modulo massimo di una matrice e il corrispondente autovettore.

Il metodo

Sia An×n diagonalizzabile con autovalori λ1,λ2,,λn tali che |λ1|>|λ2||λn|0.

Fissato un vettore x0n (la cui proiezione sull'autospazio relativo a λ1 è non nulla), si genera la successione xk=Axk1 per k=1,2,

Si può allora dimostrare che la successione degli xk tende all'autovettore relativo all'autovalore di modulo massimo.

Convergenza

Siccome A è per ipotesi diagonalizzabile, esiste una base di autovettori v1,v2,,vn.

Allora il vettore x0 può essere riscritto come

x0=i=1nαivi

e conseguentemente, per la definizione di autovalore di una matrice, il risultato della k-esima iterazione come:

xk=Akx0=i=1nαiAkvi=i=1nαiλikvi.

Adesso, per comodità di notazione, spostiamo gli indici da pedice in apice: xk=x(k) e x(k)=i=1nαiλikv(i).

Indicando con xr(k) e vr(i) le componenti r-esime dei vettori x(k) e v(i), per gli indici j per cui xj(k)0 e vj(1)0 si ha:

xj(k+1)xj(k)=λ1α1vj(1)+i=2nαi(λiλ1)k+1vj(i)α1vj(1)+i=2nαi(λiλ1)kvj(i).

E poiché |λi||λ1|<1 per i2 si ha:

limkxj(k+1)xj(k)=λ1.

Quindi da un certo indice k in poi l'autovalore λ1 può essere approssimato con il rapporto indicato.

Con questo metodo si può approssimare anche l'autovettore v1. Infatti si ha:

x(k+1)xj(k)=λ1α1v(1)+i=2nαi(λiλ1)k+1v(i)α1vj(1)+i=2nαi(λiλ1)kvj(i).

E passando al limite (poiché α10) si ottiene:

limkx(k+1)xj(k)=v(1)vj(1),

che sarebbe l'autovettore v(1) opportunamente normalizzato.

Implementazione

Il metodo delle potenze non viene praticamente mai implementato nella formulazione data, poiché dopo pochi passi si potrebbero avere problemi di underflow o overflow. Per evitare questi problemi è necessario eseguire a ogni passo una normalizzazione del vettore ottenuto, costruendo una successione xk=Axk1, per k=1,2,, così definita:

{yk=Axk1xk=ykβk,

dove βk è uno scalare tale che xk=1 (tipicamente si prende la norma euclidea di yk).

Utilizzi

Il metodo delle potenze è scarsamente utilizzato poiché permette il calcolo dei soli autovalori e autovettori dominanti. Trova però degli impieghi in specifici problemi: ad esempio è alla base del metodo utilizzato da Google per il proprio algoritmo di PageRank.[1]

Varianti

Esistono numerose varianti del metodo delle potenze. La più famosa è quella del metodo delle potenze inverse che permette il calcolo approssimato dell'autovalore in modulo minore e del rispettivo autovettore. L'algoritmo si basa sull'osservazione che l'autovalore minore in modulo di una matrice, sarà l'autovalore dominante della matrice inversa.

Per il calcolo di un autovalore di modulo compreso fra il massimo ed il minimo autovalore si può invece utilizzare il metodo delle potenze inverse con shift, abbinato ai teoremi di Gerschgorin sulla localizzazione degli autovalori: modificando la matrice tramite un parametro μ, il metodo trova l'autovalore di modulo più prossimo al valore del parametro.

Note

Bibliografia

  • D. Bini, M. Capovani, O. Menchi (1988): Metodi Numerici per l'Algebra Lineare, Zanichelli, ISBN 88-08-06438-7

Template:Algebra lineare Template:Portale