singular value decomposition and its applications

61
UNIVERSITÀ DEGLI STUDI DI PADOVA Facoltà di Ingegneria Corso di laurea in Ingegneria dell’Informazione Tesina DECOMPOSIZIONE IN VALORI SINGOLARI APPLICAZIONI Laureando: Alberto Vigato Relatore: prof. M. Cristina Ronconi Anno accademico 2003/2004 Padova, 17 settembre 2004

Upload: lino-brach

Post on 30-Jun-2015

1.383 views

Category:

Documents


7 download

TRANSCRIPT

Page 1: Singular Value Decomposition and its applications

UNIVERSITÀ DEGLI STUDI DI PADOVA

Facoltà di Ingegneria

Corso di laurea in Ingegneria dell’Informazione

Tesina

DECOMPOSIZIONE INVALORI SINGOLARI

APPLICAZIONI

Laureando: Alberto Vigato

Relatore: prof. M. Cristina Ronconi

Anno accademico 2003/2004

Padova, 17 settembre 2004

Page 2: Singular Value Decomposition and its applications

2

Page 3: Singular Value Decomposition and its applications

Indice

Introduzione 5

1 Notazioni 7

2 Richiami di algebra lineare 92.1 Prodotto interno . . . . . . . . . . . . . . . . . . . . . . . . . 92.2 Matrici hermitiane . . . . . . . . . . . . . . . . . . . . . . . . 112.3 Norme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

3 Decomposizione in valori singolari 173.1 Valori e vettori singolari . . . . . . . . . . . . . . . . . . . . . 193.2 La decomposizione (SVD) . . . . . . . . . . . . . . . . . . . . 233.3 Decomposizione polare . . . . . . . . . . . . . . . . . . . . . . 28

4 Norme di una matrice 314.1 Norme matriciali . . . . . . . . . . . . . . . . . . . . . . . . . 314.2 Norme indotte . . . . . . . . . . . . . . . . . . . . . . . . . . . 344.3 Rango efficace . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

5 Applicazioni 475.1 Sistemi lineari . . . . . . . . . . . . . . . . . . . . . . . . . . . 475.2 Compressione delle immagini . . . . . . . . . . . . . . . . . . . 51

A Teoria delle perturbazioni: cenni 57

B Matlab: svdcompression.m 59

Bibliografia 61

3

Page 4: Singular Value Decomposition and its applications
Page 5: Singular Value Decomposition and its applications

Introduzione

La teoria delle matrici a elementi in un campo assicura che possiamo tra-sformare, con operazioni elementari sulle righe e sulle colonne, una qualsiasimatrice A di rango r in una del tipo

[Ir 00 0

].

D’altra parte effettuare una successione finita di trasformazioni elementarisulle righe di una matrice A ∈ Fn×m corrisponde a moltiplicare a sinistra Aper un’opportuna matrice H ∈ Fn×n non singolare e, analogamente, eseguiretrasformazioni elementari sulle colonne corrisponde a moltiplicare a destraper un’altra matrice non singolare opportuna K ∈ Fm×m.Così, data A, esistono sempre due matrici invertibili H e K tali che

HAK =

[Ir 00 0

].

Può a questo punto essere interessante vedere cosa accade, qualora il camposia R (o C), se si esige che le matrici H e K siano ortogonali (o più in generaleunitarie), cioè: che struttura può assumere la matrice

Σ = HAK

se si richiede che H e K siano ortogonali (unitarie)?Le ragioni che ci spingono a formulare questa domanda sono molteplici. Sap-piamo che le matrici ortogonali godono di proprietà notevoli: si pensi, adesempio, alla semplicità con cui possono essere invertite. Inoltre le matricisono strutture dati tipicamente utilizzate nel calcolo numerico che, per suanatura, viene eseguito su valori approssimati.L’ortogonalità è importante perché il calcolo approssimato basato su colle-zioni di vettori ortogonali conduce a risultati più accurati.Anche se, in generale, non è possibile ottenere una semplificazione del tipodescritto in precedenza, vedremo come in ogni caso sia possibile pervenire aduna espressione analoga in cui il primo blocco è una matrice diagonale.

5

Page 6: Singular Value Decomposition and its applications

La decomposizione in valori singolari1 altro non è che la possibilità di fat-torizzare ciascuna matrice A ∈ Fn×m nel prodotto PΣQ con P ∈ Fn×n,Q ∈ Fm×m unitarie e

Σ =

[D 00 0

]

pseudodiagonale, con gli elementi della diagonale di D tutti reali e positivi.

E. Beltrami (1873), C. Jordan (1874) e J. J. Sylvester (1889) diedero le primedimostrazioni, indipendenti l’una dall’altra, dell’esistenza della decomposi-zione in valori singolari di una matrice reale.Nel 1939 nell’opera di C. Eckart e G. Young viene riportata una trattazionepiù generale sull’argomento dove viene dimostrato che ogni matrice n × mcomplessa ammette questo tipo di decomposizione.L’espressione valori singolari fu introdotta per la prima volta da R. A. Hornnel 1950.

In questa esposizione ci proporremo innanzi tutto di dare prova della decom-posizione e di fare vedere come in molti casi risulti conveniente avere unafattorizzazione di questo tipo per una matrice. Ci concentreremo maggior-mente sul significato degli scalari non nulli della matrice Σ associata ad A: ivalori singolari di A.

Lo scopo successivo della nostra trattazione sarà quello di andare ad esplo-rare gli aspetti di base delle norme definite sugli spazi delle matrici per poterpoi analizzare il legame che intercorre tra esse e la decomposizione in valorisingolari.

Infine ci occuperemo di inserire tali argomenti in contesti applicativi qualila compressione di dati e la determinazione della soluzione del problema deiminimi quadrati.

1Singular value decomposition o, in forma compatta, SVD.

6

Page 7: Singular Value Decomposition and its applications

Capitolo 1

Notazioni

In questa trattazione il campo in cui vengono scelti gli elementi di una ma-trice sarà il campo R dei numeri reali o il campo C dei numeri complessi.Esso verrà indicato in generale con F, specificando, lì dove risulti necessario,se si tratta di R o di C.

Sia A = (aij) una generica matrice rettangolare n×m. Indicheremo con A∗

la matrice m× n i cui elementi sono aji, cioè la coniugata trasposta di A.Se, in particolare, F = R, allora A∗ = AT (semplicemente trasposta).Se la matrice è 1× 1 vale A∗ = A.Per ogni matrice inoltre vale banalmente la relazione A = A∗∗ e inoltre, se Ae B sono moltiplicabili, (AB)∗ = B∗A∗.

Una matrice quadrata si dice hermitiana qualora valga la relazione:

A∗ = A.

In particolare una matrice reale è hermitiana se è simmetrica.

La matrice identità di ordine n verrà denotata dal simbolo In. Laddove siachiaro dal contesto l’ordine di tale matrice, ci limiteremo ad indicarla con I.

Se per una matrice quadrata Q di ordine n vale la relazione

Q∗Q = QQ∗ = In,

chiameremo tale matrice unitaria. Tuttavia le matrici reali che godono diquesta proprietà sono meglio note come ortogonali.

7

Page 8: Singular Value Decomposition and its applications

8 CAPITOLO 1. NOTAZIONI

L’insieme degli autovalori della matrice quadrata A verrà indicato con

Λ(A) = λ : ∃v 6= 0 : Av = λv

mentre con la scrittura Λ0(A) indicheremo l’insieme dei soli autovalori nonnulli.

Il rango di una matrice A sarà indicato come ρ(A).

Il nucleo o spazio nullo di una matrice A sarà indicato come

ker A = x : Ax = 0.

Page 9: Singular Value Decomposition and its applications

Capitolo 2

Richiami di algebra lineare

In questa sezione ci occuperemo di riprendere alcuni risultati importanti del-l’algebra lineare che verranno utilizzati durante la trattazione successiva. Lamaggior parte di questi argomenti viene affrontata in qualsiasi corso di basedi algebra lineare e sono tutti presenti in molti testi di algebra lineare come[7] per esempio. L’obiettivo è avere una prova formale di questi risultati.

2.1 Prodotto interno

Richiamiamo la definizione di prodotto interno in uno spazio vettoriale (realeo complesso) ed esamineremo le principali proprietà poiché esse ricorrono inmolte dimostrazioni di questa trattazione.

Definizione 2.1.1 Prodotto interno in uno spazio vettoriale V sul campo F(reale o complesso) è una funzione

p : V × V → F(x, y) 7→ x · y

che soddisfa le proprietà:

1. x · y = y · x;

2. (αx + βy) · z = α(x · z) + β(y · z);

3. x · x ≥ 0; x · x = 0 ⇒ x = 0V .

La 1. garantisce che la 3. ha significato anche quando F = C giacché

x · x = x · x cioè x · x ∈ R.

9

Page 10: Singular Value Decomposition and its applications

10 CAPITOLO 2. RICHIAMI DI ALGEBRA LINEARE

Proposizione 2.1.1 Sia V = Fn (identificato con l’insieme delle matrici auna colonna). Allora

x · y 4= y∗x

è un prodotto interno per V .

Dimostrazione Verifichiamo che sono soddisfatte le tre proprietà impostedalla definizione:

1. y · x = x∗y = (x∗y)∗ = y∗x∗∗ = y∗x = x · y.2. (αx + βy) · z = z∗(αx + βy) = αz∗x + βz∗y = α(x · z) + β(y · z).

3. x · x = x∗x =∑n

i=1 xixi =∑n

i=1 |xi|2 ≥ 0

ovviamente la somma di termini non negativi non può mai essere ne-gativa. Inoltre

x · x = 0 ⇒n∑

i=1

|xi|2 = 0 ⇔ ∀i xi = 0 ⇔ x = 0V .

¤

D’ora in avanti quando faremo uso del prodotto interno in Fn, esso sarà sem-pre quello appena illustrato che, per l’importanza che riveste, è detto prodottointerno canonico.

Un fatto importante che caratterizza il prodotto interno è la disuguaglianzadi Cauchy-Schwarz.

Proposizione 2.1.2 Sia V uno spazio vettoriale dotato di prodotto internoallora

|x · y|2 ≤ (x · x)(y · y) ∀x, y ∈ V.

Dimostrazione Se x = 0V la tesi è verificata. Se x 6= 0V , si consideri ilvettore v = αx + βy, con α, β ∈ F. Per la terza proprietà del prodottointerno sappiamo che vale

0 ≤ v · v = (αx + βy) · (αx + βy).

Dalla seconda proprietà del prodotto interno e considerando che (x · αy) =(αy · x) = α(y · x) = α(x · y), manipolando l’espressione sopra si ottiene

(αx + βy) · (αx + βy) = αα(x · x) + αβ(x · y) + βα(y · x) + ββ(y · y) ≥ 0.

Page 11: Singular Value Decomposition and its applications

2.2. MATRICI HERMITIANE 11

Scegliendo, in particolare, α = −y · x (e dunque α = −y · x = −x · y) eβ = β = x · x, otteniamo

(y ·x)(x ·y)(x ·x)−(y ·x)(x ·x)(x ·y)−(x ·x)(x ·y)(y ·x)+(x ·x)(x ·x)(y ·y) ≥ 0

⇒ (x · x) [(x · x)(y · y)− (x · y)(x · y)] ≥ 0.

Ora sappiamo che x · x 6= 0 per ipotesi e siccome stiamo operando in uncampo1 allora

(x · x)(y · y)− |x · y|2 ≥ 0.

¤

Diamo alcune definizioni valide sugli spazi vettoriali dotati di prodotto in-terno.

Definizione 2.1.2 In uno spazio vettoriale V dotato di prodotto interno

• un vettore x si dice versore se x · x = 1;

• per ogni vettore non nullo z indichiamo il versore che lo genera come

vers(z)4=

1√z · z z;

• due vettori x e y si dicono ortogonali se x · y = 0;

• una famiglia di vettori x1, . . . , xr si dice ortonormale se la corrispon-dente matrice di Gram

G =

x1 · x1 x1 · x2 · · · x1 · xr

x2 · x1 x2 · x2 · · · x2 · xr...

... . . . ...xr · x1 xr · x2 · · · xr · xr

coincide con l’identità Ir.

