Metodo delle potenze
Data una matrice A ∈ R
n×n, supponiamo che ammetta n autovalori tali che
|λ
1| > |λ
2| ≥ · · · ≥ |λ
n|
Problema
Vogliamo trovare (l’unico) autovalore di modulo massimo λ
1x
1, x
2, . . . , x
nassociati a λ
1, . . . , λ
n. Essi sono linearmente indipendenti ⇒ sono una base di R
n.
1
Considero un vettore iniziale v
(0). Esso si pu `o scrivere come
v
(0)=
n
X
i=1
α
ix
i2
Suppongo che v
(0)sia tale che α
16= 0.
3
genero la successione
v
(1)= Av
(0), v
(2)= Av
(1), . . . , v
(m)= Av
(m−1)...
4
v
(m)= λ
m1α
1x
1+ α
2 λ2 λ1 mx
2+ · · · + α
n λnλ1
mx
nSi dimostra che, fissata una componente k ,
m→∞
lim v
(m)kv
(m−1)k= λ
1e
m→∞
lim v
(m)λ
m1= α
1x
1Velocit `a di convergenza
La velocit `a di convergenza del metodo dipende da
λ
2λ
1m
Al crescere del numero di iterazioni m, accade che
|λ
1|
m→ ∞ quando |λ
1| > 1 V OVERFLOW
|λ
1|
m→ 0 quando |λ
1| < 1 V UNDERFLOW
Soluzione
Normalizzare la successione dei vettori y
(1)= Av
(0), v
(1)=
kyy(1)(1)k∞y
(2)= Av
(1), v
(2)=
y(2)ky(2)k∞
. . . .
y
(n)= Av
(n−1), v
(n)=
y(n)ky(n)k∞
y(n+1)k v(n)k
→ λ
1Algoritmo
Input A, TOL, componente k, NMAX. Output λ
01
v 0 = [1, 1..1]
2
pongo l’errore iniziale e = 1, i = 0 (contatore iterazioni), λ
0= 1
3
Fino a quando e > TOL & i ≤ NMAX y = A ∗ v 0
λ
1= y (k )/v 0(k ) v 0 = y /||y ||
∞e = |λ
1− λ
0|/|λ
1| i = i + 1
λ
0= λ
14
Se i > NMAX , il metodo non converge altrimenti λ
0`e la
soluzione
Attenzione
Potrebbe capitare che la componente v 0(k ) sia nulla. Per evitare ci `o `e sufficiente scegliere ad ogni passo l’indice k
0in modo che
|y (k
0)| = ky k
∞V v0(k
0) = 1
In questo caso k
0potrebbe non rimanere costante per tutte le iterazioni. In ogni caso si pu `o dimostrare che anche la
successione y
(n+1)k/v
(n)kconverge a λ
1[cmax,ind]=max(v)
fornisce la componente massima del vettore (cmax) e l’indice
(ind) di tale componente
Osservazioni
1
Se v
0`e tale che α
1= 0, il metodo dovrebbe convergere a λ
2. In pratica, a causa degli errori di arrotondamento, ci `o non accade
2
Quando |λ
1| ≈ |λ
2| la convergenza pu `o risultare molto lenta
3