Complementi di Matematica e Calcolo Numerico A.A. 0-0 Laboratorio 9 Autovalori, raggio spettrale e norme di matrici Sia A una matrice quadrata di ordine n a valori reali o complessi, il numero λ C si dice autovalore di A se esiste un vettore v (0,..., 0) C n, tale che A v = λ v L autovalore λ è soluzione dell equazione caratteristica: dove p A (λ) è il polinomio caratteristico. p A (λ) := det(a λi) = 0 Come calcolo gli autovalori di una matrice con Matlab? >> A=[4-0; - 4 0; 0-4]; >>lam= eig(a) lam = 4 L insieme σ(a) degli autovalori di A è detto spettro di A. Il massimo dei moduli degli autovalori di A si chiama raggio spettrale e viene denotato con ρ(a) = max λ σ(a) λ In matlab: max(abs(eig(a)))
Norme di matrici: A := ρ(aa T ) =sqrt(max(eig(a*a ))) A := max j=,...n n i= a i,j = max(sum(abs(a))) A := max i=,...n n j= a i,j =max(sum(abs(a ))) >> norm(a). >> norm(a,) 6 >> norm(a,inf) Si definisce numero di condizionamento di una matrice A la quantità In matlab K(A) = A A >> cond(a).769 >> cond(a,).4000 >> cond(a,inf).6667
Metodi diretti per sistemi lineari: Se A è una matrice quadrata di dimensione n n e b è un vettore colonna di lunghezza n, l espressione Ax = b rappresenta un sistema lineare di n equazioni in n incognite. Una volta inseriti in memoria A e b, la soluzione x del sistema, in Matlab, si può calcolare con l operatore \ >> x = A\b Esercizi I - Risolvere i seguenti sistemi lineari mediante \ 4 0 x = x = 7 6 8 7 0 4 x = 0 4 x = Confrontare i risultati ottenuti con quelli che provengono dal prodotto dell inversa di A con il vettore b ossia >> x = inv(a)*b Perchè i risultati non coincidono? Perchè non si usa questa seconda strategia? II - Dopo aver calcolato determinante e rango della matrice del sistema e il rango della matrice orlata risolvere con \ i seguenti sistemi lineari, facendo molta attenzione ai messaggi d errore/warning. Nel secondo e terzo caso confrontare il valore del termine noto con quello del prodotto matrice-soluzione. x =, 4 6 7 9 x =, 4 6 7 9 x =.
FATTORIZZAZIONE LU Esempio. Si considerino le seguenti matrici: Per ciascuna di esse: A = magic(4) + 40 * eye(4) e A = 4 6. si calcoli la fattorizzazione LU tramite il comando Matlab lu usando la sintassi >> [L,U,P]=lu(Ai) osserviamo che per entrambe le matrici A e A la matrice di permutazione P è l identità. Questo significa che nel processo di fattorizzazione LU non è stato effettuato il pivoting, infatti A è a dominanza diagonale stretta e A è simmetrica definita positiva. a partire dai fattori L, U, P ottenuti con lu si scrivano e si risolvano con il comando \ i due sistemi triangolari che devono essere risolti per calcolare la soluzione del sistema lineare Ai x = b (si prenda b = Ai ones(n, ) con n dimensione di Ai, in modo da imporre una soluzione esatta x = ones(n, )). Osserviamo che poichè Ai = LU, la risoluzione del sistema lineare di partenza comporta la risoluzione in sequenza dei due sistemi triangolari Ly = b Ux = y Esempio (pivoting). Si consideri la seguente matrice: 8 7 A =. 0 4 si calcoli la fattorizzazione LU tramite il comando Matlab lu usando la sintassi >> [L,U,P]=lu(A) osserviamo che la matrice di permutazione P NON è l identità, il che significa che è stato effettuato il pivoting. 4
a partire dai fattori L, U, P ottenuti con lu si scrivano e si risolvano con il comando \ i due sistemi triangolari che devono essere risolti per calcolare la soluzione del sistema lineare Ax = b (si prenda b = A ones(n, ) con n dimensione di A, in modo da imporre una soluzione esatta x = ones(n, )). Osserviamo che poichè P A = LU, la risoluzione del sistema lineare di partenza comporta la risoluzione in sequenza dei due sistemi triangolari Ly = P b Ux = y IL FENOMENO DEL FILL-IN Per ognuna delle seguenti matrici calcolare la fattorizzazione LU, controllare l esecuzione o meno del pivoting giustificando il risultato e verificare il fenomeno del fill-in mediante il comando spy applicato ad L e U: A 0 0 = 4 4 4.......... 4 B 0 0 =.......... Osserviamo che C 0 0 = 0. 0... 0. 0. 0..... 0. D 7 7 =.... 4.. 8 la matrice A è a banda, non viene effettuato il pivoting e quindi le matrici L ed U mantengono la struttura a banda. la matrice B è a banda, viene però effettuato il pivoting e quindi le matrici L ed U perdono la struttura a banda. le matrici C e D sono sparse, ma le matrici L ed U sono piene.
CONDIZIONAMENTO (cond) Esempio [ ] [ ] [ ].00.00 Dato il sistema lineare x =, la cui soluzione esatta è, [ 0.998 ].998 [ ].00.00 sostituire il termine noto b = con bt = e risolvere il sistema per.998.998 ottenere la nuova soluzione xt. Confrontare l errore relativo in norma infinito sul dato b con l errore relativo in norma infinito sul risultato x. Giustificare il risultato ottenuto calcolando il numero di condizionamento in norma infinito della matrice del sistema. Esempio Ripetere il lavoro dell esercizio precedente con i seguenti dati: [ ].0 termine noto perturbato bt =. 0.69 [ 7 0 7 ] x = [ 0.7 ] e 6