Sistemi sovradeterminati Sia A una matrice m n ove m > n sia b R m trovare una soluzione del sistema sovradeterminato Ax = b significa cercare di esprimere un vettore di R m come combinazione lineare di solo n vettori dello stesso spazio. b vettore(termine noto) b y* y^ 0 V n y* proiezione ortogonale di b Generalmente non esiste alcun x che soddisfa Ax = b cioé il residuo r(x) = b Ax non é mai nullo. Possiamo chiederci se esiste ed é unico un x che minimizza la norma euclidea del residuo, cioé 1
minimizzare la funzione f : R n R definita da f(x) = r(x) 2 2 = (b Ax) T (b Ax) = x T A T Ax 2x T A T b + b T b questo non é altro che il problema lineare dei minimi quadrati, cioé si vuole minimizzare la somma dei quadrati delle componenti del vettore residuo, vettore che dipende linearmente da x. Si tratta di un problema di approssimazione poiché Ax descrive uno spazio Vn quando x percorre R n. Si vuole trovare fra tutti i vettori y di Vn quello piú prossimo a b, una volta trovato y, si vuole anche trovare la sua rappresentazione rispetto alla base costituita dai vettori colonna della matrice A. Il vettore y, proiezione ortogonale di b sullo spazio Vn é l unico vettore di Vn per cui il residuo r = b y é ortogonale a Vn, ogni altro vettore ŷ ha una distanza da b piú elevata. D altra parte il vettore residuo r é ortogonale a Vn cioé é ortogonale a tutti i vettori che costituiscono le colonne di A a T,j r = 0, quindi A T r = 0 quindi A T y = A T b, A T Ax = A T b queste sono le equazioni normali. Data la fattorizzazione QR della matrice A per le equazioni normali avremo: R T Q T QR = R T Q T b, R T Rx = R T Q T b È possibile risolvere un sistema rettangolare senza passare attraverso la costruzione delle equazioni normali, osserviamo infatti che A R m n, Q R m m, mentre R R m n ove R =» R1 0 } n righe } m n righe ove R 1 è una matrice triangolare superiore non singolare quando A ha rango massimo. Quindi abbiamo Ax b 2 = QRx b 2 = Q(Rx Q T b 2 = Rx Q T b 2 2
indichiamo con y = Q T b partizionando il vettore y nel modo seguente» c1 y = c 2 } n righe } m n righe si ottiene quindi» R1 x c Rx c = 1 0 c 2 } n righe } m n righe quindi min x R n Ax b 2 2 = x R min n Rx c 2 2 = h x R min n R 1 x c 1 2 i 2 + c 2 2 2 = c 2 2 2 + min x R n R 1 x c 1 2 2 Poichè R 1 è non singolare la soluzione x del sistema lineare R 1 x = c 1 è tale che min x R n R 1 x c 1 2 = min x R n R 1 x c 1 2 2 = 0 Ne segue che x è soluzione del problema e il minimo cercato é γ = c 2 2 2 3
Scomposizione in valori singolari di una matrice qualsiasi Teorema Sia A R m n allora esistono una matrice ortogonale Q R m m e una matrice ortogonale V R n n (unitarie se siamo in C m n, tali che A = UΣV T ove Σ é una matrice diagonale R m n con elementi diagonali σ i,i = σ i e σ i,j = 0 per i j e σ 1 σ 2... σp > 0 con p = min m, n. I σ i sono valori singolari i vettori colonna della matrice U u i sono i vettori singolari sinistri mentre i vettori colonna della matrice V v i sono i vettori singolari destri. La matrice Σ è univocamente determinata mentre non lo sono U e V. Teorema Sia A R m n e A = UΣV T la sua decomposizione in valori singolari dove σ 1 σ 2... σ k σ k+1 = σ k+2 =... = σp = 0. Allora valgono le seguenti proprietà A = U k Σ k V T k = k X i=1 σ i u i v T i dove 4
U k è la matrice formata dalle prime K-colonne di U: u 1, u 2... u k V k è la matrice formata dalle prime K-colonne di V : v 1, v 2... v k Σ k R k k è la matrice diagonale i cui elementi principali sono σ 1, σ 2..., σ k rank(a) = k σ 2 i sono gli autovalori di AT A A 2 = σ 1 l indice di condizionamento in norma 2: µ(a) or K(A) = σ 1 σ k A F = P k i=1 σ 2 i Si ricorda che la norma di Frobenius v A F = u nx nx t a i,j 2 = i=1 j=1 q traccia(a T A) Teorema Sia A R m n e A = UΣV T la sua decomposizione in valori singolari dove σ 1 σ 2... σ k σ k+1 = σ k+2 =... = σp = 0 e sia r < K ove k è un intero positivo. rx Ar = σ i u i vi T i=1 5
Indichiamo con S = {B R m n di rango r} si ha: min B S A B 2 = A A r 2 = σ r+1 % scomposizione singolare di una immagine % caricamento di una immagine bmp a=imread( sing_val.bmp ); pause imreal=double(a); [u,s,v]=svd(imreal); sigma=diag(s); disp( valori singolari ) n_val_sing=length(sigma) ns=input( ricostruzione con valori sing = ) imrec=zeros(size(imreal)); colormap(gray) for i=1:ns imrec=imrec+sigma(i)*u(:,i)*v(:,i) ; imagesc(imrec),title(num2str(i)) img(:,:,i)=imrec; pause end 1 4 100 100 200 200 300 300 400 100 200 300 400 500 400 100 200 300 400 500 8 12 100 100 200 200 300 300 400 100 200 300 400 500 400 100 200 300 400 500 6
Risoluzione del problema di minimi quadrati con scomposizione in valori singolari È possibile dare una formulazione esplicita della soluzione x di minima norma del problema dei minimi quadrati e del corrispondente valore di minimo γ anche nel caso in cui la matrice non sia di rango pieno. A = UΣV T con A R m n caso in cui m n > k > 0 si vuole risolvere il sistema sovradeterminato Ax = b, ove b R m e x R n Ax b 2 2 = UT (Ax b) 2 2 = UT AV V T x U T b 2 2 poniamo y = V T x allora = U T AV y U T b 2 2 = Σy UT b 2 X n 2 = σ i y i u T i b 2 i=1 la sommatoria può essere spezzata in kx σ i y i u T nx i b 2 + u T i b 2 i=1 i=k+1 quindi il minimo sarà raggiunto quando σ i y i u T i b = 0 per cui se scegliamo: 8 yi < = : y i = u T i b σ per i = 1, 2,..., k i 0 per i = k + 1, k + 2,..., n 7
poichè y = V T x allora x = V y perciò la soluzione cercata in R n sarà x kx kx = y i v i = i=1 i=1 u T i b σ i v i e il valore di minimo è dato da Ax b 2 2 = X n u T i b i=k+1 8
Inversa generalizzata o pseudoinversa Il concetto di matrice inversa può essere esteso anche nel caso di matrici A non quadrate in analogia con la risoluzione di un sistema non quadrato. In questo caso si definisce la matrice pseudoinversa di A e i viene indicata con A + che consente di scrivere la soluzione di minima norma x = A + b A + é la matrice pseudoinversa di Moore-Penrose di A che soddisfa alle seguenti condizioni: 1) AXA = A 2) XAX = X 3) (AX) T = AX 4) (XA) T = XA Se il rango di A é massimo allora se m n allora A + = (A T A) 1 A T se m n allora A + = A T (A T A) 1 se m=n=rango di A allora A + = A 1 Quindi se Allora la matrice pseudoinversa di A é data da A = UΣV T A + = V Σ + U H ove Σ + ha elementi non nulli solo sulla diagonale principale e valgono rispettivamente 1 σ i. Se si utilizza la norma 2 per la stima dell indice di condizionamento allora µ 2 (A) = σ max σ min 9
ove σmax, σ min sono il valore singolare massimo e minimo della matrice A. Se la matrice A é reale e simmetrica allora µ 2 (A) = λ max λ min ove λmax, λ min sono rispettivamente il massimo e il minimo autovalore della matrice A. 10
Analisi del Condizionamento di un sistema Ax = b Qualunque metodo si usi per risolvere un sistema lineare, non possiamo prescindere dagli errori di rappresentazione dei dati e dagli errori di arrotondamento nei calcoli. La soluzione di un sistema lineare, tenendo conto degli errori dovuti all uso dell aritmetica floating point e a possibili errori nel termine noto, puó essere considerata come soluzione esatta di un problema perturbato del tipo: (A + δa)(x + δx) = b + δb ove x é la soluzione esatta che si sarebbe ottenuta in assenza di errori e x + δx la soluzione fornita dal calcolatore. Generalmente la matrice A non si conosce esattamente perché i coefficienti possono essere delle misure, oppure sono calcolati con errori di arrotondamento, quindi nella pratica ci troviamo a lavorare con un sistema del tipo à x = b ove δa = à A. É naturale chiedersi quanto x é vicino ad x. Questo é un problema di teoria delle perturbazioni matriciale. Innanzi tutto occorre trovare le condizioni sotto le quali la matrice à risulta non singolare. Teorema Sia A non singolare. Se oppure A 1 δa < 1 A 1 δa < 1 allora A + δa é non singolare 11
Per semplitá consideriamo inizialmente il caso in cui sia perturbato il solo termine noto. Sia δb R n il vettore che perturba il termine noto. Allora la soluzione sará x + δx, piú precisamente: A(x + δx) = b + δb da cui si ricava Aδx = δb, δx = A 1 δb Per una qualsiasi norma matriciale indotta dalla norma vettoriale si ottiene: δx = A 1 δb A 1 δb d altra parte abbiamo b = Ax A x combinando insieme queste ultime due relazioni si ottiene: δx x A A 1 δb b Generalmente si indica con µ(a) = A A 1 il numero di condizionamento della matrice A, si osservi che µ(a) = A A 1 AA 1 = 1 quindi se µ(a) assume valori piccoli allora a piccole perturbazioni sui dati corrispondono piccole perturbazioni sulla soluzione e quindi il problema é ben condizionato, cioé la matrice del sistema é ben condizionata. Se µ(a) assume valori grandi allora piccole variazioni sui dati possono indurre grandi perturbazioni nella soluzione, e quindi il problema é mal condizionato. Nel caso in cui consideriamo le perturbazioni anche sui coefficienti della matrice A supposto che la matrice A + δa sia non singolare, indicata ancora con x + δx la soluzione del sistema perturbato (A + δa)(x + δx) = b + δb risulta: δx x µ(a) δa A + δb b 1 µ(a) δa A 12
se indichiamo con ɛx la perturbazione relativa sulla soluzione indotta dalle perturbazioni relative dei datie ɛ A, ɛ b allora ɛ ɛx µ(a) A + ɛ b 1 µ(a)ɛ A Se consideriamo la matrice di Hilbert H i cui elementi sono dati da: h i,j = 1 i + j 1, i, j = 1,..., n La matrice inversa esatta ( ottenuta per via analitica) é data da h 1 i,j ( 1) i+j (n + i 1)!(n + j 1)! (i + j 1)[(i 1)!(j 1)!] 2 (n i)!(n j)! Il numero di condizione é stimato µ 2 (H) = O(e αn ) con α costante maggiore di zero. 13
x^ x x^ x 14