Autovalori
Sia
(*)
A∈
ℜ nxn ,
λ ∈ C è autovalore di A se ∃ x ∈ ℜ n , x ≠0 :
Ax=λx
Il vettore x si dice autovettore di A associato a λ.
Per ogni autovalore λ, l’insieme degli autovettori ad esso
associati, compreso l’autovettore nullo, forma un sottospazio
di
ℜn ,
noto come l’autospazio associato a λ.
(*)
Siano V e W due spazi vettoriali sullo stesso campo K. Una funzione
trasformazione lineare se soddisfa le seguenti proprietà
•
•
(additività)
(omogeneità)
per ogni coppia di vettori x e y in V e per ogni scalare a in K.
Equivalentemente, f è lineare se preserva le combinazioni lineari, ovvero se
per ogni intero positivo m e ogni scelta dei vettori
Una matrice A di tipo
dove Av è il prodotto di A e v.
e degli scalari
con valori reali definisce una trasformazione lineare
è una
In questa trasformazione lineare della Gioconda, l'immagine è modificata ma l'asse
centrale verticale rimane fisso. Il vettore blu ha cambiato lievemente direzione, mentre
quello rosso no. Quindi il vettore rosso è un autovettore della trasformazione e quello
blu no. Inoltre, poiché il vettore rosso non è stato né allungato, né compresso, né
ribaltato, il suo autovalore è 1. Tutti i vettori sull'asse verticale sono multipli scalari del
vettore rosso, e sono tutti autovettori: assieme all'origine formano l'autospazio relativo
all'autovalore 1.
Un autovettore è sempre ≠ 0. Un autovalore e’ nullo sse A è
singolare.
Spettro di A: σ(A) insieme degli autovalori di A.
Raggio spettrale:
ρ = max λ j
1≤ j ≤ n
Polinomio caratteristico: det(A - λI) di grado n in λ .
Equazione caratteristica: det(A - λI) = 0.
Gli autovalori di A sono tutte e sole le radici dell'equazione
caratteristica. Poiché il polinomio caratteristico è di grado n
in λ , A ha n autovalori non necessariamente distinti. A ha
almeno una coppia autovalore-autovettore e poiché:
Ax = λx ⇔ Aαx = λαx, A ha infiniti autovettori.
Il problema è quindi quello di determinare gli autovettori
linearmente indipendenti.
Ricordiamo che i vettori v1, ..., vn appartenenti ad uno spazio
vettoriale si dicono linearmente indipendenti se nessuno di
questi può essere espresso come una combinazione lineare
degli altri.
Si dice molteplicità algebrica di un autovalore, la sua
molteplicità come radice del polinomio caratteristico.
Si dice molteplicità geometrica di un autovalore, il numero di
vettori linearmente indipendenti associati ad esso.
Se gli autovalori sono n, ci sono n autovettori linearmente
indipendenti. Se la molteplicità algebrica di qualche
autovalore è maggiore di uno, può essere che il numero di
autovettori linearmente indipendenti sia minore di n.
Esempio.
Siano: A =
ma:
1
0
1 1
0 1
,
B=
1 0
0 1
. Per entrambe,
è autovettore di A e
0
1
,
1
0
λ =1
con molteplicità 2
sono autovettori di B.
Ricordiamo alcune proprietà degli autovalori.
•
A ed AT hanno gli stessi autovalori.
•
det(A) = 0 ⇔ λ = 0
•
Se det(A) ≠ 0 ⇒ ∃ A-1 e se µ è autovalore di A ⇒
µ-1 autovalore di A-1
•
Se µ è autovalore di A, µs è autovalore di As ∀ s ∈ Z
Siano A e B ∈ ℜ nxn , ∃ B-1 e sia C = B-1AB. Allora A e C si
dicono simili.
Teorema. Due matrici simili hanno lo stesso polinomio
caratteristico e quindi gli stessi autovalori.
Teorema. Se A e C sono simili, allora As e Cs sono simili per
∀ s ∈ N.
Teorema. Se A e C sono simili e det(A) ≠ 0 allora anche det(C)
≠ 0 e inoltre A-1, C-1 sono simili.
Teorema di Gerschgorin.
n
A ∈ ℜ nxn , ρi = ∑ a ij ,
γi = {z ∈ C : |z - aii|≤ ρi }
i = 1, …, n
j=1
j≠ i
n
γ = U γi.
Allora, se λ ∈ σ(A)
⇒ λ∈γ
i=1
Teorema di Hermite.
Se A ∈ C nxn , A =
AT ,
allora gli autovalori di A sono tutti reali.
Teorema. Se A è simmetrica definita positiva gli autovalori
sono tutti reali positivi.
Una matrice si dice diagonalizzabile se e’ simile ad una
matrice diagonale.
Teorema. Una matrice A ∈ C nxn è diagonalizzabile se e solo se
ha n autovettori linearmente indipendenti.
o
Matrice unitaria:
UT U
Matrice ortogonale:
= U UT = I
UTU = UUT = I
Teorema di Schur.
A ∈ C nxn ⇒ ∃ U unitaria : T = U T AU, dove T è triangolare
superiore.
NB: Se A è reale allora U è ortogonale.
Teorema. Se A è hermitiana essa è diagonalizzabile.
Teorema. Condizione necessaria e sufficiente perché A ∈ C nxn
sia convergente è che ρ(A)< 1.
Teorema. Condizione necessaria e sufficiente perché A sia
convergente è che sia infinitesima:
Teorema. ρ(A)
Ak → 0 .
≤ A
Condizionamento
Propagazione, sugli autovalori, delle perturbazioni degli
elementi della matrice.
Per semplificare, sia A diagonalizzabile. Allora
∃ P, P −1 :
P −1 AP = diag (λ1, λ2 ,..., λn ) = D .
Inoltre la norma matriciale sia tale che:
D = max di
che è verificata per le norme matriciali indotte
dalle p-norme:
x p, 1≤ p ≤ ∞ .
Teorema di Bauer-Fike.
Sia
A
diagonalizzabile
con
norma
soddisfacente
la
condizione enunciata. Sia E una matrice di perturbazione per
A e siano
λ
un autovalore di (A+E) e
λi ∈ σ ( A).
Allora si ha:
min λ − λi ≤ P P −1 E
□
λi ∈σ ( A)
Se A è una matrice normale, ovvero
AT A = AAT ,
come ad es.: le
matrici ortogonali, simmetriche, unitarie, allora la matrice P
può essere scelta unitaria
teorema di Schur) per cui:
e quindi:
(ortogonale nel caso reale, v.
P
p
= P −1
p
=1
min λ − λi ≤ E
λi∈σ ( A)
p
e in questo caso il problema è ben condizionato.
Per le matrici non normali:
K ( A) = P P −1
È il numero di condizionamento del problema degli auto
valori di A.
Esempio: matrice di Hilbert.
H n è simmetrica e quindi normale. Mostriamo come
variano l’errore assoluto e quello relativo calcolati con la
norma 2.
n
EA
Er
1
2
4
8
10
10 −3
1.6 ⋅10 −4
5 ⋅10 −7
1.1 ⋅10 −12
1.3 ⋅10 −15
10 −3
1.4 ⋅10 −3
2.2 ⋅10 −3
3.4 ⋅10 −3
4. ⋅10 −3
Vediamo adesso il metodo delle potenze e delle potenze
inverse che sono tecniche per ricavare, rispettivamente,
l’autovalore di modulo massimo e quello di modulo
minimo. Le tecniche per ricavare simultaneamente tutti gli
autovalori sono invece basate sulle iterazioni QR, che a loro
volta si basano sulle trasformazioni per similarità di
Householder e di Givens.
Metodo delle potenze
Supponiamo che la matrice A abbia un autovalore
dominante λ1 tale che:
λ1 > λ2 ≥ ... ≥ λn
e che abbia n autovettori linearmente indipendenti {u i }in=1 :
Au i = λi u i
i = 1,..., n
Il metodo delle potenze fornisce un metodo iterativo per
approssimare l'autovalore dominante
λ1 .
Ogni vettore x ∈ Rn può essere espresso come combinazione
lineare degli u i poiché essi sono linearmente indipendenti.
Sia x0 ∈ Rn
un vettore arbitrario che scriviamo come
combinazione lineare degli u i :
x0 = α 1u1 + α 2 u 2 + ... + α n u n
Poiche’
si ha:
ovvero:
Au i = λi u i
A( Au i ) = λi Au i
A 2 u i = λi2 u i
…
…
A k u i = λki u i
(3)
(2)
Poniamo allora:
x1 = Ax0
→
x 2 = A 2 x0
x k = Ax k −1 →
x k = A k x0
x 2 = Ax1
…
…
Dalla (2) x0 = α 1u1 + α 2 u 2 + ... + α n u n e dalla (3) A k u i = λik u i si ha:
x k = A k x0 = α 1 A k u1 + ... + α n A k u n = α 1λ1k u1 + ... + α n λkn u n
che riscriviamo:
x k = α 1 (λ1 ) k u1 + α 2 (λ2 ) k u 2 + ... + α n (λ n ) k u n
e mettendo in evidenza
α1 (λ1 ) k ,
xk = α 1 (λ1 ) k [u1 +
E poiché
λi < λ1 ,
per
≈
xk =
k →∞
xk
λ α1
k
1
si ha:
α 2 λ2 k
α λ
( ) u 2 + ... + n ( n ) k u n ]
α1 λ1
α1 λ1
la direzione di:
n
= u1 + ∑
i=2
α i λi k
( ) ui
α1 λ1
k = 1,2,...
k
tende ad
u1
al rate con cui
 λ2 
  → 0 .
 λ1 
≈
lim x k = u1
Pertanto, poiché:
k →∞
≈
≈
xk +1 = A xk → λ1u1
e:
il quoziente di Rayleigh, definito da:
≈
T
k
≈
x xk +1
βk =
≈
2
→ λ1
xk
u1u1
= λ1
u1u1
2
tende a
λ1 .
Per evitare problemi di overflow o underflow si usa la
versione normalizzata del metodo delle potenze, nella quale
tutti i vettori sono divisi per la loro norma in modo che la
norma dei vettori così ottenuti sia sempre unitaria.
Caso particolare: esistenza di due autovalori dominanti di
modulo uguale (ovvero
λ1 = λ2
).
Si hanno 3 casi:
1) λ2 = λ1 , il metodo risulta ancora convergente per k
sufficientemente grande.
2) λ2 = − λ1 , il metodo viene applicato alla matrice
λi ( A2 ) = [λi ( A)]2
in modo che
λ12 = λ2 2
λ2 = λ1
poiché
e si ricade nel caso
precedente.
3)
A2
il metodo in questo caso non converge.
Metodo delle potenze inverse
E’ un metodo per approssimare autovalori diversi da quello
di modulo massimo ed in particolare per approssimare
l’autovalore di modulo minimo. Si tratta di applicare il
metodo delle potenze alla matrice ( M α ) −1 = ( A − αI ) −1 .
Aui = λi u i
Essendo:
allora per α diverso da
λi ,
autovalore di A, si ha:
( A − αI )ui = (λi − α )ui
( A − αI ) −1 ui = (λi − α ) −1 ui
inoltre:
pertanto i ξi = (λi − α ) −1 sono gli autovalori di ( M α ) −1 .
Supponiamo allora che esista un intero j tale che:
λ j − α < λi − α
i=1,2,…n,
i ≠ j.
L’autovalore di modulo massimo di ( M α ) −1 corrisponde
quindi a
ξ j .In
particolare, se α = 0 questo metodo porta alla
stima dell’autovalore di A di modulo minimo.
Trasformazioni per similarità.
Queste sono tecniche per determinare contemporaneamente
tutto lo spettro di A.
⇒ ∃ S , S −1 :
Siano A e B simili
A = SBS −1
pertanto A e B avranno gli stessi autovalori.
Trasformando A in B, perché il metodo sia efficiente è
necessario che il calcolo degli autovalori di B sia più
semplice, ovvero meno costoso, di quello di A. Ad esempio,
se B è triangolare o diagonale i suoi autovalori sono gli
elementi diagonali.
Dal teorema di Schur sappiamo che: ∃U :
A = UT U
T
dove T è triangolare superiore.
Il problema sarebbe risolto se fosse possibile determinare U
con un numero finito di operazioni. Purtroppo, una
conseguenza indiretta del teorema di Abel è che, per n ≥ 5 , la
matrice U non può essere calcolata in modo elementare e si
deve pertanto ricorrere a metodi iterativi. A tale scopo,
l’algoritmo di riferimento è l’iterazione QR.
Metodo QR
Sia A ∈ ℜ nxn , data Q0 ∈ ℜ nxn ortogonale e posto:
T0 = (Q0 ) T AQ0 ,
per k=1,2,… sino a convergenza, l’iterazione QR consiste nel
determinare Qk , Rk tali che:
Qk Rk = Tk −1 (fattorizzazione QR)
dove Rk è triangolare superiore, Qk è ortogonale, e porre:
Tk = Rk Qk .
Si osservi che:
Tk = Rk Qk = (QkT Qk ) Rk Qk = QkT Tk −1Qk
Quindi Tk è ortogonalmente simile Tk −1 e, ripetendo i
passaggi, Tk è ortogonalmente simile a T0 e quindi ad A.
Tk = Rk Qk = (Qk )T (Qk Rk )Qk = (Qk )T Tk −1Qk = (Q0Q1...Qk )T A(Q0Q1...Qk )
Nella versione più elementare del metodo, si pone:
Q0 = I n
in
modo che: T0 = A . Se la fattorizzazione QR è ottenuta tramite
il metodo di ortogonalizzazione di Gram-Schmidt, il costo di
ogni passo sarà dell’ordine di
n3
flops.
Nel caso in cui A abbia autovalori reali e distinti, il limite di
Tk è una matrice triangolare superiore. Nel caso generico ciò
non si avrà. Poiché l’implementazione del metodo QR
presentato prima richiederebbe un costo computazionale di
≈ n 3 , illustriamo una variante dal costo ridotto, basata sulla
riduzione della matrice A ad una forma quasi triangolare o
di Hessenberg:
x
B=
x
x
x
x x
0 x
0 0
x
x
x
x
x
x
In questo modo, per determinare ogni Tk nell’algoritmo QR,
il costo sarà ≈ n . Per fare questo, utilizziamo il metodo di
2
Householder per ridurre A ad una forma quasi triangolare e
poi usiamo il metodo di Givens per eseguire la
fattorizzazione QR di Tk .
Metodo di Householder
La matrice di Householder è definita da:
H = I − 2uu T
dove u ∈ ℜ n è un vettore colonna.
La matrice di Householder è simmetrica: H = H T e
ortogonale: HH T = I . Vediamo come procedere per
determinare H.
Supponiamo di voler azzerare gli ultimi q-1 elementi di un
vettore colonna.
Sia: v ∈ ℜ e definiamo:
q
vvT
P = Iq − 2 T
v v
≈
dove: I q e’ la matrice identità qxq, vT v ∈ ℜ , vvT ∈ ℜ qxq ,
rank (vv T ) = 1
≈
P è una matrice di Householder e lo è pure
P=
≈
dove P ∈ ℜ nxn , P ∈ ℜ qxq .
I n−q
0
0
P
≈
P definita da:
Dato x ∈ ℜ q troviamo v ∈ ℜ q tale che:
≈
P x ≡ Ke1 ,
1
 