2.2 Matrici hermitianeLe matrici hermitiane rivestono un ruolo teorico di primo piano negli argo-menti che andremo ad analizzare e sviluppare. Ecco dunque esposti i risultatifondamentali su questa categoria di matrici.

1Ricordiamo che in un campo vale la proprietà: ab = 0, a 6= 0 ⇒ b = 0

Page 12: Singular Value Decomposition and its applications

12 CAPITOLO 2. RICHIAMI DI ALGEBRA LINEARE

Proposizione 2.2.1 Gli autovalori di una matrice hermitiana sono reali.

λ ∈ R ∀λ ∈ Λ(S).

Si noti che tale proposizione è equivalente a dire che le radici del polinomiocaratteristico di S sono tutte reali2.

Dimostrazione Consideriamo un autovettore x relativo ad un autovaloreλ di S; dunque vale la relazione

Sx = λx

da cui segue la relazione scalare

x∗Sx = x∗(λx) = λ(x · x).

Ricordando che la trasposta e coniugata di un prodotto è il prodotto del-le trasposte coniugate nell’ordine inverso e che la matrice S è hermitiana,otteniamo

x∗Sx = (x∗Sx)∗ = x∗S∗x∗∗ = x∗Sx.

Questa uguaglianza e la precedente consentono di affermare che

λ(x · x) = λ(x · x).

Ora sappiamo che (x · x) ∈ R ∀x e dunque che x · x = x · x.Possiamo concludere

λ = λ cioè λ ∈ R.

¤

Proposizione 2.2.2 Per ogni matrice hermitiana, la molteplicità algebricae quella geometrica di ciascun autovalore coincidono.

µ(λ) = dim Vλ ∀λ ∈ Λ(S).

Si osservi che tale proposizione equivale ad affermare che ogni matrice her-mitiana è diagonalizzabile.

Dimostrazione Consideriamo una base ortonormale di Vλ e una di V ⊥λ .

Con la giustapposizione delle due costruiamo una matrice quadrata Q cherisulta essere unitaria. Sia

B = Q−1SQ = Q∗SQ.

2Nel caso di matrici reali con tale affermazione si intende dire che il polinomiocaratteristico si fattorizza completamente in fattori di primo grado.

Page 13: Singular Value Decomposition and its applications

2.2. MATRICI HERMITIANE 13

B è unitariamente simile a S e risulta essa stessa essere hermitiana giacché

B∗ = (Q−1SQ)∗ = (Q∗SQ)∗ = Q∗S∗Q∗∗ = Q∗SQ = B.

Per costruzione B, sarà dunque nella forma

B =

[λIr 00 R

]

con r = dim Vλ.Se per assurdo fosse µ(λ) > r vorrebbe dire che λ è autovalore anche dellamatrice R. Questo significherebbe che

∃w =

ar+1...

an

6= 0n−r tale che Rw = λw

cioè tale che B

[0r

w

]= λ

[0r

w

].

Il vettore non nullo Q

[0r

w

]risulterebbe allora essere autovettore di S rela-

tivo a λ e allo stesso tempo apparterrebbe a V ⊥λ , in contrasto con il teorema

che assicura che Vλ ∩ V ⊥λ = 0V .

¤

Proposizione 2.2.3 Autospazi distinti di una matrice hermitiana sono traloro ortogonali.

Vλi⊥Vλj

∀λi, λj ∈ Λ(S), λi 6= λj.

Dimostrazione Siano x e y autovettori di S relativi a due autovalori distintiλi e λj; valgono dunque le relazioni:

Sx = λix,

Sy = λjy.

Da ciò seguono le seguenti relazioni scalari:

y∗Sx = y∗(λix) = λi(x · y),

x∗Sy = x∗(λjy) = λjx∗y = λj(y · x) = λj(x · y).

(λj = λj deriva dalla Proposizione 2.2.1).

Page 14: Singular Value Decomposition and its applications

14 CAPITOLO 2. RICHIAMI DI ALGEBRA LINEARE

Inoltre sapendo che è hermitiana possiamo affermare che

y∗Sx = (y∗Sx)∗ = x∗S∗y∗∗ = x∗Sy.

Confrontando le ultime relazioni si ha

λi(x · y) = λj(x · y) ⇒ (λi − λj)(x · y) = 0.

Da λi − λj 6= 0 segue

x · y = 0 cioè x⊥y.

¤Conseguenza importante di questi tre risultati fondamentali è che ogni ma-trice hermitiana S può essere diagonalizzata mediante matrici unitarie Q eche la matrice diagonale associata ha elementi reali

D = Q−1SQ = Q∗SQ =

λ1 0 0

0. . . 0

0 0 λn

, λ1, . . . , λn ∈ R.

Illustriamo ora un punto cruciale su cui si basa la decomposizione in valorisingolari di cui parleremo nei capitoli successivi.Proposizione 2.2.4 Per ogni matrice A, le matrici A∗A e AA∗ sono her-mitiane e hanno autovalori reali non negativi.Dimostrazione Dimostriamo innanzitutto che sono hermitiane. Infatti

(A∗A)∗ = A∗A∗∗ = A∗A,

(AA∗)∗ = A∗∗A∗ = AA∗.

Per dimostrare che hanno autovalori non negativi consideriamo innanzitut-to la matrice A∗A. Sia γ un suo autovalore e z un autovettore ad essocorrispondente. Allora

A∗Az = γz ⇒ z∗A∗Az = z∗(γz) = γ(z · z).

Prestando attenzione sulla seconda espressione notiamo che essa può essereanche sviluppata così:

z∗A∗Az = (Az)∗Az = Az · Az.

Dalla terza proprietà del prodotto interno segue che

Az · Az ≥ 0 e z · z > 0.

Così confrontando le due espressioni si ottiene necessariamente che γ ≥ 0.

Analoga dimostrazione per AA∗.¤

Page 15: Singular Value Decomposition and its applications

2.3. NORME 15

2.3 NormeRichiamiamo ora la definizione generale di norma su uno spazio vettorialereale o complesso. In particolare le norme su Fn consentiranno di definire,tra le norme sullo spazio vettoriale delle matrici di tipo n × m, quelle chevengono maggiormente usate nelle applicazioni.

Definizione 2.3.1 Si dice norma su uno spazio vettoriale V reale o com-plesso una funzione

n : V → Rx 7→ ‖x‖

che soddisfa le proprietà:

1. ‖x‖ ≥ 0; ‖x‖ = 0 ⇒ v = 0V ;

2. ‖ax‖ = |a| ‖x‖;3. ‖x + y‖ ≤ ‖x‖+ ‖y‖.

Sono esempi, particolarmente significativi, di norme in Fn:

‖x‖1

4=

n∑i=1

|xi| (norma l1 o norma somma);

‖x‖2

4=

√√√√n∑

i=1

|xi|2 (norma l2 o norma euclidea);

‖x‖p

4= p

√√√√n∑

i=1

|xi|p (norma lp o norma di Hölder);

‖x‖∞4= max

1≤i≤n|xi| (norma l∞ o norma infinito).

Ricordiamo chelimp→∞

‖x‖p = ‖x‖∞ovvero che la norma infinito3 è il limite della norma lp per p →∞.Quella che abbiamo indicato come norma l2 riveste il ruolo più importantein quanto è la norma indotta dal prodotto interno canonico

‖x‖2 =√

x · x =√

x∗x

3Per questa ragione la norma infinito assume questo nome.

Page 16: Singular Value Decomposition and its applications

16 CAPITOLO 2. RICHIAMI DI ALGEBRA LINEARE

ed è anche quella che in geometria viene usata per valutare le distanze nellospazio euclideo.Passiamo infine ad esporre un importante risultato che lega la norma euclideaalle matrici unitarie. Questo risultato si rivelerà utile quando parleremo dellenorme sugli spazi delle matrici.

Proposizione 2.3.1 Una matrice Q di Fn×n conserva la norma euclidea see solo se è unitaria.

‖Qx‖2 = ‖x‖2 ∀x ∈ Fn ⇔ Q è unitaria.

Dimostrazione Prendiamo una matrice unitaria Q; allora

‖Qx‖2 =√

Qx ·Qx =√

(Qx)∗Qx =√

x∗Q∗Qx =

=√

x∗Inx =√

x∗x = ‖x‖2 .

In altre parole ogni matrice unitaria applicata a qualunque vettore non alterala sua norma euclidea.

Viceversa: ipotizziamo che per ogni x

‖Qx‖2 = ‖x‖2 cioè x∗Q∗Qx = x∗x.

Scegliendo in particolare x = ei, otteniamo che q∗i qi = 1.4 Dunque Q∗Q =I + B dove B è una matrice hermitiana (bhk = bkh) nulla nella diagonaleprincipale.Abbiamo inoltre che

x∗x = x∗(I + B)x = x∗Ix + x∗Bx = x∗x + x∗Bx

⇒ x∗Bx = 0 ∀x.

Se prendiamo in particolare x = eh + ek e y = eh + iek, otteniamo

x∗Bx = (e∗h + e∗k)B(eh + ek) = bhk + bkh = 0 ⇒ bhk = −bkh,

y∗By = (e∗h − ie∗k)B(eh + iek) = ibhk − ibkh = 0 ⇒ bhk = bkh

che assieme danno bhk = bkh = 0. Dunque B = 0.Allora Q∗Q = I e quindi Q è unitaria.

¤

4ei rappresenta il vettore corrispondente alla colonna i-esima della matrice identitàmentre qi è il vettore corrispondente alla i-esima colonna di Q.

Page 17: Singular Value Decomposition and its applications

Capitolo 3

Decomposizione in valori singolari

L’obiettivo primario è dunque quello di poter dimostrare come da un puntodi vista algebrico la decomposizione in valori singolari, importante risultatodella teoria delle matrici, sia effettivamente possibile per qualunque matricerettangolare ad elementi in F.Come già anticipato, tra tutte le possibili successioni finite di trasforma-zioni elementari sulle righe o sulle colonne di una matrice, ci limiteremo atrattare solo quelle definite da matrici unitarie. Avevamo in precedenza sot-tolineato che operare con matrici unitarie ovvero, se siamo nel campo reale,con matrici ortogonali risulta conveniente laddove si faccia ricorso al calcoloapprossimato.

Figura 3.1: Intersezione di due rette ortogonali

17

Page 18: Singular Value Decomposition and its applications

18 CAPITOLO 3. DECOMPOSIZIONE IN VALORI SINGOLARI

Consideriamo per esempio un problema di geometria analitica: trovare l’in-tersezione di due rette nel piano euclideo.In figura 3.1 è illustrato una situazione semplice di questo tipo di problema:il punto A è il punto d’incidenza tra due rette, r1 ed r2, che in questo casosono ortogonali.L’espressione algebrica del problema è data da un sistema compatibile adue equazioni e due incognite; la matrice dei coefficienti ha le due colonneche sono ortogonali. Facciamo notare che se la retta r1 si allontana dallaposizione originale di una quantità ε, la soluzione subisce la stessa variazioneentro il segmento A’A”. Consideriamo ora l’analogo problema dove le rettein questione comunque incidono ma non sono ortogonali, come per esempioin figura 3.2.

Figura 3.2: Intersezione di due rette generiche

In questo caso la matrice dei coefficienti del sistema associato ha le duecolonne che non sono ortogonali.Se r1 subisce scostamenti di una certa quantità e il punto di incidenza con laretta r2 si allontana dalla posizione originale di una quantità δ che è sempremaggiore di ε (talvolta d può essere molto maggiore di ε).Questo esempio euristico punta più a sollecitare l’intuito del lettore che adare una prova rigorosa di quanto abbiamo in precedenza affermato sull’im-portanza di operare con matrici unitarie. Avremo comunque modo nellatrattazione che segue di vedere, seguendo strategie più rigorose, altre im-portanti proprietà che caratterizzano le matrici ortogonali e più in generalequelle unitarie.

Page 19: Singular Value Decomposition and its applications

3.1. VALORI E VETTORI SINGOLARI 19

3.1 Valori e vettori singolariIn primo luogo ci soffermeremo su alcune considerazioni di carattere generaleche permetteranno in un secondo momento di inquadrare meglio il problema.Cominciamo con il definire gli oggetti fondamentali di questa trattazioneseguendo la strategia adottata in [5].

Definizione 3.1.1 Sia A una matrice rettangolare n×m, sia σ uno scalarenon nullo, x ∈ Fm e y ∈ Fn siano vettori non nulli tali per cui valgano lerelazioni

