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.