0
 
K ∈ ℜ, e1 =  ...
 ... 
0
 
vvT
vT x
P x =( I q − 2 T ) x = x − 2 T v ≡ Ke1
v v
v v
∈ ℜq .
≈
⇒
v = x + αe1
dove α è da determinare. Vediamo come determinarlo.
vT x = ( x + αe1 )T x = xT x + αe1T x = x T x + αx1
vT v = ( x + αe1 )T ( x + αe1 ) = xT x + 2αx1 + α 2
≈
Px == x−2
vT x
v T v − 2v T x
vT x
x
e
x
(
+
α
)
=
−
2
α
e1 ≡ Ke1
1
vT v
vT v
vT v
⇒ v v − 2v x ≡ 0
T
Da cui:
T
ovvero:
α 2 = xT x
⇒
x T x + 2αx1 + α 2 − 2 x T x − 2αx1 = 0
α =± x
2
nxn
Sia ora x ∈ ℜ n e costruiamo Pq ∈ ℜ in modo tale da annullare
gli ultimi q-1 elementi di x.
Pq x =
I n−q
0
 x1   x1 

 

 ...   ... 
 x
 x 
0  n−q   n−q 
≈
 xn − q +1  =  − α 
P 
...   0 
 


 ...   ... 
 x  

 n   0 