Ax = σy,

A∗y = σx.

Allora:

• σ è detto valore singolare di A,

• x e y vengono detti vettori singolari (rispettivamente destro e sinistro)di A relativi a σ.

Usando la notazione matriciale, quanto affermato nella definizione 3.1.1 èequivalente ad esprimere

[0 AA∗ 0

] [yx

]= σ

[yx

].

σ allora, se esiste, è autovalore della matrice hermitiana[

0 AA∗ 0

]e dunque,

per la proposizione 2.2.1, è un numero reale.

Va notato che se σ è autovalore di[

0 AA∗ 0

]relativamente all’autovettore

[yx

], allora anche −σ ne è autovalore ed è relativo all’autovettore

[ −yx

].

Infatti[

0 AA∗ 0

] [ −yx

]=

[Ax−A∗y

]=

[σy−σx

]= −σ

[ −yx

].

Gli autovalori di[

0 AA∗ 0

]si presentano quindi sempre in coppie simmetri-

che rispetto all’origine.Noi possiamo così limitarci a considerare solamente i σ positivi che d’ora inavanti verranno semplicemente indicati come i valori singolari di A.

Page 20: Singular Value Decomposition and its applications

20 CAPITOLO 3. DECOMPOSIZIONE IN VALORI SINGOLARI

Per comprendere il significato del termine vettore singolare sinistro si notiche A∗y = σx ⇒ (A∗y)∗ = (σx)∗ ovvero y∗A = σx∗ in analogia con ilconcetto di autovettore sinistro.

Nulla ancora si è detto sull’esistenza o sulla natura di queste particolarientità che per le ipotesi da cui siamo partiti sembrano non nutrire particolariproprietà. Ci occuperemo ora di dare una caratterizzazione dei vettori evalori singolari che fornisca un metodo operativo per individuarli e forniscadegli strumenti che consentano di provare agevolmente la decomposizione invalori singolari.

Proposizione 3.1.1 Data una matrice A; sono equivalenti:

1. σi è valore singolare di A,xi e yi sono vettori singolari, rispettivamente destro e sinistro, di Arelativi a σi.

2. σ2i (σi > 0) è autovalore sia di A∗A che di AA∗,

xi e yi sono autovettori rispettivamente di A∗A e AA∗ relativi all’au-tovalore σ2

i .

Dimostrazione 1. ⇒ 2. È una banale relazione algebrica

A∗Axi = A∗(σiyi) = σiA∗yi = σiσixi = σ2

i xi,

AA∗yi = A(σixi) = σiAxi = σiσiyi = σ2i yi.

2. ⇒ 1. Ricordiamo innanzitutto che, per la proposizione 2.2.4, le matriciA∗A e AA∗ sono hermitiane e hanno autovalori non negativi. Indicati conσ2

1, . . . , σ2r , σi > 0, gli autovalori positivi di A∗A e con xi, . . . , xr una fami-

glia di autovettori ad essi corrispondenti, consideriamo la famiglia di vettoriyi, . . . , yr data da

yi =1

σi

Axi.

Ora verifichiamo che yi, . . . , yr formano una famiglia di autovettori di AA∗

relativi rispettivamente agli autovalori σ21, . . . , σ

2r :

AA∗yi = AA∗(

1

σi

Axi

)=

1

σi

A(A∗Axi) =

=1

σi

A(σ2i xi) = σ2

i

(1

σi

Axi

)= σ2

i yi.

Page 21: Singular Value Decomposition and its applications

3.1. VALORI E VETTORI SINGOLARI 21

A questo punto la conclusione è evidente:

yi =1

σi

Axi ⇒ Axi = σiyi,

A∗Axi = σ2i xi ⇒ A∗(σiyi) = σ2

i xi ⇒ A∗yi = σixi

cioè σi è valore singolare di A e xi, yi costituiscono una coppia di vettorisingolari (rispettivamente destro e sinistro) di A.

¤

La strategia per individuare i vettori e valori singolari di una matrice si ridur-rà dunque ad un problema di ricerca di autovalori e autovettori opportuni.Un’altra proprietà deriva direttamente dal fatto che A∗A e AA∗ sono matricihermitiane semidefinite positive.

Proposizione 3.1.2 Sia A una matrice di rango r e sia x1, . . . , xr una fami-glia ortonormale di autovettori di A∗A relativi rispettivamente agli autovaloriσ2

1, . . . , σ2r non nulli. Allora la famiglia

yi =1

σi

Axi i = 1, . . . , r

è una famiglia ortonormale di autovettori di AA∗ relativi rispettivamente agliautovalori σ2

i .

Dimostrazione A∗A è una matrice hermitiana e dunque è sempre possibileper essa trovare una base ortonormale di autovettori. A maggior ragioneesiste una famiglia ortonormale di autovettori per gli autovalori non nulli cheè ottenuta escludendo da tale base gli autovettori relativi allo 0.Dalla dimostrazione della proposizione 3.1.1 sappiamo che y1, . . . , yr formanouna famiglia di autovettori di AA∗. Ci rimane dunque solamente da provareche tali vettori formano una famiglia ortonormale. Si ha

yi · yj =1

σiσj

Axi · Axj =1

σiσj

x∗jA∗Axi =

=1

σiσj

x∗j(σ2i xi) =

σi

σj

xi · xj =

0 i 6= j1 i = j

L’ultima uguaglianza è conseguenza dell’ortogonalità della famiglia x1, . . . , xr

come imposto dalle ipotesi.

¤

Page 22: Singular Value Decomposition and its applications

22 CAPITOLO 3. DECOMPOSIZIONE IN VALORI SINGOLARI

Combinando questi ultimi due risultati importanti si può trarre la seguenteconclusione

Corollario 3.1.3 Ogni matrice è dotata di famiglie ortonormali di vettorisingolari destri e sinistri.

Altre dirette conseguenze sono:

• ρ(A∗A) = ρ(AA∗) = ρ(A) le tre matrici hanno lo stesso rango.

• Λ0(A∗A) ≡ Λ0(AA∗) gli autovalori non nulli delle due matrici coinci-

dono anche nella loro molteplicità.

• Se A ∈ Fn×m ha rango ρ(A) = r ≤ min(n, m), i suoi valori singolari,contati con la loro molteplicità, sono esattamente r.

Esempio 3.1.1 Consideriamo una matrice 2× 3 a elementi reali

A =

[1 0 −1−1 0 1

].

Vogliamo trovare i valori singolari e i vettori singolari destri e sinistri seguen-do la strategia proposta dalle proposizioni 3.1.1 e 3.1.2.Iniziamo col valutare i valori singolari cercando gli autovalori per esempio diA∗A:

A∗A =

1 −10 0−1 1

[1 0 −1−1 0 1

]=

2 0 −20 0 0−2 0 2

.

Calcoliamo il polinomio caratteristico:

∆A∗A(z) = det(zI − A∗A) = det

z − 2 0 20 z 02 0 z − 2

=

= z[(z − 2)2 − 4

]= z2(z − 4).

Gli autovalori sono

Λ(A∗A) =λ1 = 4 = σ2

1; λ2 = 0; λ3 = 0

.

Dunque A ha un unico valore singolare σ1 =√

4 = 2.Passiamo ora a cercare il vettore singolare destro di A

(A∗A− σ21I)x =

−2 0 −20 −4 0−2 0 −2

xa

xb

xc

=

000

Page 23: Singular Value Decomposition and its applications

3.2. LA DECOMPOSIZIONE (SVD) 23

⇒ x1 ∈ 〈

10−1

prendiamo naturalmente un versore

x1 =

1√2

0− 1√

2

Ora possiamo immediatamente calcolare il vettore singolare sinistro comesuggerito dalla proposizione 3.1.2

y1 =1

σ1

Ax1 =1

2

[1 0 −1−1 0 1

]

1√2

0− 1√

2

=

[1√2

− 1√2

]

che risulta inoltre essere versore com’era giusto attendersi.

3.2 La decomposizione (SVD)Possiamo ora enunciare l’importante risultato che è lo scopo della nostratrattazione. Abbiamo posto fin qui le basi essenziali per poterne dare unaprova rigorosa e semplice.

Teorema 3.2.1 Sia A ∈ Fn×m una matrice di rango r e siano σ1, . . . , σr isuoi valori singolari ordinati in modo decrescente σ1 ≥ σ2 ≥ · · · ≥ σr > 0.Allora è sempre possibile esprimere

A = UΣV ∗

dove U ∈ Fn×n e V ∈ Fm×m sono matrici unitarie e Σ ∈ Fn×m è una matricecon una struttura diagonale del tipo

Σ =

σ1 0 0

0. . . 0

0 0 σr

0r×(m−r)

0(n−r)×r 0(n−r)×(m−r)

.

Questa espressione rappresenta la decomposizione in valori singolari dellamatrice A.

Page 24: Singular Value Decomposition and its applications

24 CAPITOLO 3. DECOMPOSIZIONE IN VALORI SINGOLARI

Dimostrazione Consideriamo una famiglia ortonormale x1, . . . , xm di au-tovettori della matrice A∗A relativi ordinatamente agli autovalori σ2

1, . . . , σ2r

ed, eventualmente, all’autovalore nullo con molteplicità µ(0) = m − r; con-sideriamo inoltre una famiglia ortonormale y1, . . . , yn di autovettori di AA∗,con y1, . . . , yr come nella proposizione 3.1.2, relativi, anche in questo caso, or-dinatamente agli autovalori σ2

1, . . . , σ2r e all’autovalore nullo con molteplicità

µ(0) = n− r.Deduciamo dalla proposizione 3.1.1 che per i = 1, . . . , r

Axi = σiyi

(gli xi sono vettori singolari destri di A) mentre per i = r + 1, . . . , m vale

A∗Axi = 0 ⇒ x∗A∗Axi = 0 ⇒ Axi · Axi = 0 ⇒ Axi = 0.

La prima uguaglianza deriva dal fatto che gli xi, i = r + 1, . . . , m, sonoautovettori relativi all’autovalore nullo e quindi appartengono all’autospazionullo di A∗A (xi ∈ ker A∗A), mentre l’ultima implicazione è conseguenzadella terza proprietà del prodotto interno.Definiamo le matrici unitarie:

V4=

[x1 · · · xm

],

U4=

[y1 · · · yn

].

Per quanto fin qui ottenuto possiamo esprimere

AV =[

Ax1 · · · Axr Axr+1 · · · Axm

]=

=[

σ1y1 · · · σryr 0 · · · 0],

UΣ =[

U(σ1e1) · · · U(σrer) U0 · · · U0]

==

[σ1y1 · · · σryr 0 · · · 0

].

Le due espressioni sono dimensionalmente compatibili e dunque possiamoscrivere

AV = UΣ,

da cui la tesi.

¤È interessante osservare come sono costruite le matrici U e V : le prime rcolonne di U formano una famiglia ortonormale di vettori singolari sinistri diA, mentre le prime r colonne di V sono una famiglia ortonormale di vettorisingolari destri. Le rimanenti colonne di U e V costituiscono basi ortonormalidegli autospazi relativi allo 0 di AA∗ e A∗A rispettivamente.Ora che il risultato è stato provato vediamo come funziona la decomposizionesu un esempio numerico.

Page 25: Singular Value Decomposition and its applications

3.2. LA DECOMPOSIZIONE (SVD) 25

Esempio 3.2.1 Riprendiamo la matrice del precedente esempio 3.1.1

A =

[1 0 −1−1 0 1

]

della quale conosciamo l’unico valore singolare σ1 = 2. Dunque la matrice Σsappiamo già essere la seguente

Σ =

[2 0 00 0 0

].

Conosciamo inoltre i vettori singolari destro e sinistro

x1 =

1√2

0− 1√

2

,

y1 =

[1√2

− 1√2

].

Per costruire la matrice V dobbiamo cercare il complemento ortogonaledello spazio generato dai vettori singolari o, equivalentemente, una baseortonormale x2, x3 per ker A∗A.

A∗Ax =

2 0 −20 0 0−2 0 2

xa

xb

xc

=

000

⇒ x2, x3 ∈ 〈

101

,

010

Scegliamo versori preoccupandoci che siano anche ortogonali tra di loro;scegliamo per esempio

x2 =

