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
diagonalizzabile con autovalori
tali che
Fissato un vettore
(la cui proiezione sull'autospazio relativo a
è non nulla), si genera la successione
per
Si può allora dimostrare che la successione degli
tende all'autovettore relativo all'autovalore di modulo massimo.
Convergenza
Siccome
è per ipotesi diagonalizzabile, esiste una base di autovettori
.
Allora il vettore
può essere riscritto come
![{\displaystyle x_{0}=\sum _{i=1}^{n}\alpha _{i}v_{i}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/6a290be686638dac50f0592302bc19d4448ae3d4)
e conseguentemente, per la definizione di autovalore di una matrice, il risultato della
-esima iterazione come:
![{\displaystyle x_{k}=A^{k}x_{0}=\sum _{i=1}^{n}\alpha _{i}A^{k}v_{i}=\sum _{i=1}^{n}\alpha _{i}\lambda _{i}^{k}v_{i}.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/9a7fbb6bf08e86cf49113ebf0f59f6ad5283d375)
Adesso, per comodità di notazione, spostiamo gli indici da pedice in apice:
e
Indicando con
e
le componenti
-esime dei vettori
e
, per gli indici
per cui
e
si ha:
![{\displaystyle {\frac {x_{j}^{(k+1)}}{x_{j}^{(k)}}}=\lambda _{1}{\frac {\alpha _{1}v_{j}^{(1)}+\sum _{i=2}^{n}\alpha _{i}({\frac {\lambda _{i}}{\lambda _{1}}})^{k+1}v_{j}^{(i)}}{\alpha _{1}v_{j}^{(1)}+\sum _{i=2}^{n}\alpha _{i}({\frac {\lambda _{i}}{\lambda _{1}}})^{k}v_{j}^{(i)}}}.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/7b50d0745a5ceb9f43303825825f2d76458b6924)
E poiché
per
si ha:
![{\displaystyle \lim _{k\rightarrow \infty }{\frac {x_{j}^{(k+1)}}{x_{j}^{(k)}}}=\lambda _{1}.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/05d9112596f5e6d23b643de2396a9ebfa154c84a)
Quindi da un certo indice
in poi l'autovalore
può essere approssimato con il rapporto indicato.
Con questo metodo si può approssimare anche l'autovettore
. Infatti si ha:
![{\displaystyle {\frac {x^{(k+1)}}{x_{j}^{(k)}}}=\lambda _{1}{\frac {\alpha _{1}v^{(1)}+\sum _{i=2}^{n}\alpha _{i}({\frac {\lambda _{i}}{\lambda _{1}}})^{k+1}v^{(i)}}{\alpha _{1}v_{j}^{(1)}+\sum _{i=2}^{n}\alpha _{i}({\frac {\lambda _{i}}{\lambda _{1}}})^{k}v_{j}^{(i)}}}.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/3327319e66710a1b1a9b1a24b2d1626c42784d27)
E passando al limite (poiché
) si ottiene:
![{\displaystyle \lim _{k\rightarrow \infty }{\frac {x^{(k+1)}}{x_{j}^{(k)}}}={\frac {v^{(1)}}{v_{j}^{(1)}}},}](https://wikimedia.org/api/rest_v1/media/math/render/svg/45e0ccb5e3c5e045b094a76f6297f6298938d71d)
che sarebbe l'autovettore
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
per
così definita:
![{\displaystyle {\begin{cases}y_{k}=Ax_{k-1}\\x_{k}={\frac {y_{k}}{\beta _{k}}},\end{cases}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/47ea1f7692490ea32627e316b2cbc0218d3bae3c)
dove
è uno scalare tale che
(tipicamente si prende la norma euclidea di
).
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
- ^ Ipsen, Ilse, and Rebecca M. Wills, 7th IMACS International Symposium on Iterative Methods in Scientific Computing (PDF), Fields Institute, Toronto, Canada, 5–8 May 2005.
Bibliografia
- D. Bini, M. Capovani, O. Menchi (1988): Metodi Numerici per l'Algebra Lineare, Zanichelli, ISBN 88-08-06438-7
Portale Matematica: accedi alle voci di Wikipedia che trattano di matematica