α = xn2−q +1 + ... + xn2
dove:
Data A ∈ ℜ nxn costruiamo P(1) , P( 2) ,..., P( k ) tali che:
A( k ) = P(Tk ) A( k −1) P( k ) = ( P( k ) Pk −1 ...P1 )T A ( P(1) ...P( k −1) P( k ) ) = Q(Tk ) AQ( k )
dove il vettore x è sostituito dal k-esimo vettore colonna di
A( k −1) .
Per evitare problemi di cancellazione nel calcolo di
v = x ± x 2 e1 si pone α = sign( x1 ) x 2 .
Metodo di Givens
Analogo al metodo di Householder è il metodo di Givens,
più adatto per le matrici sparse in quanto, anziché annullare
gli elementi di una colonna, tale metodo permette di
annullare un elemento alla volta.
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 ϑ,
1
...
...
... ... ...
0 1
... ...
J ( i , k , ϑ ) = ... ...
...
c
...
... ... ... ...
... s ... ...
1 ... ... ...
... ...
−s
...
... ...
0 ...
...
...
... ... 1 ...
... ... ... 1
i
dove:
c = cos ϑ
s = sin ϑ
c
0
... ...
− −− > i
− −− > k
k
cosicchè:
JTJ = I .
Infatti:
i<k
1
0
...
c2 + s2
JTJ =
=I
...
c +s
2
2
...
0
1
Sia x ∈ ℜ n , allora y = J (i, k ,ϑ ) x dà:
 y = cx + sx