1√2

01√2

,

x3 =

010

.

Page 26: Singular Value Decomposition and its applications

26 CAPITOLO 3. DECOMPOSIZIONE IN VALORI SINGOLARI

Per costruire la matrice U è sufficiente determinare un vettore y2 del comple-mento ortogonale di 〈y1〉 in F2 che sia versore. Può essere trovato in questocaso in modo immediato scegliendo per esempio

y2 =

[1√2

1√2

].

Si noti che y2 genera il ker AA∗.Ora abbiamo gli elementi che ci consentono di costruire le due matrici V e U

V =

1√2

1√2

0

0 0 1− 1√

21√2

0

,

U =

[1√2

1√2

− 1√2

1√2

].

Dunque la decomposizione trovata è siffatta:

[1 0 −1−1 0 1

]

︸ ︷︷ ︸A

=

[1√2

1√2

− 1√2

1√2

]

︸ ︷︷ ︸U

[2 0 00 0 0

]

︸ ︷︷ ︸Σ

1√2

0 − 1√2

1√2

0 1√2

0 1 0

︸ ︷︷ ︸V ∗

.

Mentre la proposizione 3.1.1 assicura che i valori singolari di A sono univoca-mente determinati e dunque che la matrice Σ della decomposizione è unica,l’arbitrarietà della scelta dei vettori che compaiono nelle colonne di U e Vcomporta che la decomposizione UΣV ∗ non sia univocamente determinata.Il numero di scelte possibili può variare da 2max(n,m) possibili decomposizio-ni se ogni autovalore delle matrici A∗A e AA∗ si presenta con molteplicitàuno (rimane arbitrario solo il segno dei max(n,m) versori dati dalle colonnedi U o di V ) a infinite possibilità qualora un autospazio di una delle duematrici abbia dimensione maggiore di uno (come in questo esempio dovedim ker A∗A = 2 > 1).

In questo esempio si è scelto di usare matrici a valori reali per rendere latrattazione snella e di comprensione più immediata. Tuttavia la strategiaadoperata in questi semplici esempi è del tutto valida ed efficace qualora do-vessimo operare con matrici a valori complessi.

Una peculiarità della decomposizione riguarda proprio le matrici unitarie. Laseguente proposizione ne dà una caratterizzazione.

Page 27: Singular Value Decomposition and its applications

3.2. LA DECOMPOSIZIONE (SVD) 27

Proposizione 3.2.2 A ∈ Fn×n è una matrice unitaria se e solo se i suoivalori singolari sono esattamente n e tutti uguali a 1

σ1 = · · · = σn = 1.

Dimostrazione Sia infatti A una matrice unitaria. Poiché le colonne di Arappresentano autovettori di AA∗ = I e quelle di I autovettori di A∗A = I,tra le possibili decomposizioni in valori singolari possiamo scegliere in modoparticolare questa:

A = AII

tenendo presente che moltiplicare per l’identità in qualunque punto di unarelazione tra matrici non altera la veridicità della relazione stessa (l’identitàè l’elemento neutro della moltiplicazione tra matrici).Nell’esempio 3.2.1 abbiamo visto che la decomposizione non è unica se nonper la matrice Σ che in questo caso è rappresentata dalla matrice identità.Da ciò segue immediatamente la tesi.

Viceversa, se per ipotesi abbiamo una matrice quadrata A ∈ Fn×n con esat-tamente n valori singolari pari a 1, allora la sua decomposizione è necessa-riamente del tipo

A = UIV ∗ con U, V unitarieA risulta essere unitaria perché

AA∗ = UIV ∗(UIV ∗)∗ = UIV ∗V I∗U∗ = UIIIU∗ = UU∗ = I,

A∗A = (UIV ∗)∗UIV ∗ = V I∗U∗UIV ∗ = V IIIV ∗ = V V ∗ = I.

¤Al concetto di decomposizione in valori singolari si affianca quella che andre-mo a definire come matrice ridotta secondo tale decomposizione.Definizione 3.2.1 Sia A una matrice di rango r e UΣV ∗ sia una sua de-composizione in valori singolari. Considerato un valore intero k < r, diremomatrice ridotta di ordine k secondo tale decomposizione in valori singolari lamatrice

Ak = UΣkV∗

dove Σk è ottenuta da Σ ponendo uguali a 0 tutti i valori σk+1, . . . , σr.

Σk =

σ1 0 0

0. . . 0

0 0 σk

0k×(m−k)

0(n−k)×k 0(n−k)×(m−k)

.

Si noti che la matrice Ak ha rango k; inoltre tale matrice gode di altreproprietà teoriche e applicative che vedremo nei capitoli successivi.

Page 28: Singular Value Decomposition and its applications

28 CAPITOLO 3. DECOMPOSIZIONE IN VALORI SINGOLARI

3.3 Decomposizione polareOgni numero complesso può essere espresso come prodotto di un numero nonnegativo e una componente cosiddetta di fase

∀a ∈ C ∃s ∈ R+ ∪ 0, 0 ≤ ϑ < 2π : a = seiϑ.

Tale espressione di a è detta forma polare. Questa decomposizione di unnumero complesso ne suggerisce una analoga per le matrici quadrate: iden-tificando i numeri complessi con matrici quadrate 1× 1, possiamo rivedere scome una matrice semidefinita positiva e q = eiϑ come una matrice unitaria,dal momento che q∗q = e−iϑeiϑ.Lo scopo di questo paragrafo è di far vedere che una analoga decomposizionevale per ogni matrice quadrata di ordine n.Questo risultato è noto nella teoria della matrici come decomposizione polare.

Proposizione 3.3.1 Per ogni matrice quadrata A esistono Q unitaria, S1 eS2 hermitiane semidefinite positive per cui valgono le decomposizioni

A = QS1,

A = S2Q.

Dimostrazione Dal teorema 3.2.1 sappiamo che

A = UΣV ∗

dove U , V (unitarie) e Σ (matrice diagonale con valori non negativi) sonotutte matrici quadrate dello stesso ordine di A.Sappiamo che U∗U = V ∗V = I e che tale matrice identità, dello stessoordine di tutte le matrici in gioco, può essere introdotta in ogni posizionedell’uguaglianza senza alterarne la veridicità

A = UΣV ∗ = UIΣV ∗ = UV ∗V ΣV ∗ = (UV ∗)(V ΣV ∗),

A = UΣV ∗ = UΣIV ∗ = UΣU∗UV ∗ = (UΣU∗)(UV ∗).

Ora basterà porre

Q = UV ∗, S1 = V ΣV ∗, S2 = UΣU∗

e verificare che tali matrici soddisfano i requisiti richiesti. Dimostriamo cheQ è unitaria

Q∗Q = (UV ∗)∗(UV ∗) = V U∗UV ∗ = V IV ∗ = V V ∗ = I,

Page 29: Singular Value Decomposition and its applications

3.3. DECOMPOSIZIONE POLARE 29

QQ∗ = (UV ∗)(UV ∗)∗ = UV ∗V U∗ = UIU∗ = UU∗ = I.

Come ultima cosa occorre verificare che S1 e S2 sono semidefinite positive.Per farlo consideriamo la matrice

Γ4=

√σ1 0 0

0. . . 0

0 0√

σr

0

0 0

.

Risulta alloraΣ = Γ2, Γ∗ = Γ e quindi Σ = Γ∗Γ.

Possiamo allora riconoscere che

x∗S1x = x∗V ΣV ∗x = x∗V Γ∗ΓV ∗x = (ΓV ∗x) · (ΓV ∗x) ≥ 0 ∀x,

x∗S2x = x∗UΣU∗x = x∗UΓ∗ΓU∗x = (ΓU∗x) · (ΓU∗x) ≥ 0 ∀x.

¤

Diamo un esempio di come si comporta tale decomposizione.

Esempio 3.3.1 Consideriamo la matrice quadrata 2× 2 a valori reali

A =

[1 −23 −1

].

In accordo con la proposizione 3.1.1, per determinare i valori singolari di Aè sufficiente calcolare gli autovalori della matrice A∗A. I due valori singolarisono allora

σ1 =

√15 + 5

√5

2,

σ2 =

√15− 5

√5

2.

A tale risultato, seppur con approssimazione, si può pervenire con la funzioneSVD in Matlab:

A = UΣV ∗ ≈≈

[ −0.5257 −0.8507−0.8507 0.5257

] [3.6180 0

0 1.3820

] [ −0.8507 0.52570.5257 0.8507

].

Page 30: Singular Value Decomposition and its applications

30 CAPITOLO 3. DECOMPOSIZIONE IN VALORI SINGOLARI

Seguendo la traccia della dimostrazione precedente basterà imporre

Q = UV ∗ ≈≈

[ −0.5257 −0.8507−0.8507 0.5257

] [ −0.8507 0.52570.5257 0.8507

]≈

≈[

0 −11 0

],

S1 = V ΣV ∗ ≈≈

[ −0.8507 0.52570.5257 0.8507

] [σ1 00 σ2

] [ −0.8507 0.52570.5257 0.8507

]≈

≈[

3 −1−1 2

],

S2 = UΣU∗ ≈≈

[ −0.5257 −0.8507−0.8507 0.5257

] [σ1 00 σ2

] [ −0.5257 −0.8507−0.8507 0.5257

]≈

≈[

2 11 3

].

Valgono dunque le due decomposizioni polari

A = QS1 =

[0 −11 0

] [3 −1−1 2

],

A = S2Q =

[2 11 3

] [0 −11 0

].

Una verifica diretta mostra che Q è unitaria e che S1 e S2 sono semidefinitepositive malgrado ottenute da calcoli approssimati.

Page 31: Singular Value Decomposition and its applications

Capitolo 4

Norme di una matrice

Nel paragrafo 2.3 abbiamo richiamato il concetto di norma di uno spaziovettoriale reale o complesso e le sue principali proprietà. In questo capitoloesamineremo quelle particolari norme dello spazio delle matrici che sono dimaggiore interesse nelle applicazioni e valuteremo i legami che intercorronotra norme vettoriali e norme di matrici.Vedremo anche il legame che intercorre tra una particolare norma, la normaspettrale, di una matrice e i valori singolari della matrice stessa.

4.1 Norme matriciali

Quanto già definito sugli spazi vettoriali può essere applicato, in modo parti-colare, allo spazio delle matrici. Possiamo così dare una prima definizione sucui basarci per poter espandere una teoria coerente e significativa su questaparticolare categoria di norme.

Definizione 4.1.1 Si definisce norma nell’insieme M delle matrici n ×ma elementi in F, una funzione reale w

w : M → RA 7→ ‖A‖

che soddisfa le proprietà:

1. ‖A‖ ≥ 0; ‖A‖ = 0 ⇒ A = 0M ;

2. ‖kA‖ = |k| ‖A‖ ∀k scalare;

3. ‖A + B‖ ≤ ‖A‖+ ‖B‖.

31

Page 32: Singular Value Decomposition and its applications

32 CAPITOLO 4. NORME DI UNA MATRICE

Quanto appena esposto è in perfetto accordo con la norma già definita inuno spazio vettoriale (reale o complesso) arbitrario.

Esempio 4.1.1 Consideriamo, per una matrice A ∈ Fn×m, la funzione

‖A‖ = max1≤i≤n;1≤j≤m

|aij|

Una banale verifica diretta mostra che tale funzione soddisfa tutte e tre leproprietà e dunque è una norma.

Le trasformazioni tra spazi vettoriali, e tra esse quelle lineari, possono esseretra loro composte purché siano rispettate le condizioni sui rispettivi dominie codomini. D’altra parte ogni matrice A ∈ Fn×m individua una funzio-ne lineare tra Fm ed Fn e la matrice prodotto di due matrici moltiplicabilicorrisponde alla composizione delle due funzioni lineari da esse individuate.È proprio questo fatto che differenzia le trasformazioni lineari e le matrici daaltri vettori; infatti per le matrici è definita l’operazione di moltiplicazione,cosa che in generale non accade per i vettori.Premesso ciò vogliamo ora dare una definizione più restrittiva ma che risultipiù conveniente nel seguito.

Definizione 4.1.2 Una norma matriciale o norma submoltiplicativa1 è unanorma definita nello spazio delle matrici per cui vale la proprietà:

4. ‖AB‖ ≤ ‖A‖ ‖B‖,

qualora il prodotto tra A e B abbia significato; inoltre tale norma in Fn×m èdetta compatibile con le norme vettoriali ‖ ‖Fn e ‖ ‖Fm fissate in Fn ed Fm

se vale:

5. ‖Ax‖Fn ≤ ‖A‖ ‖x‖Fm ∀x ∈ Fm.

Esempio 4.1.2 La norma considerata nell’esempio 4.1.1 risulta non esseresubmoltiplicativa. Lo verifichiamo con il seguente controesempio:

A =

[1 11 −2

]⇒ ‖A‖ = 2

B =

[0 23 −3

]⇒ ‖B‖ = 3

⇒ ‖A‖ ‖B‖ = 6,

AB =

[3 −1−6 8

]⇒ ‖AB‖ = 8 > ‖A‖ ‖B‖ .

1Dall’inglese matrix norm o submultiplicative norm.

Page 33: Singular Value Decomposition and its applications

4.1. NORME MATRICIALI 33

Passiamo ora a considerare a titolo esemplificativo la norma di Frobeniusdetta anche norma matriciale euclidea.

Esempio 4.1.3 Facciamo vedere che data una matrice A ∈ Fn×m

‖A‖F

4=

√√√√n∑

i=1

m∑j=1

|aij|2

è una norma submoltiplicativa compatibile con la norma euclidea in Fm.Innanzitutto vediamo che essa è una norma in quanto considerando il vettorevect(A), ottenuto giustapponendo le colonne di A c1, . . . , cm in un unicovettore colonna o le righe r1, . . . , rn in un unico vettore riga, si osserva chela definizione data coincide con la norma euclidea in Fnm

‖A‖F = ‖vect(A)‖2 =

√√√√n∑

i=1

‖ri‖22 =

√√√√m∑

j=1

‖cj‖22

dunque 1. 2. e 3. sono soddisfatte.Facciamo vedere che essa è submoltiplicativa. Siano a1, . . . , an le righe di Ae prendiamo una matrice B m× p con colonne b1, . . . , bp:

‖AB‖2F =

n∑i=1

p∑j=1

|aibj|2 =n∑

i=1

p∑j=1

|bj · a∗i |2 ≤

≤n∑

i=1

p∑j=1

(a∗i · a∗i )(bj · bj) =n∑

i=1

(a∗i · a∗i )p∑

j=1

(bj · bj) =

=n∑

i=1

‖a∗i ‖22

p∑j=1

‖bj‖22 = ‖A∗‖2

F ‖B‖2F = ‖A‖2

F ‖B‖2F .

Abbiamo qui sfruttato la disuguaglianza di Cauchy-Schwarz (proposizione2.1.2).L’ultima uguaglianza è conseguenza del fatto che l’operatore ∗ conserva lanorma euclidea, poiché per ogni γ reale o complesso si ha che |γ|2 = |γ|2.Verifichiamo ora la compatibilità con la norma euclidea:

‖Ax‖22 =

n∑i=1

|aix|2 =n∑

i=1

|x · a∗i |2 ≤

≤n∑

i=1

(a∗i · a∗i )(x · x) = (x · x)n∑

i=1

(a∗i · a∗i ) =

Page 34: Singular Value Decomposition and its applications

34 CAPITOLO 4. NORME DI UNA MATRICE

= ‖x‖22

n∑i=1

‖a∗i ‖22 = ‖A∗‖2

F ‖x‖22 = ‖A‖2

F ‖x‖22

Usando nuovamente la disuguaglianza di Cauchy-Schwarz abbiamo provatoanche questo risultato.

Si possono costruire norme di questo tipo in svariati modi e nel paragrafosuccessivo discuteremo una particolare strategia.

4.2 Norme indotteCerchiamo ora un metodo per ottenere una norma matriciale compatibilecon norme vettoriali date. Partendo da una matrice A ∈ Fn×m possiamoconsiderare il rapporto

‖Ax‖Fn

‖x‖Fm

∀x 6= 0

dove la norma al numeratore è in Fn e quella a denominatore è la corrispon-dente in Fm. Si può innanzitutto osservare che

‖Ax‖Fn

‖x‖Fm

= ‖Avers(x)‖Fn ∀x 6= 0

per le proprietà delle norme in Fn ed Fm. Inoltre tale rapporto, ovviamentenon negativo, è il punto di partenza su cui svilupperemo una teoria generalein linea con la trattazione che in [4] viene presentata per le matrici quadrate.

Proposizione 4.2.1 Siano ‖ ‖Fm e ‖ ‖Fn norme definite sugli spazi vettorialiFm ed Fn. La funzione

f : Fn×m → RA 7→ max‖x‖Fm=1 ‖Ax‖Fn

è una norma matriciale che indicheremo con ‖ ‖. Tale norma è compatibilecon ‖ ‖Fm e ‖ ‖Fn e per ogni altra norma ‖ ‖z che sia compatibile con ‖ ‖Fm

e ‖ ‖Fn vale‖A‖ ≤ ‖A‖z ∀A ∈ Fn×m.

Dimostrazione Dobbiamo verificare che siano soddisfatti gli assiomi dellanorma matriciale per la funzione appena definita:

1. Se A = 0 allora per ogni x vale Ax = 0; dunque ‖Ax‖Fn = 0 perdefinizione di norma in Fn. Pertanto f(A) = 0.

Page 35: Singular Value Decomposition and its applications

4.2. NORME INDOTTE 35

Se A 6= 0 allora vuol dire che esiste un suo elemento aij 6= 0. Prendendo peresempio x = ej, allora Ax 6= 0 e quindi ‖Ax‖Fn > 0. Si può così concluderef(A) > 0.

2. Si ottiene dalla relazione

f(λA) = max‖x‖Fm=1

‖λAx‖Fn = |λ| max‖x‖Fm=1

‖Ax‖Fn = |λ| f(A).

3. Direttamente dalla proprietà delle norme vettoriali

‖(A + B)x‖Fn = ‖Ax + Bx‖Fn ≤ ‖Ax‖Fn + ‖Bx‖Fn

quindi

max‖x‖Fm=1

‖(A + B)x‖Fn ≤ max‖x‖Fm=1

‖Ax‖Fn + max‖x‖Fm=1

‖Bx‖Fn

e dunquef(A + B) ≤ f(A) + f(B).

f(A) è allora una norma dello spazio vettoriale delle matrici di tipo n ×m.Potremo così scrivere f(A) = ‖A‖.

5. Facciamo prima vedere che ‖ ‖ è compatibile con ‖ ‖Fm e ‖ ‖Fn :

‖Ax‖Fn

‖x‖Fm

≤ max‖Ax‖Fn

‖x‖Fm

= maxx 6=0

‖Avers(x)‖Fn = ‖A‖

e dunque‖Ax‖Fn ≤ ‖A‖ ‖x‖Fm ∀x ∈ Fm, x 6= 0.

4. Passiamo ora alla submoltiplicatività considerando una generica matriceB ∈ Fm×p:

‖AB‖ = max‖x‖Fp=1

‖ABx‖Fn ≤

≤ max‖x‖Fp=1

‖A‖ ‖Bx‖Fn = ‖A‖ max‖x‖Fp=1

‖Bx‖Fn = ‖A‖ ‖B‖

sfruttando il fatto che ‖A(Bx)‖Fn ≤ ‖A‖ ‖Bx‖Fm .

Le proprietà fin qui dimostrate assicurano che ‖ ‖ è una norma matricialecompatibile con le norme in Fn ed Fm.

Page 36: Singular Value Decomposition and its applications

36 CAPITOLO 4. NORME DI UNA MATRICE

Infine ci resta da far vedere che tra tutte le norme compatibili essa è laminima. Per definizione di max abbiamo che ∃xM : ‖xM‖Fm = 1 tale per cui‖A‖ = ‖AxM‖Fn . Per ogni altra norma matriciale compatibile deve valere

‖A‖ = ‖AxM‖Fn ≤ ‖A‖z ‖xM‖Fm = ‖A‖z

dunque ‖A‖ ≤ ‖A‖z.

¤

Conosciamo ora una tecnica per poter ottenere delle norme submoltiplicativee compatibili che hanno dunque la peculiarità di essere le più piccole normecompatibili con le norme vettoriali.

Definizione 4.2.1 Data una matrice A ∈ Fn×m e una coppia di normevettoriali ‖ ‖Fn e ‖ ‖Fm in Fn e Fm, la funzione

f(A) = max‖x‖Fm=1

‖Ax‖Fn

della proposizione 4.2.1 verrà detta norma matriciale indotta dalle normevettoriali ‖ ‖Fn e ‖ ‖Fm.

Vediamo ora una proprietà notevole delle norme indotte.

Proposizione 4.2.2 Sia In una matrice identità di ordine n e ‖ ‖ una nor-ma matriciale indotta dalla norma ‖ ‖Fn in Fn. Allora vale il risultato

‖In‖ = 1.

Dimostrazione Applicando la definizione

‖In‖ = f(In) = max‖x‖Fn=1

‖Inx‖Fn = max‖x‖Fn=1

‖x‖Fn = 1.

¤

Possiamo a questo punto osservare che la norma di Frobenius non è unanorma indotta da alcuna norma vettoriale poiché

‖In‖F = n.

Andremo ora ad esaminare, tra le norme richiamate nel paragrafo 2.3, quelleche sono indotte dalle più importanti norme vettoriali in Fn.

Page 37: Singular Value Decomposition and its applications

4.2. NORME INDOTTE 37

Proposizione 4.2.3 Le norme matriciali indotte dalle norme vettoriali ‖ ‖1

e ‖ ‖∞ sono rispettivamente:

‖A‖1 = maxj

n∑i=1

|aij| (massima somma di colonna);

‖A‖1 = maxi

n∑j=1

|aij| (massima somma di riga).

In altre parole tra tutte le colonne di A si prende quella per cui è massimala somma del modulo dei suoi elementi. La norma indotta dalla norma l1 diA è data dal valore tale somma.Per la norma l∞ si procede analogamente ma per righe.

Dimostrazione Consideriamo prima la norma l1. Per definizione (cfr. pa-ragrafo 2.3)

‖x‖1 =m∑

i=1

|xi| .

Allora

‖x‖1 = 1 ⇔m∑

i=1

|xi| = 1.

Dunque

‖Ax‖1 =n∑

i=1

∣∣∣∣∣m∑

j=1

aijxj

∣∣∣∣∣ ≤n∑

i=1

m∑j=1

|aij| |xj| =m∑

j=1

(|xj|

n∑i=1

|aij|)≤

≤(

maxj

n∑i=1

|aij|)

m∑j=1

|xj| = maxj

n∑i=1

|aij|

per ogni x di norma unitaria. Dalla definizione

‖A‖1 = max‖x‖1=1

‖Ax‖1 ,

deriva allora che

‖A‖1 = max‖x‖1=1

‖Ax‖1 ≤ maxj

n∑i=1

|aij| .

Page 38: Singular Value Decomposition and its applications

38 CAPITOLO 4. NORME DI UNA MATRICE

Supponiamo che k sia il valore di j per cui il massimo dell’ultima espressionesia raggiunto. Se ora scegliamo x = ek, abbiamo ‖x‖1 = 1 e inoltre

‖Ax‖1 = ‖Aek‖1 = ‖ak‖1 =n∑

i=1

|aik| ,

dove con ak indichiamo la colonna di indice k di A, portandoci così a conclude-re che esiste sempre un vettore a norma l1 unitaria che fa valere l’uguaglianzanella precedente relazione.

Passiamo ora alla successiva relazione sulla norma l∞.Per definizione

‖x‖∞ = max1≤j≤n

|xj| .

Allora‖x‖∞ = 1 ⇔ max

j|xj| = 1.

In questo caso si ottiene

‖Ax‖∞ = maxi

∣∣∣∣∣m∑

j=1

aijxj

∣∣∣∣∣ ≤ maxi

m∑j=1

|aij| |xj| ≤ maxi

m∑j=1

|aij|

per cui

‖A‖∞ = max‖x‖∞=1

‖Ax‖∞ ≤ maxi

m∑j=1

|aij| .

Sia h il valore di i per cui si raggiunge il massimo dell’ultima espressione. Seora scegliamo x con elementi

xj =|ahj|ahj

se ahj 6= 0,

xj = 0 se ahj = 0