i
k
 i
 y k = − sxi + cxk

j ≠ i, k
 y j = x j
Imponendo che: c =
xi
x +x
2
i
2
k
s=
xk
xi2 + xk2
si ha che l’elemento di posto k va a zero:
− sxi + cxk = 0
 2
2
 c + s =1
La fattorizzazione QR eseguita con matrici di Givens
richiede un costo di ≈ n 2 .
Teorema (Cayley-Hamilton)
Sia A una matrice avente:
λn + a1λn−1 + ... + a n −1λ + a n = 0
come equazione caratteristica. Allora la matrice definita da:
A n + a1 A n −1 + ... + a n −1 A + an I è la matrice zero.
o
Tale teorema può essere messo sotto la forma:
“ogni matrice soddisfa la propria equazione caratteristica”.
Su di esso si basa il seguente metodo.
Metodo di Krylov
E’ un metodo elementare per trovare il polinomio
caratteristico di una matrice in forma di Hessenberg.
Supponiamo che tutti gli elementi subdiagonali della
matrice H siano non zero e sia:
w0 = e1 = (1,0,....0)T
A partire da esso, definiamo {wk }k =1 con l’algoritmo:
n
wk +1 = Hwk
k = 0, 1 ,..., n-1
Si può far vedere che la (k+1)–esima componente di wk è:
h21h32 ...hk +1,k per 1 ≤ k ≤ n − 1 e zero per r > k + 1 .
Pertanto la matrice: W = [w0 , w1 ,..., wn−1 ] sarà triangolare
superiore con elementi diagonali non nulli. Il sistema:
Wx = − wn
ha quindi un’unica soluzione la cui soluzione x dà i
coefficienti del polinomio caratteristico. Infatti esso può
essere scritto come:
an w0 + an−1w1 + ... + a1 wn−1 = − wn
Inoltre:
wk +1 = Hwk = H 2 wk −1 = ... = H k +1w0 = H k +1e1
Matrici simmetriche
Accenniamo infine al calcolo del polinomio caratteristico,
ottenuto in maniera ricorsiva, nel caso in cui la matrice di
partenza sia simmetrica e ad essa venga applicato il metodo
di Householder. In tal caso, la trasformazione darà luogo ad
una matrice tridiagonale. Indicata con B la matrice così
trasformata, con ai , i=1,…n i suoi elementi diagonali e con
ci , i=1,…n-1 gli elementi delle due subdiagonali, si ha:
λ − a1
− c1
det(λI − B) = det
− c1
λ − a2
0
...
...
...
...
0
− cn−1
− cn−1
λ − an
Sia pi (λ ) il polinomio caratteristico del minore formato con le
prime i righe ed i colonne.
p0 (λ ) ≡ 1,
p1 (λ ) = λ − a1 ,
p2 (λ ) = (λ − a1 )(λ − a2 ) − c12 = p1 (λ )(λ − a2 ) − c12 p0 (λ ),
…
pi (λ ) = (λ − ai ) pi −1 (λ ) − ci2−1 pi − 2 (λ )
Nonostante sia abbastanza semplice trovare il polinomio
caratteristico di una matrice con queste tecniche, in realtà la
determinazione dei coefficienti di tale polinomio è sempre
un’operazione molto delicata poiché anche un piccolo errore
di arrotondamento può portare ad un errore molto grande.