abbiamo ‖x‖∞ = 1 e per questo vettore a norma l∞ unitaria vale

‖Ax‖∞ =m∑

j=1

|ahj|

e pure in questo caso l’ultima disuguaglianza raggiunge l’uguaglianza comevolevasi dimostrare.

¤

Page 39: Singular Value Decomposition and its applications

4.2. NORME INDOTTE 39

Esempio 4.2.1 Consideriamo la matrice

A =

[1 −2 36 4 −5

]

e si verfica subito che per essa abbiamo ‖A‖1 = 8 e ‖A‖∞ = 15.

Facciamo notare che il calcolo di queste norme è estremamente semplice e im-mediato anche quando le matrici in questione hanno dimensioni notevolmentegrandi.Passiamo ora ad un’altra norma il cui calcolo non è altrettanto immediatoma che gioca un ruolo teorico di maggiore rilevanza.

Definizione 4.2.2 La norma matriciale ‖ ‖2 indotta dalla norma euclideaviene detta anche norma spettrale.

Questo nome è dovuto alla proprietà esposta nella successiva proposizioneche la lega allo spettro delle matrici A∗A e AA∗.

Proposizione 4.2.4 La norma matriciale ‖ ‖2 indotta dalla norma euclideaverifica:

‖A‖2 = σmax

dove σmax è il valore singolare massimo di A.

Dimostrazione Nel caso della norma euclidea abbiamo che

‖x‖2 = 1 ⇔ x · x = x∗x = 1.

Sia A ∈ Fn×m. Consideriamo una base z1, . . . , zm ortonormale di autovettoridella matrice A∗A relativi agli autovalori scritti in ordine decrescente (λ1 ≥· · · ≥ λm ≥ 0); se prendiamo un versore x possiamo sempre esprimerlo comecombinazione lineare dei versori zi:

x = α1z1 + · · ·+ αmzm

proprio perché gli zi formano una base ortonormale per Fm.Vediamo ora di valutare la norma indotta

‖Ax‖22 = x∗A∗Ax = x∗A∗A(α1z1 + · · ·+ αmzm) =

= x∗(λ1α1z1 + · · ·+ λmαmzm) ≤ (λ1x∗)(α1z1 + · · ·+ αmzm) =

= λ1(x∗x) = λ1 ‖x‖2

2 = λ1.

La disuguaglianza è giustificata dal fatto che λ1 = λmax = max Λ(A∗A).Dalla proposizione 3.1.1 segue che

√λmax = σmax e dunque che ‖Ax‖2 ≤ σmax.

Page 40: Singular Value Decomposition and its applications

40 CAPITOLO 4. NORME DI UNA MATRICE

A questo punto se consideriamo, in particolare, il versore z1 abbiamo

‖Az1‖22 = z∗1A

∗Az1 = z∗1(λmaxz1) = λmax ‖z1‖22 = λmax

portando alla conseguenza diretta che

max‖x‖2=1

‖Ax‖2 =√

λmax = σmax.

¤

Consideriamo a questo punto il caso particolare in cui le matrici in questionesono quadrate di ordine n.La sostanziale differenza con le matrici generiche deriva dal fatto che le tra-sformazioni lineari che descrivono sono endomorfismi. Ciò comporta che sipossono sempre comporre tra loro perché sono dello stesso ordine. Le nor-me matriciali indotte in questo caso vedono semplificata la loro definizionegiacché necessitano che sia definita un’unica norma vettoriale ‖ ‖Fn che leinduca.

Esempio 4.2.2 Prendendo in considerazione le matrici decomposte negliesempi 3.2.1 e 3.3.1 abbiamo che la loro norma spettrale vale

∥∥∥∥[

1 0 −1−1 0 1

]∥∥∥∥2

= 2;

∥∥∥∥[

1 −23 −1

]∥∥∥∥2

=

√15 + 5

√5

2.

Tornando ancora una volta sulle matrici unitarie ricordiamo che conservanola norma euclidea di Fn per quanto detto nella proposizione 2.3.1.Cerchiamo di capire invece come si comportano le matrici unitarie qualora sistia operando con la norma spettrale.Partiamo facendo vedere che esse hanno sempre norma spettrale unitaria.

Proposizione 4.2.5 Sia Q una matrice unitaria. Allora ‖Q‖2 = 1.

Dimostrazione Dalla proposizione 4.2.4 sappiamo che ‖Q‖2 = σmax, madalla 3.2.2 si ha che σmax = 1.

¤

Esponiamo ora il risultato più importante sulle matrici unitarie che affermaquanto segue.

Page 41: Singular Value Decomposition and its applications

4.2. NORME INDOTTE 41

Proposizione 4.2.6 Matrici unitarie conservano la spettrale ossia

‖QAW‖2 = ‖A‖2

per ogni matrice A e per ogni Q e W unitarie che possano essere moltiplicaterispettivamente a sinistra e a destra di A.

Dimostrazione Sviluppiamo la relazione

‖QAW‖22 = max

‖x‖2=1‖QAWx‖2

2 = max‖x‖2=1

x∗W ∗A∗Q∗QAWx =

= max‖x‖2=1

x∗W ∗A∗IAWx = max‖x‖2=1

x∗W ∗A∗AWx = ‖AW‖22 .

D’altra parte vale la relazione

‖AW‖2 ≤ ‖A‖2 ‖W‖2 = ‖A‖2

nella quale abbiamo sfruttato la submoltiplicatività e la precedente proposi-zione 4.2.5.Indicato con y un versore che sia autovettore di A∗A relativo all’autovaloreλmax massimo, consideriamo il vettore

z = W−1y = W ∗y.

Il vettore z è esso stesso un versore, come si deduce dalla proposizione 2.3.1:

‖z‖2 = ‖W ∗y‖2 = ‖y‖2 = 1.

In base alla definizione di norma indotta dalla norma euclidea in Fn, si deducela relazione

‖AW‖22 ≥ ‖AWz‖2

2 = ‖AWW ∗y‖22 = ‖Ay‖2

2 = y∗A∗Ay =

= y∗(λmaxy) = λmax(y∗y) = λmax = ‖A‖2

2 .

Riassumendo:‖QAW‖2 = ‖AW‖2 = ‖A‖2 .

¤

Page 42: Singular Value Decomposition and its applications

42 CAPITOLO 4. NORME DI UNA MATRICE

4.3 Rango efficace

Il rango di una matrice è definito come il massimo numero di righe (ovvero dicolonne) linearmente indipendenti di una matrice. Mentre la sua definizioneè chiara sotto il profilo teorico, il suo calcolo offre invece qualche difficoltà dalpunto di vista pratico poiché spesso le matrici contengono valori provenientida misure e quindi soggetti a errori di rilevazione e arrotondamenti causatidalla sensibilità degli strumenti utilizzati. Inoltre il calcolo stesso del rango èsoggetto a errori di approssimazione. Ci si trova a dover operare dunque condati spuri.2 Questi dati possono tuttavia essere considerati corretti purchéentro un certo intervallo di tolleranza.Può essere allora conveniente capire come varia il rango di una matrice se isuoi valori oscillano entro tale intervallo.Il concetto di norma matriciale in questo caso ci viene in soccorso comeillustrato in [2].

Definizione 4.3.1 Data una matrice A ∈ Fn×m e una norma matriciale ‖ ‖,si definisce rango efficace3 o ε-rango di A (con ε reale e positivo) secondo talenorma, il valore intero

ρε(A)4= min

‖A−B‖≤ερ(B)

dove B viene fatta variare in tutto lo spazio delle matrici Fn×m.

In pratica si cerca di valutare di quanto il rango di una matrice possa variaree, in particolare, scendere qualora la si sostituisca con una matrice diversa.Come in tutti i problemi di approssimazione, è necessario che sia stabilito uncriterio con cui eseguire il confronto. In questo caso l’errore viene valutatoricorrendo ad una prefissata norma matriciale.Abbiamo in questo modo una definizione più operativa di rango che dàinformazioni sulla robustezza numerica di una matrice.La definizione ha un carattere generale ma dal lato pratico l’unica normache viene effettivamente utilizzata in questo genere di valutazione è la normaspettrale per il legame diretto che essa ha con la norma euclidea in Fn.Premettiamo per questo tipo di norma un risultato notevole che ci consentedi provare altri risultati più importanti.

2Fuzzy data.3Nella letteratura anglosassone è noto come effective rank, rank deficency o approximate

rank.

Page 43: Singular Value Decomposition and its applications

4.3. RANGO EFFICACE 43

Proposizione 4.3.1 Per ogni matrice A ∈ Fn×m si ha che

arg minρ(B)=k

‖A−B‖2 = Ak,

minρ(B)=k

‖A−B‖2 = σk+1

dove Ak è la matrice ridotta di ordine k secondo la decomposizione in valorisingolari di A e σk+1 è il (k + 1)-esimo valore singolare.

La distanza tra A e l’insieme delle matrici di rango k vale dunque σk+1 etale valore è raggiunto da Ak. Questa proposizione gioca un ruolo simile aquello dato dal teorema della proiezione ortogonale su spazi vettoriali e, inquesto parallelismo, la matrice Ak gioca il ruolo della proiezione ortogonaledi A nell’insieme delle matrici di rango k.

Dimostrazione Prendiamo una matrice B ∈ Fn×m di rango k. La di-mensione del suo nucleo è dunque m− k. Consideriamo allora una famigliadi vettori b1, . . . , bm−k tale per cui ker(B) = 〈b1, . . . , bm−k〉. Consideriamouna SVD di A = UΣV ∗ e prendiamo lo spazio generato dalle le prime k + 1colonne v1, . . . , vk+1 di V . Osservando in termini dimensionali si nota che

Z = 〈v1, . . . , vk+1〉 ∩ 〈b1, . . . , bm−k〉 6= 0Fn

perché nello spazio m-dimensionale Fm non ci possono essere m + 1 vettorilinearmente indipendenti. Possiamo quindi prendere un versore z dal sotto-spazio Z di Fm che può dunque essere espresso come combinazione linearedelle prime k + 1 colonne di V

z = α1v1 + · · ·+ αk+1vk+1 conk+1∑i=1

|αi|2 = 1.

Valgono le relazioni:

Az = UΣV ∗z =n∑

i=1

σiuiv∗i (α1v1 + · · ·+ αk+1vk+1) =

k+1∑i=1

σiαiui,

Bz = 0

sicché abbiamo

‖A−B‖22 ≥ ‖(A−B)z‖2

2 = ‖Az‖22 =

k+1∑i=1

σ2i |αi|2 u∗i ui ≥

Page 44: Singular Value Decomposition and its applications

44 CAPITOLO 4. NORME DI UNA MATRICE

≥ σ2k+1

k+1∑i=1

|αi|2 = σ2k+1.

Se, tra le matrici di rango k, consideriamo ora proprio la Ak si osserva che

‖A− Ak‖2 = ‖UΣV ∗ − UΣkV∗‖2 = ‖U(Σ− Σk)V

∗‖2 = ‖Σ− Σk‖2 =

=

∥∥∥∥∥∥∥∥∥∥∥

0k×k 0k×(r−k)

0(r−k)×k

σk+1 0 0

0. . . 0

0 0 σr

0r×(m−r)

0(n−r)×r 0(n−r)×(m−r)

∥∥∥∥∥∥∥∥∥∥∥2

=

=

∥∥∥∥∥∥∥∥∥H

σk+1 0 0

0. . . 0

0 0 σr

0(r+k)×(m−r+k)

0(n−r+k)×(r+k) 0(n−r+k)×(m−r+k)

K

∥∥∥∥∥∥∥∥∥2

= σk+1,

dove le matrici H e K, introdotte nell’ultimo passaggio, hanno lo scopo discambiare opportunamente le righe e le colonne. Pioché tali matrici sonoortogonali, esse non alterano la norma spettrale (cfr. la proposizione 4.2.6).Abbiamo così che il limite inferiore vale σk+1 ed è raggiunto dalla matriceAk.

¤

Detto ciò possiamo ora provare che vale il risultato seguente che relaziona ilrango efficace con i valori singolari di una matrice.

Proposizione 4.3.2 Siano A ∈ Fn×m e ε > 0. Allora il valore ρε(A) secondola norma ‖ ‖2 verifica

ρε(A) = k ⇔ σk > ε ≥ σk+1

dove σk e σk+1 sono il k-esimo e il (k + 1)-esimo valore singolare di Aconsiderati nel loro ordine decrescente.

Per ogni matrice A l’ε-rango è dunque dato dalla posizione del più piccolovalore singolare maggiore di ε. Nel caso in cui ε ≥ σmax il rango efficace sarànecessariamente nullo.

Dimostrazione (⇒) Supponiamo ρε(A) = k.Dalla definizione 4.3.1 abbiamo che

∃B : ρ(B) = k, ‖A−B‖2 ≤ ε.

Page 45: Singular Value Decomposition and its applications

4.3. RANGO EFFICACE 45

In base alla proposizione 4.3.1 allora

ε ≥ ‖A−B‖2 ≥ ‖A− Ak‖2 = σk+1.

Dalla definizione 4.3.1 segue inoltre che

∀B : ρ(B) = k − 1 risulta ‖A−B‖2 > ε;

in particolare scelta B = Ak−1 vale

‖A−B‖2 = ‖A− Ak−1‖2 = σk > ε.

(⇐) Viceversa ipotizziamo che σk > ε ≥ σk+1.Da ε ≥ σk+1 e conseguentemente alla proposizione 4.2.4 abbiamo che

‖A− Ak‖2 = σk+1 ≤ ε.

Ricordando che ρ(Ak) = k, dalla definizione 4.3.1 segue immediatamente

ρε(A) ≤ k.

Sia ora ε < k. Dalla proposizione 4.3.1 segue che per ogni matrice B di rangok − 1 si ha

‖A−B‖2 ≥ ‖A− Ak−1‖2 = σk > ε

e dunque dev’essere necessariamente

ρε(A) ≥ k.

Combinando infine le due condizioni sul rango efficace di A si ottiene la tesi.

¤

Esempio 4.3.1 Consideriamo ancora una volta la matrice dell’esempio 3.3.1

A =

[1 −23 −1

]= UΣV ∗ = U

[σ1 00 σ2

]V ∗

con

σ1 =

√15 + 5

√5

2≈ 3.6180,

σ2 =

√15− 5

√5

2≈ 1.3820.

Page 46: Singular Value Decomposition and its applications

46 CAPITOLO 4. NORME DI UNA MATRICE

Dalla decomposizione in valori singolari si evince subito che i ranghi effettividi tale matrice valgono

ρε(A) = ρ(A) = 2 se ε < σ2;

ρε(A) = 1 se σ2 ≤ ε < σ1;

ρε(A) = 0 se ε ≥ σ1.

Page 47: Singular Value Decomposition and its applications

Capitolo 5

Applicazioni

La decomposizione in valori singolari vanta varie applicazioni. In quest’ul-timo capitolo ci proporremo di illustrarne due, una di carattere teorico egenerale sulla soluzione dei sistemi lineari e la seconda di carattere più pra-tico sulla compressione delle immagini. Analizzeremo alcune conseguenze ditali applicazioni.

5.1 Sistemi lineariData una matrice A ∈ Fn×m e un vettore b ∈ Fn, possiamo considerare ilsistema lineare

Ax = b

dove x è un vettore indeterminato di Fm. Sappiamo che esistono tre situazioniche si possono verificare per questo tipo di problemi:

1. il sistema ha soluzione unica;

2. il sistema ha infinite soluzioni;

3. il sistema non ha soluzioni (incompatibile).

La decomposizione in valori singolari ci può venire in soccorso qualora citrovassimo di fronte a ciascuno dei tre casi. Vediamo come questo sia pos-sibile introducendo il concetto di matrice pseudoinversa o inversa di Moore-Penrose o inversa generalizzata (vedi [3] oppure [7]).

Definizione 5.1.1 Sia A ∈ Fn×m una matrice di rango r e sia UΣV ∗ unasua decomposizione in valori singolari, la matrice

A+ 4= V Σ+U∗

47

Page 48: Singular Value Decomposition and its applications

48 CAPITOLO 5. APPLICAZIONI

con

Σ+ 4=

1σ1

0 0

0. . . 0

0 0 1σr

0r×(n−r)

0(m−r)×r 0(m−r)×(n−r)

in Fm×n è detta pseudoinversa della matrice A.

La pseudoinversa gode di alcune proprietà note come condizioni di Moore-Penrose. Vediamole.

Proposizione 5.1.1 Data una matrice arbitraria A e la sua pseudoinversaA+ allora AA+ e A+A sono hermitiane e valgono le relazioni di invarianza:

AA+A = A

A+AA+ = A+

Dimostrazione Sono tutte semplici relazioni algebriche.Vediamo l’hermitianità:

(AA+)∗ = (UΣV ∗V Σ+U∗)∗ = (U

[Iρ(A) 0

0 0

]U∗)∗ =

= U

[Iρ(A) 0

0 0

]U∗ = AA+;

(A+A)∗ = (V Σ+U∗UΣV ∗)∗ = (V

[Iρ(A) 0

0 0

]V ∗)∗ =

= V

[Iρ(A) 0

0 0

]V ∗ = A+A.

Quindi le relazioni di invarianza:

AA+A = UΣV ∗V Σ+U∗UΣV ∗ = UΣIΣ+IΣV ∗ == UΣΣ+ΣU∗ = UΣV ∗ = A;

A+AA+ = V Σ+U∗UΣV ∗V Σ+U∗ = V Σ+IΣIΣ+U∗ == V Σ+ΣΣ+U∗ = V Σ+U∗ = A+.

¤

Analizziamo prima cosa accade nel caso dei sistemi compatibili.

Proposizione 5.1.2 Dato un sistema Ax = b compatibile allora A+b èsoluzione.

Page 49: Singular Value Decomposition and its applications

5.1. SISTEMI LINEARI 49

Dimostrazione Dall’ipotesi di sistema compatibile, esiste v tale che b = Av.Abbiamo dunque

AA+b = AA+Av = Av = b

dove abbiamo sfruttato la precedente proposizione 5.1.1.

¤

Nei sistemi a infinite soluzioni vediamo ora che caratteristiche ha la soluzioneparticolare A+b.

Proposizione 5.1.3 Dato un sistema Ax = b con infinite soluzioni alloraA+b è quella a norma euclidea minima.

∥∥A+b∥∥

2= min ‖x‖2 : Ax = b .

Dimostrazione Sia x un qualsiasi vettore tale che Ax = b. Allora sfruttandola compatibilità della norma spettrale con la norma euclidea:

∥∥A+b∥∥

2=

∥∥A+Ax∥∥

2≤

∥∥A+A∥∥

2‖x‖2 =

∥∥∥∥U

[Iρ(A) 0

0 0

]U∗

∥∥∥∥2

‖x‖2 =

=

∥∥∥∥[

Iρ(A) 00 0

]∥∥∥∥2

‖x‖2 = ‖x‖2 .

Il penultimo passaggio deriva dalla proposizione 4.2.6.

¤

Passiamo infine a considerare la situazione più interessante ossia la possibilitàdi poter trattare anche sistemi non compatibili (si veda anche [6]). In questocaso sappiamo non esistere alcuna soluzione del sistema

6 ∃x : Ax = b

cioè per ogni x abbiamo che

Ax− b 6= 0

o, equivalentemente,‖Ax− b‖2 6= 0.

Consideriamo l’ultima relazione: una soluzione porta ad annullare la normadella differenza tra i due membri del sistema (meglio nota come distanzaeuclidea tra la n-upla Ax e la n-upla b); se un sistema è incompatibile vuoldire che tale norma non può essere annullata per nessuna m-upla x. Allora

Page 50: Singular Value Decomposition and its applications

50 CAPITOLO 5. APPLICAZIONI

quello che ci proponiamo di fare è cercare quella m-upla che minimizza talenorma ossia che più si avvicina a ciò che potrebbe essere una soluzione delsistema.Questo problema è detto problema dei minimi quadrati e si indicherà come

Ax ≈ b.

La soluzione a questo tipo di problemi coinvolge anche in questo caso lamatrice pseudoinversa di A. Vediamo come.

Proposizione 5.1.4 Il problema dei minimi quadrati Ax ≈ b è risolto dallam-upla A+b:

minx‖Ax− b‖2 = A+b.

Dimostrazione Consideriamo una SVD di A = UΣV ∗. Risulta

‖Ax− b‖2 = ‖UΣV ∗x− b‖2 = ‖U∗UΣV ∗x− U∗b‖2 = ‖ΣV ∗x− U∗b‖2 .

D’altra parte1

‖ΣV ∗x− U∗b‖22 = |σ1(V

∗x)1 − (U∗b)1|2 + · · ·+ |σk(V∗x)k − (U∗b)k|2 +

+ |(U∗b)k+1|2 + · · ·+ |(U∗b)n|2

che raggiungerà il minimo qualora siano soddisfatte le relazioni

σ1(V∗x)1 − (U∗b)1 = 0

...σk(V

∗x)k − (U∗b)k = 0

ovvero

(V ∗x)i =1

σi

(U∗b)i ∀i = 1, . . . , k cioè quando V ∗x = Σ+U∗b.

Segue immediatamente la tesi.

¤

Esempio 5.1.1 Consideriamo il seguente problema dei minimi quadrati Ax ≈b:

1 12 22 2

[x1

x2

]≈

1515−30

.

1Con le scritture (V ∗x)i e (U∗b)i intendiamo gli i-esimi elementi dei vettori V ∗x e U∗b.

Page 51: Singular Value Decomposition and its applications

5.2. COMPRESSIONE DELLE IMMAGINI 51

Consideriamo una decomposizione in valori singolari di A:

A = UΣV ∗ =

13− 2√

52

3√

523

1√5

43√

523

0 − 53√

5

3√

2 00 00 0

[1√2

1√2

1√2− 1√

2

].

Possiamo dunque valutare la pseudoinversa A+:

A+ = V Σ+U∗ =

[118

19

19

118

19

19

].

Abbiamo immediatamente la soluzione al problema

xmin = A+b =

[118

19

19

118

19

19

]

1515−30

=

[ −56

−56

].

Nonostante questa coppia di valori risolva il problema dei minimi quadrativediamo come essa sia lontana dal risolvere ognuna delle equazioni del sistemaincompatibile di partenza.

5.2 Compressione delle immaginiUn’immagine digitale è una struttura a matrice di n × m elementi fonda-mentali detti pixel ciascuno dei quali può essere descritto come un piccoloquadrato monocromatico. Per un’immagine in bianco e nero, qualunque pi-xel può assumere un livello di luminosità del grigio che può essere messo inrelazione con un insieme finito di numeri naturali.2 Così ogni immagine di-gitale in bianco e nero può essere rappresentata da una matrice n ×m chepossiamo pensare a valori reali.Grazie a questa corrispondenza tra immagine digitale in bianco e nero con larelativa matrice numerica, è possibile trattare in modo numerico una qualun-que immagine digitale. In particolare illustreremo come un’approssimazionea rango ridotto di una matrice associata ad un’immagine consenta di ridurrel’informazione necessaria a rappresentare l’immagine senza che la strutturagenerale e l’intelligibilità vengano troppo intaccate (come suggerisce [1]).Prendiamo per esempio l’immagine in figura 5.1. Tale immagine ha unarisoluzione di 500 pixel per ciascuna colonna e 400 pixel per riga. Supponen-do che ciascun pixel occupi un byte di memoria la nostra immagine in un

2Tipicamente viene assunto un valore compreso entro 28 = 256 livelli cosicché ognipixel può essere memorizzato in un byte di memoria.

Page 52: Singular Value Decomposition and its applications

52 CAPITOLO 5. APPLICAZIONI

qualunque supporto di memoria non occuperà meno di

500× 400× 1 = 20000 byte.

La matrice A associata ad un’immagine ha, nella maggior parte dei casi, ran-go massimo o di poco inferiore ad esso. Quello che ci proponiamo di fare ècercare una matrice di rango ridotto, diciamolo , che approssimi, secondo uncriterio da stabilire, tale matrice in modo “soddisfacente”.

Figura 5.1: Immagine in formato bitmap

Sul concetto di “approssimazione” possiamo ancora una volta appoggiarci allenorme matriciali definite nel capitolo precedente. Consideriamo la normaspettrale: sappiamo che, tra tutte le matrici di rango k, quella a distanzaminima è data dalla Ak, ridotta di ordine k secondo la SVD (proposizione4.3.1):

minB:ρ(B)=k

‖A−B‖2 = ‖A− Ak‖2 = σk+1.

La matrice Ak può essere espressa come:

Ak =k∑

i=1

uiσiv∗i =

[σ1u1 · · · σkuk

] [v1 · · · vk

]∗= ΩΨ∗.

Dunque la matrice Ω è una matrice n × k contenente le prime k colonne diU moltiplicate rispettivamente per i primi k valori singolari di A e Ψ è unamatrice m× k e contiene le prime k colonne di V .Supponiamo quindi di voler associare alla nostra immagine le matrici Ω eΨ invece della matrice A e vediamo in termini di occupazione di memoria

Page 53: Singular Value Decomposition and its applications

5.2. COMPRESSIONE DELLE IMMAGINI 53

quanto guadagniamo. Un parametro che stima questo guadagno è il fattoredi compressione che definiamo come

ν4=

n di byte file compresson di byte file originale

.

Tale fattore, per una data classe di matrici in Fn×m, è funzione dunque delrango k:

νk =(nk)b + (mk)b

(nm)b=

k(n + m)

nm= k

n + m

nm=

k

n+

k

m

b indica il numero di byte necessari per memorizzare un singolo valore di cia-scuna matrice e questo naturalmente non influenza il fattore di compressione.Ovviamente si parla di compressione qualora il fattore di compressione siainferiore a 1, cioè il file compresso occupi effettivamente meno memoria. Devevalere allora

νk < 1 cioè k <mn

m + n.

Vedremo in seguito che in realtà i valori significativi di k sono di moltoinferiori al limite superiore qui imposto.Di contro abbiamo che questa tecnica fa parte di quella classe di algorit-mi detti a perdita di informazione3 ossia ad un certo livello di compressio-ne dell’immagine corrisponde un allontanamento irreversibile dalla versioneoriginale. L’immagine compressa può apparire dunque meno dettagliata opresentarsi più grossolana e imperfetta di come appariva originariamente.Per stimare questo effetto di approssimazione possiamo fare ricorso ai valorisingolari che in un certo senso quantificano la distanza tra l’immagine dipartenza e quella compressa.Introdurremo così, in questa trattazione, alcuni fattori che consentono dipoter fare delle valutazioni quantitative. In primo luogo definiamo il fattoredi perdita

ξk4=

∑ki=1 σi∑ρ(A)i=1 σi

.

Anche questo parametro è funzione di k. La somma di tutti i valori singolarirappresenta la totalità dell’informazione. ξk è dunque un valore compresotra 0 e 1. Più ξk è prossimo a 1 maggiore sarà la fedeltà garantita dallacompressione.Si dovranno dunque tenere d’occhio due parametri qualora si proceda con unacompressione mediante questa tecnica. Per favorire un’interpretazione più di-retta dei dati relativi a questo tipo di compressione, introduciamo allora un

3Lossy algorithms.

Page 54: Singular Value Decomposition and its applications

54 CAPITOLO 5. APPLICAZIONI

terzo parametro che tenga conto di entrambi i fenomeni (compressione e per-dita di informazione): definiamo il fattore di compressione dell’informazioneil valore

Γk4=

νk

ξk

.

Nelle figure 5.2, 5.3, 5.4 e 5.5 abbiamo la compressione dell’immagine di fi-gura 5.1 secondo diversi valori di k come riportato nella tabella 5.1. Dalleimmagini si può constatare che il fattore di perdita dev’essere almeno 0.7per avere intelligibilità minima del contenuto dell’immagine, mentre per ave-re buona fedeltà, occorre che esso non sia inferiore a 0.85. La tabella ci facomunque vedere come si possano raggiungere risultati esteticamente grade-voli occupando solamente il 18% dello spazio di memoria necessario al fileoriginale. Dal valore di Γk = 0.2 possiamo infine concludere che la stessainformazione che il file originale portava in 5 byte può essere portato da unsingolo byte lasciando pressoché inalterata la struttura originale.

Figura k νk ξk Γk byte5.1 400 / 1 / 200005.2 5 0.0225 0.5966 0.0377 4505.3 10 0.0450 0.6914 0.0651 9005.4 20 0.0900 0.7789 0.1155 18005.5 40 0.1800 0.8595 0.2094 3600

Tabella 5.1: Valore dei parametri

Finora abbiamo considerato solamente immagini digitali in bianco e nero. Seprendiamo in considerazione immagini digitali a colori, tutto quanto appenasviluppato può essere esteso tenendo presente che per un’immagine a coloridi n ×m pixel sono associate tre matrici numeriche della stessa dimensioneper la luminosità delle tre componenti cromatiche fondamentali RGB.4

Qualora usassimo, per rappresentare un’immagine digitale a colori, tre di-versi valori kR, kG e kB di rango per l’approssimazione delle tre matrici AR,AG e AB, i parametri di compressione utilizzati per la valutazione della com-pressione delle immagini in bianco e nero potrebbero essere ridefiniti comesegue

ν4=

(nkR + nkG + nkB)b + (mkR + mkG + mkB)b

3(nm)b=

=kR + kG + kB

3

(1

n+

1

m

);

4Sigla dall’inglese Red Green Blue ossia rosso, verde e blu.

Page 55: Singular Value Decomposition and its applications

5.2. COMPRESSIONE DELLE IMMAGINI 55

ξ4=

∑J=R,G,B

∑kJ

i=1 σJi∑J=R,G,B

∑ρ(AJ )i=1 σJi

;

Γ4=

ν

ξ.

Concludiamo la trattazione osservando che il fattore di compressione offertoda questa tecnica seppur confrontabile con quello offerto dagli algoritmi dicompressione GIF (che tra l’altro ha il pregio di non essere lossy), non ècomunque paragonabile a quello offerto dalle varie tecniche JPEG che ai finipratici sono quelle più utilizzate. Abbiamo comunque un interessante esem-pio di come la decomposizione in valori singolari possa essere teoricamenteutilizzata per comprimere le immagini.

Figura 5.2: Compressione a rango 5

Page 56: Singular Value Decomposition and its applications

56 CAPITOLO 5. APPLICAZIONI

Figura 5.3: Compressione a rango 10

Figura 5.4: Compressione a rango 20

Figura 5.5: Compressione a rango 40

Page 57: Singular Value Decomposition and its applications

Appendice A

Teoria delle perturbazioni: cenni

Ci occupiamo ora di analizzare alcuni aspetti relarivi alla teoria della pertur-bazioni applicata al problema dei minimi quadrati.Nel calcolo numerico è spesso conveniente stimare la stabilità numerica dellematrici coinvolte qualora siano soggette a perturbazioni. Parleremo di pertur-bazione quando gli elementi di una matrice A possono subire uno scostamentorelativo di una certa quantità δ; nel problema la matrice di partenza vienesostituita dalla matrice A + δA che rappresenta la massima perturbazione.Se x risolve il problema posto con la matrice A e x lo stesso problema conla matrice A + δA è interessante trovare un valore limite di scostamento trax e x. Scostamenti e distanze sono sempre valutati con la norma euclidea equella spettrale. Introduciamo dunque un parametro caratteristico di ognimatrice che quantifica la stabilità numerica di una matrice.Diremo condizionamento numerico riferito alla norma spettrale per una ma-trice A il valore

κ2(A)4=

σmax

σmin

dove σmax e σmin rappresentano rispettivamente il valore singolare massimoe quello minimo di A.Vediamo un importante teorema sulla stabilità numerica nel problema deiminimi quadrati che abbiamo già incontrato nel paragrafo 5.1.

Teorema 1 Consideriamo una matrice A ∈ Fn×m con n ≥ m e a rangopieno. Supponiamo che x0 risolva il problema dei minimi quadrati Ax ≈ be sia r = Ax0 − b il residuo. Supponiamo inoltre che x risolva il problemaperturbato (A + δA)x ≈ (b + δb). Assumendo

ε = max

‖δA‖2

‖A‖2

,‖δb‖2

‖b‖2

57

Page 58: Singular Value Decomposition and its applications

58 APPENDICE A. TEORIA DELLE PERTURBAZIONI: CENNI

allora‖x− x0‖2

‖x0‖2

≤ ε

(2κ2(A)

cos ϑ+ κ2

2(A) tan ϑ

)+ o(ε)

dove sin ϑ =‖r‖2‖b‖2 ossia ϑ è l’angolo tra il vettore b e il vettore Ax.

Non daremo prova di questo teorema ma ci limiteremo a capirne il significato.Se ϑ è circa nullo si ha che il residuo è molto piccolo e il condizionamentonumerico effettivo è circa 2κ2(A).Per valori di ϑ maggiori, ma comunque non prossimi a π

2, il condizionamento

numerico effettivo può diventare molto grande ed è comunque proporzionalea κ2

2(A).Se invece ϑ è prossimo a π

2la soluzione al problema originale tende ad essere

nulla e per quanto κ2(A) sia piccolo il condizionamento numerico effettivotende ad essere illimitato.

Per problemi che non degenerano dunque vediamo come il condizionamen-to numerico κ2(A) influenzi la stabilità del problema dei minimi quadratisoggetto a perturbazioni.Il condizionamento numerico, per come è definito, è un numero maggiore ouguale a 1.Diremo dunque che un problema è ben condizionato tanto più κ2(A) è pros-simo a 1.Per le matrici unitarie sappiamo che tale valore è esattamente 1 come conse-guenza diretta della proposizione 3.2.2.Problemi formulati mediante matrici unitarie sono dunque ben condiziona-ti. Per questa ragione si preferisce operare con matrici unitarie qualora siarichiesta stabilità numerica.Per ulteriori osservazioni o considerazioni si veda [1].

Page 59: Singular Value Decomposition and its applications

Appendice B

Matlab: svdcompression.m

Per simulare la compressione delle immagini mediante la decomposizione invalori singolari e stimare i parametri ad essa associati abbiamo sviluppato lafunzione svdcompression.m in Matlab:

function svdcompression(FileIN,ext,FileOUT,rank)

A=imread(FileIN,ext);B=double(A);if ndims(B)<3

[n,m]=size(B);[U,S,V]=svd(B);Bc=U(:,1:rank)*S(1:rank,1:rank)*V(:,1:rank)’;y=0;for j=1:rank,

y=y+S(j,j);endx=y;for j=rank+1:min(m,n),

x=x+S(j,j);end

elsex=0;y=0;[n,m,p]=size(B);for i=1:3,

[U,S,V]=svd(B(:,:,i));y1=0;for j=1:rank,

59

Page 60: Singular Value Decomposition and its applications

60 APPENDICE B. MATLAB: SVDCOMPRESSION.M

y1=y1+S(j,j);endx1=y1;for j=rank+1:min(m,n),

x1=x1+S(j,j);endx=x+x1;y=y+y1;Bc(:,:,i)=U(:,1:rank)*S(1:rank,1:rank)*V(:,1:rank)’;

endendAc=uint8(Bc);imwrite(Ac,FileOUT,ext);Compression_Factor=rank*(n+m)/(n*m)Loss_Factor=y/xCompression_Information=Compression_Factor/Loss_Factor

Le figure 5.2, 5.3, 5.4, 5.5 e i dati in tabella 5.1 sono ottenuti utilizzando talefunzione applicata all’immagine di figura 5.1.

Page 61: Singular Value Decomposition and its applications

Bibliografia

[1] James W. DemmelApplied Numerical Linear AlgebraSociety for Industrial and Applied Mathematics, 1997.

[2] Gene H. Golub, Charles F. Van LoanMatrix Computations 3 rd editionThe Johns Hopkins University Press, 1983.

[3] Roger A. Horn, Charles R. JohnsonMatrix AnalysisCambridge University Press, 1985.

[4] Peter Lancaster, Miron TismenetskyThe Theory of Matrices 2 nd editionAccademic Press, 1985.

[5] Ben NobleApplied Linear AlgebraPrentice Hall, 1969.

[6] Ben Noble, James W. DanielApplied Linear Algebra 3 rd editionPrentice Hall, 1988.

[7] James M. OrtegaMatrix Theory - A second coursePlenum Press, 1987.

[8] Gilbert StrangLinear Algebra and its Applications 3 rd editionHarcourt Brace Jovanovich, Publishers, 1993.

61