Sei sulla pagina 1di 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


2
Indice

Introduzione 5

1 Notazioni 7

2 Richiami di algebra lineare 9


2.1 Prodotto interno . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2 Matrici hermitiane . . . . . . . . . . . . . . . . . . . . . . . . 11
2.3 Norme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

3 Decomposizione in valori singolari 17


3.1 Valori e vettori singolari . . . . . . . . . . . . . . . . . . . . . 19
3.2 La decomposizione (SVD) . . . . . . . . . . . . . . . . . . . . 23
3.3 Decomposizione polare . . . . . . . . . . . . . . . . . . . . . . 28

4 Norme di una matrice 31


4.1 Norme matriciali . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.2 Norme indotte . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.3 Rango efficace . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

5 Applicazioni 47
5.1 Sistemi lineari . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
5.2 Compressione delle immagini . . . . . . . . . . . . . . . . . . . 51

A Teoria delle perturbazioni: cenni 57

B Matlab: svdcompression.m 59

Bibliografia 61

3
Introduzione

La teoria delle matrici a elementi in un campo assicura che possiamo tra-


sformare, con operazioni elementari sulle righe e sulle colonne, una qualsiasi
matrice A di rango r in una del tipo
· ¸
Ir 0
.
0 0
D’altra parte effettuare una successione finita di trasformazioni elementari
sulle righe di una matrice A ∈ Fn×m corrisponde a moltiplicare a sinistra A
per un’opportuna matrice H ∈ Fn×n non singolare e, analogamente, eseguire
trasformazioni elementari sulle colonne corrisponde a moltiplicare a destra
per un’altra matrice non singolare opportuna K ∈ Fm×m .
Così, data A, esistono sempre due matrici invertibili H e K tali che
· ¸
Ir 0
HAK = .
0 0
Può a questo punto essere interessante vedere cosa accade, qualora il campo
sia R (o C), se si esige che le matrici H e K siano ortogonali (o più in generale
unitarie), 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, ad
esempio, alla semplicità con cui possono essere invertite. Inoltre le matrici
sono strutture dati tipicamente utilizzate nel calcolo numerico che, per sua
natura, 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 tipo
descritto in precedenza, vedremo come in ogni caso sia possibile pervenire ad
una espressione analoga in cui il primo blocco è una matrice diagonale.

5
La decomposizione in valori singolari 1 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 0
Σ=
0 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 prime


dimostrazioni, 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 trattazione
più generale sull’argomento dove viene dimostrato che ogni matrice n × m
complessa ammette questo tipo di decomposizione.
L’espressione valori singolari fu introdotta per la prima volta da R. A. Horn
nel 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 una
fattorizzazione di questo tipo per una matrice. Ci concentreremo maggior-
mente sul significato degli scalari non nulli della matrice Σ associata ad A: i
valori 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 poter
poi analizzare il legame che intercorre tra esse e la decomposizione in valori
singolari.

Infine ci occuperemo di inserire tali argomenti in contesti applicativi quali


la compressione di dati e la determinazione della soluzione del problema dei
minimi quadrati.

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

6
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 āji , cioè la coniugata trasposta di A.
Se, in particolare, F = R, allora A∗ = AT (semplicemente trasposta).
Se la matrice è 1 × 1 vale A∗ = Ā.
Per ogni matrice inoltre vale banalmente la relazione A = A∗∗ e inoltre, se A
e 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 sia


chiaro 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 di


questa proprietà sono meglio note come ortogonali.

7
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 non
nulli.

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}.
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. La
maggior parte di questi argomenti viene affrontata in qualsiasi corso di base
di 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 (reale
o complesso) ed esamineremo le principali proprietà poiché esse ricorrono in
molte 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
10 CAPITOLO 2. RICHIAMI DI ALGEBRA LINEARE

Proposizione 2.1.1 Sia V = Fn (identificato con l’insieme delle matrici a


una colonna). Allora
4
x · y = y∗x
è un prodotto interno per V .
Dimostrazione Verifichiamo che sono soddisfatte le tre proprietà imposte
dalla 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).


P P
3. x · x = x∗ x = ni=1 x̄i xi = ni=1 |xi |2 ≥ 0

ovviamente la somma di termini non negativi non può mai essere ne-
gativa. Inoltre
n
X
x·x=0 ⇒ |xi |2 = 0 ⇔ ∀i xi = 0 ⇔ x = 0V .
i=1

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 prodotto
interno canonico.

Un fatto importante che caratterizza il prodotto interno è la disuguaglianza


di Cauchy-Schwarz.
Proposizione 2.1.2 Sia V uno spazio vettoriale dotato di prodotto interno
allora
|x · y|2 ≤ (x · x)(y · y) ∀x, y ∈ V.
Dimostrazione Se x = 0V la tesi è verificata. Se x 6= 0V , si consideri il
vettore v = αx + βy, con α, β ∈ F. Per la terza proprietà del prodotto
interno 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.


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 un
1
campo 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

4 1
vers(z) = √ 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
 
x1 · x1 x1 · x2 · · · x1 · xr
 x2 · x1 x2 · x2 · · · x2 · xr 
 
G= .. .. . . .. 
 . . . . 
xr · x1 xr · x2 · · · xr · xr

coincide con l’identità Ir .

2.2 Matrici hermitiane


Le matrici hermitiane rivestono un ruolo teorico di primo piano negli argo-
menti che andremo ad analizzare e sviluppare. Ecco dunque esposti i risultati
fondamentali su questa categoria di matrici.
1
Ricordiamo che in un campo vale la proprietà: ab = 0, a 6= 0 ⇒ b=0
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 polinomio
caratteristico 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à algebrica


e 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 che
risulta essere unitaria. Sia
B = Q−1 SQ = Q∗ SQ.
2
Nel caso di matrici reali con tale affermazione si intende dire che il polinomio
caratteristico si fattorizza completamente in fattori di primo grado.
2.2. MATRICI HERMITIANE 13

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

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

Per costruzione B, sarà dunque nella forma


· ¸
λIr 0
B=
0 R

con r = dim Vλ .
Se per assurdo fosse µ(λ) > r vorrebbe dire che λ è autovalore anche della
matrice R. Questo significherebbe che
 
ar+1
 
∃w =  ...  6= 0n−r tale che Rw = λw
an
· ¸ · ¸
0r 0r
cioè tale che B =λ .
w w
· ¸
0r
Il vettore non nullo Q risulterebbe allora essere autovettore di S rela-
w
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 tra


loro 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 = λi x,

Sy = λj y.
Da ciò seguono le seguenti relazioni scalari:

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

x∗ Sy = x∗ (λj y) = λ̄j x∗ y = λj (y · x) = λj (x · y).


(λj = λ̄j deriva dalla Proposizione 2.2.1).
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 e
che la matrice diagonale associata ha elementi reali
 
λ1 0 0
 
D = Q−1 SQ = Q∗ SQ =  0 . . . 0  , λ1 , . . . , λn ∈ R.
0 0 λn
Illustriamo ora un punto cruciale su cui si basa la decomposizione in valori
singolari 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 esso
corrispondente. Allora
A∗ Az = γz ⇒ z ∗ A∗ Az = z ∗ (γz) = γ(z · z).
Prestando attenzione sulla seconda espressione notiamo che essa può essere
anche 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∗ .


¤
2.3. NORME 15

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

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


plesso una funzione
n: V → R
x 7→ kxk
che soddisfa le proprietà:

1. kxk ≥ 0; kxk = 0 ⇒ v = 0V ;

2. kaxk = |a| kxk;

3. kx + yk ≤ kxk + kyk.

Sono esempi, particolarmente significativi, di norme in Fn :


n
X
4
kxk1 = |xi | (norma l1 o norma somma);
i=1
v
u n
4 u
X
kxk2 = t |xi |2 (norma l2 o norma euclidea);
i=1
v
u n
4 u
X
kxkp = t
p
|xi |p (norma lp o norma di Hölder);
i=1

4
kxk∞ = max |xi | (norma l∞ o norma infinito).
1≤i≤n

Ricordiamo che
lim kxkp = kxk∞
p→∞

ovvero che la norma infinito3 è il limite della norma lp per p → ∞.


Quella che abbiamo indicato come norma l2 riveste il ruolo più importante
in quanto è la norma indotta dal prodotto interno canonico
√ √
kxk2 = x · x = x∗ x
3
Per questa ragione la norma infinito assume questo nome.
16 CAPITOLO 2. RICHIAMI DI ALGEBRA LINEARE

ed è anche quella che in geometria viene usata per valutare le distanze nello
spazio euclideo.
Passiamo infine ad esporre un importante risultato che lega la norma euclidea
alle matrici unitarie. Questo risultato si rivelerà utile quando parleremo delle
norme sugli spazi delle matrici.
Proposizione 2.3.1 Una matrice Q di Fn×n conserva la norma euclidea se
e solo se è unitaria.

kQxk2 = kxk2 ∀x ∈ Fn ⇔ Q è unitaria.

Dimostrazione Prendiamo una matrice unitaria Q; allora


p p p
kQxk2 = Qx · Qx = (Qx)∗ Qx = x∗ Q∗ Qx =
p √
= x∗ In x = x∗ x = kxk2 .
In altre parole ogni matrice unitaria applicata a qualunque vettore non altera
la sua norma euclidea.

Viceversa: ipotizziamo che per ogni x

kQxk2 = kxk2 cioè x∗ Q∗ Qx = x∗ x.

Scegliendo in particolare x = ei , otteniamo che qi∗ qi = 1.4 Dunque Q∗ Q =


I + B dove B è una matrice hermitiana (bhk = b̄kh ) nulla nella diagonale
principale.
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.
¤

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

Decomposizione in valori singolari

L’obiettivo primario è dunque quello di poter dimostrare come da un punto


di vista algebrico la decomposizione in valori singolari, importante risultato
della teoria delle matrici, sia effettivamente possibile per qualunque matrice
rettangolare 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 a
trattare 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 calcolo
approssimato.

Figura 3.1: Intersezione di due rette ortogonali

17
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 caso
sono ortogonali.
L’espressione algebrica del problema è data da un sistema compatibile a
due equazioni e due incognite; la matrice dei coefficienti ha le due colonne
che sono ortogonali. Facciamo notare che se la retta r1 si allontana dalla
posizione originale di una quantità ², la soluzione subisce la stessa variazione
entro il segmento A’A”. Consideriamo ora l’analogo problema dove le rette
in questione comunque incidono ma non sono ortogonali, come per esempio
in figura 3.2.

Figura 3.2: Intersezione di due rette generiche

In questo caso la matrice dei coefficienti del sistema associato ha le due


colonne che non sono ortogonali.
Se r1 subisce scostamenti di una certa quantità e il punto di incidenza con la
retta r2 si allontana dalla posizione originale di una quantità δ che è sempre
maggiore di ² (talvolta d può essere molto maggiore di ²).
Questo esempio euristico punta più a sollecitare l’intuito del lettore che a
dare una prova rigorosa di quanto abbiamo in precedenza affermato sull’im-
portanza di operare con matrici unitarie. Avremo comunque modo nella
trattazione che segue di vedere, seguendo strategie più rigorose, altre im-
portanti proprietà che caratterizzano le matrici ortogonali e più in generale
quelle unitarie.
3.1. VALORI E VETTORI SINGOLARI 19

3.1 Valori e vettori singolari


In primo luogo ci soffermeremo su alcune considerazioni di carattere generale
che permetteranno in un secondo momento di inquadrare meglio il problema.
Cominciamo con il definire gli oggetti fondamentali di questa trattazione
seguendo la strategia adottata in [5].
Definizione 3.1.1 Sia A una matrice rettangolare n × m, sia σ uno scalare
non nullo, x ∈ Fm e y ∈ Fn siano vettori non nulli tali per cui valgano le
relazioni
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 A y y
∗ =σ .
A 0 x x
· ¸
0 A
σ allora, se esiste, è autovalore della matrice hermitiana e dunque,
A∗ 0
per la proposizione 2.2.1, è un numero · reale. ¸
0 A
Va notato che se σ è autovalore di ∗ relativamente all’autovettore
· ¸ A 0 · ¸
y −y
, allora anche −σ ne è autovalore ed è relativo all’autovettore .
x x
Infatti
· ¸· ¸ · ¸ · ¸ · ¸
0 A −y Ax σy −y
= = = −σ .
A∗ 0 x −A∗ y −σx x
· ¸
0 A
Gli autovalori di si presentano quindi sempre in coppie simmetri-
A∗ 0
che rispetto all’origine.
Noi possiamo così limitarci a considerare solamente i σ positivi che d’ora in
avanti verranno semplicemente indicati come i valori singolari di A.
20 CAPITOLO 3. DECOMPOSIZIONE IN VALORI SINGOLARI

Per comprendere il significato del termine vettore singolare sinistro si noti


che A∗ y = σx ⇒ (A∗ y)∗ = (σx)∗ ovvero y ∗ A = σx∗ in analogia con il
concetto di autovettore sinistro.

Nulla ancora si è detto sull’esistenza o sulla natura di queste particolari


entità che per le ipotesi da cui siamo partiti sembrano non nutrire particolari
proprietà. Ci occuperemo ora di dare una caratterizzazione dei vettori e
valori singolari che fornisca un metodo operativo per individuarli e fornisca
degli strumenti che consentano di provare agevolmente la decomposizione in
valori 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 A
relativi a σi .

2. σi2 (σ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 σi2 .
Dimostrazione 1. ⇒ 2. È una banale relazione algebrica

A∗ Axi = A∗ (σi yi ) = σi A∗ yi = σi σi xi = σi2 xi ,

AA∗ yi = A(σi xi ) = σi Axi = σi σi yi = σi2 yi .

2. ⇒ 1. Ricordiamo innanzitutto che, per la proposizione 2.2.4, le matrici


A∗ A e AA∗ sono hermitiane e hanno autovalori non negativi. Indicati con
σ12 , . . . , σr2 , σi > 0, gli autovalori positivi di A∗ A e con xi , . . . , xr una fami-
glia di autovettori ad essi corrispondenti, consideriamo la famiglia di vettori
yi , . . . , yr data da
1
yi = Axi .
σi
Ora verifichiamo che yi , . . . , yr formano una famiglia di autovettori di AA∗
relativi rispettivamente agli autovalori σ12 , . . . , σr2 :
µ ¶
∗ ∗ 1 1
AA yi = AA Axi = A(A∗ Axi ) =
σi σi
µ ¶
1 2 2 1
= A(σi xi ) = σi Axi = σi2 yi .
σi σi
3.1. VALORI E VETTORI SINGOLARI 21

A questo punto la conclusione è evidente:


1
yi = Axi ⇒ Axi = σi yi ,
σi

A∗ Axi = σi2 xi ⇒ A∗ (σi yi ) = σi2 xi ⇒ A∗ yi = σi xi


cioè σi è valore singolare di A e xi , yi costituiscono una coppia di vettori
singolari (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 matrici
hermitiane 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
σ12 , . . . , σr2 non nulli. Allora la famiglia
1
yi = Axi i = 1, . . . , r
σi
è una famiglia ortonormale di autovettori di AA∗ relativi rispettivamente agli
autovalori σi2 .

Dimostrazione A∗ A è una matrice hermitiana e dunque è sempre possibile


per essa trovare una base ortonormale di autovettori. A maggior ragione
esiste 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 formano
una famiglia di autovettori di AA∗ . Ci rimane dunque solamente da provare
che tali vettori formano una famiglia ortonormale. Si ha
1 1 ∗ ∗
yi · yj = Axi · Axj = x A Axi =
σi σj σi σj j
½
1 ∗ 2 σi 0 i 6= j
= xj (σi xi ) = xi · xj =
σi σj σj 1 i=j
L’ultima uguaglianza è conseguenza dell’ortogonalità della famiglia x1 , . . . , xr
come imposto dalle ipotesi.

¤
22 CAPITOLO 3. DECOMPOSIZIONE IN VALORI SINGOLARI

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


conclusione
Corollario 3.1.3 Ogni matrice è dotata di famiglie ortonormali di vettori
singolari 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


· ¸
1 0 −1
A= .
−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 di
A∗ A:    
1 −1 · ¸ 2 0 −2
1 0 −1
A∗ A =  0 0  =  0 0 0 .
−1 0 1
−1 1 −2 0 2
Calcoliamo il polinomio caratteristico:
 
z−2 0 2
∆A∗ A (z) = det(zI − A∗ A) = det  0 z 0 =
2 0 z−2
£ ¤
= z (z − 2)2 − 4 = z 2 (z − 4).
Gli autovalori sono
© ª
Λ(A∗ A) = λ1 = 4 = σ12 ; λ2 = 0; λ3 = 0 .

Dunque A ha un unico valore singolare σ1 = 4 = 2.
Passiamo ora a cercare il vettore singolare destro di A
    
−2 0 −2 xa 0
(A∗ A − σ12 I)x =  0 −4 0   xb  =  0 
−2 0 −2 xc 0
3.2. LA DECOMPOSIZIONE (SVD) 23
 
1
⇒ x1 ∈ h  0  i
−1
prendiamo naturalmente un versore
 
√1
2
x1 =  0 
− √12

Ora possiamo immediatamente calcolare il vettore singolare sinistro come


suggerito dalla proposizione 3.1.2
 1  " #
· ¸ √
1 1 1 0 −1  2  √1
0 2
y1 = Ax1 = = √1
σ1 2 −1 0 1 −
− √12 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 nostra
trattazione. Abbiamo posto fin qui le basi essenziali per poterne dare una
prova rigorosa e semplice.

Teorema 3.2.1 Sia A ∈ Fn×m una matrice di rango r e siano σ1 , . . . , σr i


suoi 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 matrice


con una struttura diagonale del tipo
 
σ1 0 0
 
 0 ... 0 0r×(m−r) 
Σ= .
 0 0 σr 
0(n−r)×r 0(n−r)×(m−r)

Questa espressione rappresenta la decomposizione in valori singolari della


matrice A.
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 σ12 , . . . , σr2
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 σ12 , . . . , σr2 e all’autovalore nullo con molteplicità
µ(0) = n − r.
Deduciamo dalla proposizione 3.1.1 che per i = 1, . . . , r
Axi = σi yi
(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, sono
autovettori relativi all’autovalore nullo e quindi appartengono all’autospazio
nullo di A∗ A (xi ∈ ker A∗ A), mentre l’ultima implicazione è conseguenza
della terza proprietà del prodotto interno.
Definiamo le matrici unitarie:
4 £ ¤
V = x1 · · · xm ,
4 £ ¤
U = y1 · · · yn .
Per quanto fin qui ottenuto possiamo esprimere
£ ¤
AV = £ Ax1 · · · Axr Axr+1 · · ·¤ Axm =
= σ1 y1 · · · σr yr 0 · · · 0 ,
£ ¤
U Σ = £ U (σ1 e1 ) · · · U (σr er ) U 0¤ · · · U 0 =
= σ1 y1 · · · σr yr 0 · · · 0 .
Le due espressioni sono dimensionalmente compatibili e dunque possiamo
scrivere
AV = U Σ,
da cui la tesi.
¤
È interessante osservare come sono costruite le matrici U e V : le prime r
colonne di U formano una famiglia ortonormale di vettori singolari sinistri di
A, mentre le prime r colonne di V sono una famiglia ortonormale di vettori
singolari destri. Le rimanenti colonne di U e V costituiscono basi ortonormali
degli autospazi relativi allo 0 di AA∗ e A∗ A rispettivamente.
Ora che il risultato è stato provato vediamo come funziona la decomposizione
su un esempio numerico.
3.2. LA DECOMPOSIZIONE (SVD) 25

Esempio 3.2.1 Riprendiamo la matrice del precedente esempio 3.1.1


· ¸
1 0 −1
A=
−1 0 1

della quale conosciamo l’unico valore singolare σ1 = 2. Dunque la matrice Σ


sappiamo già essere la seguente
· ¸
2 0 0
Σ= .
0 0 0

Conosciamo inoltre i vettori singolari destro e sinistro


 
√1
2
x1 =  0 ,
− √12

" #
√1
2
y1 = .
− √12

Per costruire la matrice V dobbiamo cercare il complemento ortogonale


dello spazio generato dai vettori singolari o, equivalentemente, una base
ortonormale x2 , x3 per ker A∗ A.
    
2 0 −2 xa 0

A Ax =  0 0 0   xb = 0 
 
−2 0 2 xc 0
   
1 0
⇒ x2 , x3 ∈ h 0 , 1 i
  
1 0
Scegliamo versori preoccupandoci che siano anche ortogonali tra di loro;
scegliamo per esempio
 1 

2
x2 =  0  ,
√1
2
 
0
x3 =  1  .
0
26 CAPITOLO 3. DECOMPOSIZIONE IN VALORI SINGOLARI

Per costruire la matrice U è sufficiente determinare un vettore y2 del comple-


mento ortogonale di hy1 i in F2 che sia versore. Può essere trovato in questo
caso in modo immediato scegliendo per esempio
" #
√1
2
y2 = √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
 1 
√ √1 0
2 2
V = 0 0 1 ,
− √2 √12 0
1

" #
√1 √1
2 2
U= .
− √12 √1
2

Dunque la decomposizione trovata è siffatta:


" #·  
· ¸ ¸ √1 0 − √12
1 0 −1 √1 √1 2 0 0  2
= 2 2 √1 0 √12  .
−1 0 1 − √12 √1
2
0 0 0 2
| {z } | {z }| {z } 0 1 0
A U Σ | {z }
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 V
comporta 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 colonne
di U o di V ) a infinite possibilità qualora un autospazio di una delle due
matrici abbia dimensione maggiore di uno (come in questo esempio dove
dim ker A∗ A = 2 > 1).
In questo esempio si è scelto di usare matrici a valori reali per rendere la
trattazione snella e di comprensione più immediata. Tuttavia la strategia
adoperata 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. La


seguente proposizione ne dà una caratterizzazione.
3.2. LA DECOMPOSIZIONE (SVD) 27

Proposizione 3.2.2 A ∈ Fn×n è una matrice unitaria se e solo se i suoi


valori singolari sono esattamente n e tutti uguali a 1
σ1 = · · · = σn = 1.
Dimostrazione Sia infatti A una matrice unitaria. Poiché le colonne di A
rappresentano autovettori di AA∗ = I e quelle di I autovettori di A∗ A = I,
tra le possibili decomposizioni in valori singolari possiamo scegliere in modo
particolare questa:
A = AII
tenendo presente che moltiplicare per l’identità in qualunque punto di una
relazione 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 non
per 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 = U IV ∗ con U, V unitarie
A risulta essere unitaria perché
AA∗ = U IV ∗ (U IV ∗ )∗ = U IV ∗ V I ∗ U ∗ = U IIIU ∗ = U U ∗ = I,
A∗ A = (U IV ∗ )∗ U IV ∗ = V I ∗ U ∗ U IV ∗ = 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, diremo
matrice ridotta di ordine k secondo tale decomposizione in valori singolari la
matrice
Ak = U Σk V ∗
dove Σk è ottenuta da Σ ponendo uguali a 0 tutti i valori σk+1 , . . . , σr .
 
σ1 0 0
 .. 
 . 0 0k×(m−k) 
Σk =  0 .
 0 0 σk 
0(n−k)×k 0(n−k)×(m−k)
Si noti che la matrice Ak ha rango k; inoltre tale matrice gode di altre
proprietà teoriche e applicative che vedremo nei capitoli successivi.
28 CAPITOLO 3. DECOMPOSIZIONE IN VALORI SINGOLARI

3.3 Decomposizione polare


Ogni numero complesso può essere espresso come prodotto di un numero non
negativo 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 un


numero complesso ne suggerisce una analoga per le matrici quadrate: iden-
tificando i numeri complessi con matrici quadrate 1 × 1, possiamo rivedere s
come 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 decomposizione
vale 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 e
S2 hermitiane semidefinite positive per cui valgono le decomposizioni

A = QS1 ,

A = S2 Q.
Dimostrazione Dal teorema 3.2.1 sappiamo che

A = U ΣV ∗

dove U , V (unitarie) e Σ (matrice diagonale con valori non negativi) sono


tutte matrici quadrate dello stesso ordine di A.
Sappiamo che U ∗ U = V ∗ V = I e che tale matrice identità, dello stesso
ordine di tutte le matrici in gioco, può essere introdotta in ogni posizione
dell’uguaglianza senza alterarne la veridicità

A = U ΣV ∗ = U IΣV ∗ = U V ∗ V ΣV ∗ = (U V ∗ )(V ΣV ∗ ),

A = U ΣV ∗ = U ΣIV ∗ = U ΣU ∗ U V ∗ = (U ΣU ∗ )(U V ∗ ).
Ora basterà porre

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

e verificare che tali matrici soddisfano i requisiti richiesti. Dimostriamo che


Q è unitaria

Q∗ Q = (U V ∗ )∗ (U V ∗ ) = V U ∗ U V ∗ = V IV ∗ = V V ∗ = I,
3.3. DECOMPOSIZIONE POLARE 29

QQ∗ = (U V ∗ )(U V ∗ )∗ = U V ∗ V U ∗ = U IU ∗ = U U ∗ = I.
Come ultima cosa occorre verificare che S1 e S2 sono semidefinite positive.
Per farlo consideriamo la matrice
 √ 
σ1 0 0
 ... 
4  0 
Γ= 0 √
0 .
 0 0 σr 
0 0

Risulta allora
Σ = Γ2 , Γ∗ = Γ e quindi Σ = Γ∗ Γ.
Possiamo allora riconoscere che

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

x∗ S2 x = 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


· ¸
1 −2
A= .
3 −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 singolari
sono allora s √
15 + 5 5
σ1 = ,
2
s √
15 − 5 5
σ2 = .
2
A tale risultato, seppur con approssimazione, si può pervenire con la funzione
SVD in Matlab:

A =U· ΣV ≈ ¸· ¸· ¸
−0.5257 −0.8507 3.6180 0 −0.8507 0.5257
≈ .
−0.8507 0.5257 0 1.3820 0.5257 0.8507
30 CAPITOLO 3. DECOMPOSIZIONE IN VALORI SINGOLARI

Seguendo la traccia della dimostrazione precedente basterà imporre



Q =U·V ≈ ¸· ¸
−0.5257 −0.8507 −0.8507 0.5257
≈ ≈
· −0.8507¸ 0.5257 0.5257 0.8507
0 −1
≈ ,
1 0

S1 = V
· ΣV ≈ ¸· ¸· ¸
−0.8507 0.5257 σ1 0 −0.8507 0.5257
≈ ≈
· 0.5257 ¸0.8507 0 σ2 0.5257 0.8507
3 −1
≈ ,
−1 2

S2 = U
· ΣU ≈ ¸· ¸· ¸
−0.5257 −0.8507 σ1 0 −0.5257 −0.8507
≈ ≈
· −0.8507
¸ 0.5257 0 σ2 −0.8507 0.5257
2 1
≈ .
1 3
Valgono dunque le due decomposizioni polari
· ¸· ¸
0 −1 3 −1
A = QS1 = ,
1 0 −1 2
· ¸· ¸
2 1 0 −1
A = S2 Q = .
1 3 1 0
Una verifica diretta mostra che Q è unitaria e che S1 e S2 sono semidefinite
positive malgrado ottenute da calcoli approssimati.
Capitolo 4

Norme di una matrice

Nel paragrafo 2.3 abbiamo richiamato il concetto di norma di uno spazio


vettoriale reale o complesso e le sue principali proprietà. In questo capitolo
esamineremo quelle particolari norme dello spazio delle matrici che sono di
maggiore interesse nelle applicazioni e valuteremo i legami che intercorrono
tra norme vettoriali e norme di matrici.
Vedremo anche il legame che intercorre tra una particolare norma, la norma
spettrale, 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 su
cui basarci per poter espandere una teoria coerente e significativa su questa
particolare categoria di norme.

Definizione 4.1.1 Si definisce norma nell’insieme M delle matrici n × m


a elementi in F, una funzione reale w

w: M → R
A 7→ kAk

che soddisfa le proprietà:

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

2. kkAk = |k| kAk ∀k scalare;

3. kA + Bk ≤ kAk + kBk.

31
32 CAPITOLO 4. NORME DI UNA MATRICE

Quanto appena esposto è in perfetto accordo con la norma già definita in


uno spazio vettoriale (reale o complesso) arbitrario.
Esempio 4.1.1 Consideriamo, per una matrice A ∈ Fn×m , la funzione

kAk = max |aij |


1≤i≤n;1≤j≤m

Una banale verifica diretta mostra che tale funzione soddisfa tutte e tre le
proprietà e dunque è una norma.
Le trasformazioni tra spazi vettoriali, e tra esse quelle lineari, possono essere
tra loro composte purché siano rispettate le condizioni sui rispettivi domini
e 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 moltiplicabili
corrisponde alla composizione delle due funzioni lineari da esse individuate.
È proprio questo fatto che differenzia le trasformazioni lineari e le matrici da
altri 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 risulti
più conveniente nel seguito.
Definizione 4.1.2 Una norma matriciale o norma submoltiplicativa1 è una
norma definita nello spazio delle matrici per cui vale la proprietà:

4. kABk ≤ kAk kBk,

qualora il prodotto tra A e B abbia significato; inoltre tale norma in Fn×m è


detta compatibile con le norme vettoriali k kFn e k kFm fissate in Fn ed Fm
se vale:

5. kAxkFn ≤ kAk kxkFm ∀x ∈ Fm .

Esempio 4.1.2 La norma considerata nell’esempio 4.1.1 risulta non essere


submoltiplicativa. Lo verifichiamo con il seguente controesempio:
· ¸ 
1 1 
A= ⇒ kAk = 2  
· 1 −2 ¸ ⇒ kAk kBk = 6,
0 2 
B= ⇒ kBk = 3  
3 −3
· ¸
3 −1
AB = ⇒ kABk = 8 > kAk kBk .
−6 8
1
Dall’inglese matrix norm o submultiplicative norm.
4.1. NORME MATRICIALI 33

Passiamo ora a considerare a titolo esemplificativo la norma di Frobenius


detta anche norma matriciale euclidea.
Esempio 4.1.3 Facciamo vedere che data una matrice A ∈ Fn×m
v
uX n Xm
4 u
kAkF = t |aij |2
i=1 j=1

è una norma submoltiplicativa compatibile con la norma euclidea in Fm .


Innanzitutto vediamo che essa è una norma in quanto considerando il vettore
vect(A), ottenuto giustapponendo le colonne di A c1 , . . . , cm in un unico
vettore colonna o le righe r1 , . . . , rn in un unico vettore riga, si osserva che
la definizione data coincide con la norma euclidea in Fnm
v v
u n uX
uX u m
kAkF = kvect(A)k2 = t kri k2 = t
2
kcj k22
i=1 j=1

dunque 1. 2. e 3. sono soddisfatte.


Facciamo vedere che essa è submoltiplicativa. Siano a1 , . . . , an le righe di A
e prendiamo una matrice B m × p con colonne b1 , . . . , bp :
p
n X p
n X
X X
kABk2F = |ai bj |2 = |bj · a∗i |2 ≤
i=1 j=1 i=1 j=1

p
n X n p
X X X
≤ (a∗i · a∗i )(bj · bj ) = (a∗i · a∗i ) (bj · bj ) =
i=1 j=1 i=1 j=1
n p
X X
= ka∗i k22 kbj k22 = kA∗ k2F kBk2F = kAk2F kBk2F .
i=1 j=1

Abbiamo qui sfruttato la disuguaglianza di Cauchy-Schwarz (proposizione


2.1.2).
L’ultima uguaglianza è conseguenza del fatto che l’operatore ∗ conserva la
norma euclidea, poiché per ogni γ reale o complesso si ha che |γ|2 = |γ̄|2 .
Verifichiamo ora la compatibilità con la norma euclidea:
n
X n
X
kAxk22 = 2
|ai x| = |x · a∗i |2 ≤
i=1 i=1

n
X n
X
≤ (a∗i · a∗i )(x · x) = (x · x) (a∗i · a∗i ) =
i=1 i=1
34 CAPITOLO 4. NORME DI UNA MATRICE

n
X
= kxk22 ka∗i k22 = kA∗ k2F kxk22 = kAk2F kxk22
i=1

Usando nuovamente la disuguaglianza di Cauchy-Schwarz abbiamo provato


anche questo risultato.

Si possono costruire norme di questo tipo in svariati modi e nel paragrafo


successivo discuteremo una particolare strategia.

4.2 Norme indotte


Cerchiamo ora un metodo per ottenere una norma matriciale compatibile
con norme vettoriali date. Partendo da una matrice A ∈ Fn×m possiamo
considerare il rapporto
kAxkFn
∀x 6= 0
kxkFm
dove la norma al numeratore è in Fn e quella a denominatore è la corrispon-
dente in Fm . Si può innanzitutto osservare che

kAxkFn
= kAvers(x)kFn ∀x 6= 0
kxkFm

per le proprietà delle norme in Fn ed Fm . Inoltre tale rapporto, ovviamente


non negativo, è il punto di partenza su cui svilupperemo una teoria generale
in linea con la trattazione che in [4] viene presentata per le matrici quadrate.

Proposizione 4.2.1 Siano k kFm e k kFn norme definite sugli spazi vettoriali
Fm ed Fn . La funzione

f : Fn×m → R
A 7→ maxkxkFm =1 kAxkFn

è una norma matriciale che indicheremo con k k. Tale norma è compatibile


con k kFm e k kFn e per ogni altra norma k kz che sia compatibile con k kFm
e k kFn vale
kAk ≤ kAkz ∀A ∈ Fn×m .

Dimostrazione Dobbiamo verificare che siano soddisfatti gli assiomi della


norma matriciale per la funzione appena definita:

1. Se A = 0 allora per ogni x vale Ax = 0; dunque kAxkFn = 0 per


definizione di norma in Fn . Pertanto f (A) = 0.
4.2. NORME INDOTTE 35

Se A 6= 0 allora vuol dire che esiste un suo elemento aij 6= 0. Prendendo per
esempio x = ej , allora Ax 6= 0 e quindi kAxkFn > 0. Si può così concludere
f (A) > 0.

2. Si ottiene dalla relazione

f (λA) = max kλAxkFn = |λ| max kAxkFn = |λ| f (A).


kxkFm =1 kxkFm =1

3. Direttamente dalla proprietà delle norme vettoriali

k(A + B)xkFn = kAx + BxkFn ≤ kAxkFn + kBxkFn

quindi

max k(A + B)xkFn ≤ max kAxkFn + max kBxkFn


kxkFm =1 kxkFm =1 kxkFm =1

e dunque
f (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) = kAk.

5. Facciamo prima vedere che k k è compatibile con k kFm e k kFn :

kAxkFn kAxkFn
≤ max = max kAvers(x)kFn = kAk
kxkFm kxkFm x6=0

e dunque
kAxkFn ≤ kAk kxkFm ∀x ∈ Fm , x 6= 0.

4. Passiamo ora alla submoltiplicatività considerando una generica matrice


B ∈ Fm×p :
kABk = max kABxkFn ≤
kxkFp =1

≤ max kAk kBxkFn = kAk max kBxkFn = kAk kBk


kxkFp =1 kxkFp =1

sfruttando il fatto che kA(Bx)kFn ≤ kAk kBxkFm .

Le proprietà fin qui dimostrate assicurano che k k è una norma matriciale


compatibile con le norme in Fn ed Fm .
36 CAPITOLO 4. NORME DI UNA MATRICE

Infine ci resta da far vedere che tra tutte le norme compatibili essa è la
minima. Per definizione di max abbiamo che ∃xM : kxM kFm = 1 tale per cui
kAk = kAxM kFn . Per ogni altra norma matriciale compatibile deve valere

kAk = kAxM kFn ≤ kAkz kxM kFm = kAkz

dunque kAk ≤ kAkz .

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

Definizione 4.2.1 Data una matrice A ∈ Fn×m e una coppia di norme


vettoriali k kFn e k kFm in Fn e Fm , la funzione

f (A) = max kAxkFn


kxkFm =1

della proposizione 4.2.1 verrà detta norma matriciale indotta dalle norme
vettoriali k kFn e k kFm .

Vediamo ora una proprietà notevole delle norme indotte.

Proposizione 4.2.2 Sia In una matrice identità di ordine n e k k una nor-


ma matriciale indotta dalla norma k kFn in Fn . Allora vale il risultato

kIn k = 1.

Dimostrazione Applicando la definizione

kIn k = f (In ) = max kIn xkFn = max kxkFn = 1.


kxkFn =1 kxkFn =1

Possiamo a questo punto osservare che la norma di Frobenius non è una


norma indotta da alcuna norma vettoriale poiché

kIn kF = n.

Andremo ora ad esaminare, tra le norme richiamate nel paragrafo 2.3, quelle
che sono indotte dalle più importanti norme vettoriali in Fn .
4.2. NORME INDOTTE 37

Proposizione 4.2.3 Le norme matriciali indotte dalle norme vettoriali k k1


e k k∞ sono rispettivamente:
n
X
kAk1 = max |aij | (massima somma di colonna);
j
i=1

n
X
kAk1 = max |aij | (massima somma di riga).
i
j=1

In altre parole tra tutte le colonne di A si prende quella per cui è massima
la somma del modulo dei suoi elementi. La norma indotta dalla norma l1 di
A è 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)
Xm
kxk1 = |xi | .
i=1

Allora
m
X
kxk1 = 1 ⇔ |xi | = 1.
i=1

Dunque
¯ ¯ Ã !
n ¯X
X m ¯ X n X
m m
X n
X
¯ ¯
kAxk1 = ¯ aij xj ¯ ≤ |aij | |xj | = |xj | |aij | ≤
¯ ¯
i=1 j=1 i=1 j=1 j=1 i=1

à n
! m n
X X X
≤ max |aij | |xj | = max |aij |
j j
i=1 j=1 i=1

per ogni x di norma unitaria. Dalla definizione

kAk1 = max kAxk1 ,


kxk1 =1

deriva allora che


n
X
kAk1 = max kAxk1 ≤ max |aij | .
kxk1 =1 j
i=1
38 CAPITOLO 4. NORME DI UNA MATRICE

Supponiamo che k sia il valore di j per cui il massimo dell’ultima espressione


sia raggiunto. Se ora scegliamo x = ek , abbiamo kxk1 = 1 e inoltre
n
X
kAxk1 = kAek k1 = kak k1 = |aik | ,
i=1

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’uguaglianza
nella precedente relazione.

Passiamo ora alla successiva relazione sulla norma l∞ .


Per definizione
kxk∞ = max |xj | .
1≤j≤n

Allora
kxk∞ = 1 ⇔ max |xj | = 1.
j

In questo caso si ottiene


¯ ¯
¯Xm ¯ m
X m
X
¯ ¯
kAxk∞ = max ¯ aij xj ¯ ≤ max |aij | |xj | ≤ max |aij |
i ¯ ¯ i i
j=1 j=1 j=1

per cui
m
X
kAk∞ = max kAxk∞ ≤ max |aij | .
kxk∞ =1 i
j=1

Sia h il valore di i per cui si raggiunge il massimo dell’ultima espressione. Se


ora scegliamo x con elementi

|ahj |
xj = se ahj 6= 0,
ahj
xj = 0 se ahj = 0
abbiamo kxk∞ = 1 e per questo vettore a norma l∞ unitaria vale
m
X
kAxk∞ = |ahj |
j=1

e pure in questo caso l’ultima disuguaglianza raggiunge l’uguaglianza come


volevasi dimostrare.

¤
4.2. NORME INDOTTE 39

Esempio 4.2.1 Consideriamo la matrice


· ¸
1 −2 3
A=
6 4 −5

e si verfica subito che per essa abbiamo kAk1 = 8 e kAk∞ = 15.

Facciamo notare che il calcolo di queste norme è estremamente semplice e im-


mediato anche quando le matrici in questione hanno dimensioni notevolmente
grandi.
Passiamo ora ad un’altra norma il cui calcolo non è altrettanto immediato
ma che gioca un ruolo teorico di maggiore rilevanza.
Definizione 4.2.2 La norma matriciale k k2 indotta dalla norma euclidea
viene detta anche norma spettrale.
Questo nome è dovuto alla proprietà esposta nella successiva proposizione
che la lega allo spettro delle matrici A∗ A e AA∗ .
Proposizione 4.2.4 La norma matriciale k k2 indotta dalla norma euclidea
verifica:
kAk2 = σmax
dove σmax è il valore singolare massimo di A.
Dimostrazione Nel caso della norma euclidea abbiamo che

kxk2 = 1 ⇔ x · x = x∗ x = 1.

Sia A ∈ Fn×m . Consideriamo una base z1 , . . . , zm ortonormale di autovettori


della matrice A∗ A relativi agli autovalori scritti in ordine decrescente (λ1 ≥
· · · ≥ λm ≥ 0); se prendiamo un versore x possiamo sempre esprimerlo come
combinazione lineare dei versori zi :

x = α1 z1 + · · · + αm zm

proprio perché gli zi formano una base ortonormale per Fm .


Vediamo ora di valutare la norma indotta

kAxk22 = x∗ A∗ Ax = x∗ A∗ A(α1 z1 + · · · + αm zm ) =

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


= λ1 (x∗ x) = λ1 kxk22 = λ1 .

La disuguaglianza è giustificata dal
√ fatto che λ1 = λmax = max Λ(A A).
Dalla proposizione 3.1.1 segue che λmax = σmax e dunque che kAxk2 ≤ σmax .
40 CAPITOLO 4. NORME DI UNA MATRICE

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

kAz1 k22 = z1∗ A∗ Az1 = z1∗ (λmax z1 ) = λmax kz1 k22 = λmax

portando alla conseguenza diretta che


p
max kAxk2 = λmax = σmax .
kxk2 =1

Consideriamo a questo punto il caso particolare in cui le matrici in questione


sono 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 si
possono sempre comporre tra loro perché sono dello stesso ordine. Le nor-
me matriciali indotte in questo caso vedono semplificata la loro definizione
giacché necessitano che sia definita un’unica norma vettoriale k kFn che le
induca.

Esempio 4.2.2 Prendendo in considerazione le matrici decomposte negli


esempi 3.2.1 e 3.3.1 abbiamo che la loro norma spettrale vale
°· ¸°
° 1 0 −1 °
° °
° −1 0 1 ° = 2;
2
s √
°· ¸°
° 1 −2 ° 15 + 5 5
° ° = .
° 3 −1 ° 2
2

Tornando ancora una volta sulle matrici unitarie ricordiamo che conservano
la norma euclidea di Fn per quanto detto nella proposizione 2.3.1.
Cerchiamo di capire invece come si comportano le matrici unitarie qualora si
stia 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 kQk2 = 1.

Dimostrazione Dalla proposizione 4.2.4 sappiamo che kQk2 = σmax , ma


dalla 3.2.2 si ha che σmax = 1.

Esponiamo ora il risultato più importante sulle matrici unitarie che afferma
quanto segue.
4.2. NORME INDOTTE 41

Proposizione 4.2.6 Matrici unitarie conservano la spettrale ossia

kQAW k2 = kAk2

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

Dimostrazione Sviluppiamo la relazione

kQAW k22 = max kQAW xk22 = max {x∗ W ∗ A∗ Q∗ QAW x} =


kxk2 =1 kxk2 =1

= max {x∗ W ∗ A∗ IAW x} = max {x∗ W ∗ A∗ AW x} = kAW k22 .


kxk2 =1 kxk2 =1

D’altra parte vale la relazione

kAW k2 ≤ kAk2 kW k2 = kAk2

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 −1 y = W ∗ y.

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

kzk2 = kW ∗ yk2 = kyk2 = 1.

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


la relazione

kAW k22 ≥ kAW zk22 = kAW W ∗ yk22 = kAyk22 = y ∗ A∗ Ay =

= y ∗ (λmax y) = λmax (y ∗ y) = λmax = kAk22 .

Riassumendo:
kQAW k2 = kAW k2 = kAk2 .

¤
42 CAPITOLO 4. NORME DI UNA MATRICE

4.3 Rango efficace


Il rango di una matrice è definito come il massimo numero di righe (ovvero di
colonne) linearmente indipendenti di una matrice. Mentre la sua definizione
è chiara sotto il profilo teorico, il suo calcolo offre invece qualche difficoltà dal
punto di vista pratico poiché spesso le matrici contengono valori provenienti
da misure e quindi soggetti a errori di rilevazione e arrotondamenti causati
dalla sensibilità degli strumenti utilizzati. Inoltre il calcolo stesso del rango è
soggetto a errori di approssimazione. Ci si trova a dover operare dunque con
dati 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 i
suoi valori oscillano entro tale intervallo.
Il concetto di norma matriciale in questo caso ci viene in soccorso come
illustrato in [2].

Definizione 4.3.1 Data una matrice A ∈ Fn×m e una norma matriciale k k,


si definisce rango efficace3 o ²-rango di A (con ² reale e positivo) secondo tale
norma, il valore intero
4
ρ² (A) = min ρ(B)
kA−Bk≤²

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 variare


e, in particolare, scendere qualora la si sostituisca con una matrice diversa.
Come in tutti i problemi di approssimazione, è necessario che sia stabilito un
criterio con cui eseguire il confronto. In questo caso l’errore viene valutato
ricorrendo 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 norma
che viene effettivamente utilizzata in questo genere di valutazione è la norma
spettrale per il legame diretto che essa ha con la norma euclidea in Fn .
Premettiamo per questo tipo di norma un risultato notevole che ci consente
di provare altri risultati più importanti.

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

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

arg min kA − Bk2 = Ak ,


ρ(B)=k

min kA − Bk2 = σk+1


ρ(B)=k

dove Ak è la matrice ridotta di ordine k secondo la decomposizione in valori


singolari 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 e


tale valore è raggiunto da Ak . Questa proposizione gioca un ruolo simile a
quello dato dal teorema della proiezione ortogonale su spazi vettoriali e, in
questo parallelismo, la matrice Ak gioca il ruolo della proiezione ortogonale
di 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 famiglia
di vettori b1 , . . . , bm−k tale per cui ker(B) = hb1 , . . . , bm−k i. Consideriamo
una SVD di A = U ΣV ∗ e prendiamo lo spazio generato dalle le prime k + 1
colonne v1 , . . . , vk+1 di V . Osservando in termini dimensionali si nota che

Z = hv1 , . . . , vk+1 i ∩ hb1 , . . . , bm−k i 6= {0Fn }

perché nello spazio m-dimensionale Fm non ci possono essere m + 1 vettori


linearmente indipendenti. Possiamo quindi prendere un versore z dal sotto-
spazio Z di Fm che può dunque essere espresso come combinazione lineare
delle prime k + 1 colonne di V
k+1
X
z = α1 v1 + · · · + αk+1 vk+1 con |αi |2 = 1.
i=1

Valgono le relazioni:
n
X k+1
X
Az = U ΣV ∗ z = σi ui vi∗ (α1 v1 + · · · + αk+1 vk+1 ) = σi αi ui ,
i=1 i=1

Bz = 0
sicché abbiamo
k+1
X
kA − Bk22 ≥ k(A − B)zk22 = kAzk22 = σi2 |αi |2 u∗i ui ≥
i=1
44 CAPITOLO 4. NORME DI UNA MATRICE

k+1
X
≥ 2
σk+1 |αi |2 = σk+1
2
.
i=1
Se, tra le matrici di rango k, consideriamo ora proprio la Ak si osserva che

kA − Ak k2 = kU ΣV ∗ − U Σk V ∗ k2 = kU (Σ − Σk )V ∗ k2 = kΣ − Σk k2 =
° °
° 0k×k 0k×(r−k) °
° °
° σ 0 0 °
° k+1 °
° ... 0r×(m−r) °
= ° 0(r−k)×k 0 0 ° =
° °
° 0 0 σr °
° °
° 0(n−r)×r 0(n−r)×(m−r) °2
°   °
° σ 0 0 °
° k+1 °
°  ...  °
°  0 0 0 (r+k)×(m−r+k)  °
= °H   K ° = σk+1 ,
°  0 0 σr  °
° °
° 0(n−r+k)×(r+k) 0(n−r+k)×(m−r+k) °
2
dove le matrici H e K, introdotte nell’ultimo passaggio, hanno lo scopo di
scambiare opportunamente le righe e le colonne. Pioché tali matrici sono
ortogonali, esse non alterano la norma spettrale (cfr. la proposizione 4.2.6).
Abbiamo così che il limite inferiore vale σk+1 ed è raggiunto dalla matrice
Ak .
¤
Detto ciò possiamo ora provare che vale il risultato seguente che relaziona il
rango efficace con i valori singolari di una matrice.
Proposizione 4.3.2 Siano A ∈ Fn×m e ² > 0. Allora il valore ρ² (A) secondo
la norma k k2 verifica

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

dove σk e σk+1 sono il k-esimo e il (k + 1)-esimo valore singolare di A


considerati nel loro ordine decrescente.
Per ogni matrice A l’²-rango è dunque dato dalla posizione del più piccolo
valore 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, kA − Bk2 ≤ ².
4.3. RANGO EFFICACE 45

In base alla proposizione 4.3.1 allora

² ≥ kA − Bk2 ≥ kA − Ak k2 = σk+1 .

Dalla definizione 4.3.1 segue inoltre che

∀B : ρ(B) = k − 1 risulta kA − Bk2 > ²;

in particolare scelta B = Ak−1 vale

kA − Bk2 = kA − Ak−1 k2 = σk > ².

(⇐) Viceversa ipotizziamo che σk > ² ≥ σk+1 .


Da ² ≥ σk+1 e conseguentemente alla proposizione 4.2.4 abbiamo che

kA − Ak k2 = σ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 rango
k − 1 si ha
kA − Bk2 ≥ kA − Ak−1 k2 = σ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


· ¸ · ¸
1 −2 ∗ σ1 0
A= = U ΣV = U V∗
3 −1 0 σ2
con s √
15 + 5 5
σ1 = ≈ 3.6180,
2
s √
15 − 5 5
σ2 = ≈ 1.3820.
2
46 CAPITOLO 4. NORME DI UNA MATRICE

Dalla decomposizione in valori singolari si evince subito che i ranghi effettivi


di tale matrice valgono

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

ρ² (A) = 1 se σ2 ≤ ² < σ1 ;
ρ² (A) = 0 se ² ≥ σ1 .
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 e
generale sulla soluzione dei sistemi lineari e la seconda di carattere più pra-
tico sulla compressione delle immagini. Analizzeremo alcune conseguenze di
tali applicazioni.

5.1 Sistemi lineari


Data una matrice A ∈ Fn×m e un vettore b ∈ Fn , possiamo considerare il
sistema lineare
Ax = b
dove x è un vettore indeterminato di Fm . Sappiamo che esistono tre situazioni
che 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 ci
trovassimo 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 ∗ una
sua decomposizione in valori singolari, la matrice
4
A+ = V Σ+ U ∗

47
48 CAPITOLO 5. APPLICAZIONI

con  
1
σ1
0 0
 .. 
4  0 0. 0r×(n−r) 
Σ+ =  
 0 0 σ1r 
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 pseudoinversa


A+ 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à:
· ¸
+ ∗ ∗ + ∗ ∗ Iρ(A) 0
(AA ) = (U ΣV V Σ U ) = (U U ∗ )∗ =
· ¸ 0 0
Iρ(A) 0
= U U ∗ = AA+ ;
0 0
· ¸
+ ∗ + ∗ ∗ ∗ Iρ(A) 0
(A A) = (V Σ U U ΣV ) = (V V ∗ )∗ =
· ¸ 0 0
Iρ(A) 0
= V V ∗ = A+ A.
0 0
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.
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 soluzione


particolare A+ b.

Proposizione 5.1.3 Dato un sistema Ax = b con infinite soluzioni allora


A+ b è quella a norma euclidea minima.
° + °
°A b° = min {kxk : Ax = b} .
2 2

Dimostrazione Sia x un qualsiasi vettore tale che Ax = b. Allora sfruttando


la compatibilità della norma spettrale con la norma euclidea:
° · ¸ °
° + ° ° + ° ° + ° ° I 0 °
°A b° = °A Ax° ≤ °A A° kxk = °U ρ(A)
U ∗°
2 2 2 2 ° 0 0 ° kxk2 =
2
°· ¸°
° Iρ(A) 0 °
=° ° ° kxk = kxk .
0 0 °2 2 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 questo
caso sappiamo non esistere alcuna soluzione del sistema

6 ∃x : Ax = b

cioè per ogni x abbiamo che

Ax − b 6= 0

o, equivalentemente,
kAx − bk2 6= 0.
Consideriamo l’ultima relazione: una soluzione porta ad annullare la norma
della differenza tra i due membri del sistema (meglio nota come distanza
euclidea tra la n-upla Ax e la n-upla b); se un sistema è incompatibile vuol
dire che tale norma non può essere annullata per nessuna m-upla x. Allora
50 CAPITOLO 5. APPLICAZIONI

quello che ci proponiamo di fare è cercare quella m-upla che minimizza tale
norma ossia che più si avvicina a ciò che potrebbe essere una soluzione del
sistema.
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 la


matrice pseudoinversa di A. Vediamo come.
Proposizione 5.1.4 Il problema dei minimi quadrati Ax ≈ b è risolto dalla
m-upla A+ b:
min kAx − bk2 = A+ b.
x

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

kAx − bk2 = kU ΣV ∗ x − bk2 = kU ∗ U ΣV ∗ x − U ∗ bk2 = kΣV ∗ x − U ∗ bk2 .

D’altra parte1

kΣV ∗ x − U ∗ bk22 = |σ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
..
 .
 σ (V ∗ x) − (U ∗ b) = 0
k k k

ovvero
1 ∗
(V ∗ x)i = (U b)i ∀i = 1, . . . , k cioè quando V ∗ x = Σ+ U ∗ b.
σi
Segue immediatamente la tesi.
¤

Esempio 5.1.1 Consideriamo il seguente problema dei minimi quadrati Ax ≈


b:    
1 1 · ¸ 15
 2 2  x1 ≈  15  .
x2
2 2 −30
1
Con le scritture (V ∗ x)i e (U ∗ b)i intendiamo gli i-esimi elementi dei vettori V ∗ x e U ∗ b.
5.2. COMPRESSIONE DELLE IMMAGINI 51

Consideriamo una decomposizione in valori singolari di A:


 1  √ "
− √2 √2 #
3 5 3 5 3 2 0 √1 √1
 
A = U ΣV ∗ =  23 √15 √4
3 5  0 0  √1
2 2
.
2 − √12
3
0 − 3√5 5 0 0 2

Possiamo dunque valutare la pseudoinversa A+ :


· 1 1 1
¸
+ + ∗
A = V Σ U = 18 1
9
1
9
1 .
18 9 9

Abbiamo immediatamente la soluzione al problema


 
· 1 1 1 ¸ 15 · 5 ¸
−6
xmin = A b = 1 1 1  15  =
+ 18 9 9 .
− 56
18 9 9 −30

Nonostante questa coppia di valori risolva il problema dei minimi quadrati


vediamo come essa sia lontana dal risolvere ognuna delle equazioni del sistema
incompatibile di partenza.

5.2 Compressione delle immagini


Un’immagine digitale è una struttura a matrice di n × m elementi fonda-
mentali detti pixel ciascuno dei quali può essere descritto come un piccolo
quadrato monocromatico. Per un’immagine in bianco e nero, qualunque pi-
xel può assumere un livello di luminosità del grigio che può essere messo in
relazione 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 che
possiamo pensare a valori reali.
Grazie a questa corrispondenza tra immagine digitale in bianco e nero con la
relativa matrice numerica, è possibile trattare in modo numerico una qualun-
que immagine digitale. In particolare illustreremo come un’approssimazione
a rango ridotto di una matrice associata ad un’immagine consenta di ridurre
l’informazione necessaria a rappresentare l’immagine senza che la struttura
generale e l’intelligibilità vengano troppo intaccate (come suggerisce [1]).
Prendiamo per esempio l’immagine in figura 5.1. Tale immagine ha una
risoluzione 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
2
Tipicamente viene assunto un valore compreso entro 28 = 256 livelli cosicché ogni
pixel può essere memorizzato in un byte di memoria.
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 un
criterio da stabilire, tale matrice in modo “soddisfacente”.

Figura 5.1: Immagine in formato bitmap

Sul concetto di “approssimazione” possiamo ancora una volta appoggiarci alle


norme matriciali definite nel capitolo precedente. Consideriamo la norma
spettrale: sappiamo che, tra tutte le matrici di rango k, quella a distanza
minima è data dalla Ak , ridotta di ordine k secondo la SVD (proposizione
4.3.1):
min kA − Bk2 = kA − Ak k2 = σk+1 .
B:ρ(B)=k

La matrice Ak può essere espressa come:


k
X £ ¤£ ¤∗
Ak = ui σi vi∗ = σ1 u1 · · · σk uk v1 · · · vk = ΩΨ∗ .
i=1

Dunque la matrice Ω è una matrice n × k contenente le prime k colonne di


U moltiplicate rispettivamente per i primi k valori singolari di A e Ψ è una
matrice 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
5.2. COMPRESSIONE DELLE IMMAGINI 53

quanto guadagniamo. Un parametro che stima questo guadagno è il fattore


di compressione che definiamo come
4 n◦ di byte file compresso
ν= .
n◦ di byte file originale
Tale fattore, per una data classe di matrici in Fn×m , è funzione dunque del
rango k:
(nk)b + (mk)b k(n + m) n+m k k
νk = = =k = +
(nm)b nm nm n 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 sia
inferiore a 1, cioè il file compresso occupi effettivamente meno memoria. Deve
valere allora
mn
νk < 1 cioè k < .
m+n
Vedremo in seguito che in realtà i valori significativi di k sono di molto
inferiori al limite superiore qui imposto.
Di contro abbiamo che questa tecnica fa parte di quella classe di algorit-
mi detti a perdita di informazione 3 ossia ad un certo livello di compressio-
ne dell’immagine corrisponde un allontanamento irreversibile dalla versione
originale. L’immagine compressa può apparire dunque meno dettagliata o
presentarsi più grossolana e imperfetta di come appariva originariamente.
Per stimare questo effetto di approssimazione possiamo fare ricorso ai valori
singolari che in un certo senso quantificano la distanza tra l’immagine di
partenza e quella compressa.
Introdurremo così, in questa trattazione, alcuni fattori che consentono di
poter fare delle valutazioni quantitative. In primo luogo definiamo il fattore
di perdita Pk
4 i=1 σi
ξk = Pρ(A) .
i=1 σi
Anche questo parametro è funzione di k. La somma di tutti i valori singolari
rappresenta la totalità dell’informazione. ξk è dunque un valore compreso
tra 0 e 1. Più ξk è prossimo a 1 maggiore sarà la fedeltà garantita dalla
compressione.
Si dovranno dunque tenere d’occhio due parametri qualora si proceda con una
compressione mediante questa tecnica. Per favorire un’interpretazione più di-
retta dei dati relativi a questo tipo di compressione, introduciamo allora un
3
Lossy algorithms.
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’informazione
il valore
4 νk
Γ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. Dalle
immagini si può constatare che il fattore di perdita dev’essere almeno 0.7
per 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 fa
comunque vedere come si possano raggiungere risultati esteticamente grade-
voli occupando solamente il 18% dello spazio di memoria necessario al file
originale. Dal valore di Γk = 0.2 possiamo infine concludere che la stessa
informazione che il file originale portava in 5 byte può essere portato da un
singolo byte lasciando pressoché inalterata la struttura originale.

Figura k νk ξk Γk byte
5.1 400 / 1 / 20000
5.2 5 0.0225 0.5966 0.0377 450
5.3 10 0.0450 0.6914 0.0651 900
5.4 20 0.0900 0.7789 0.1155 1800
5.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. Se


prendiamo in considerazione immagini digitali a colori, tutto quanto appena
sviluppato può essere esteso tenendo presente che per un’immagine a colori
di n × m pixel sono associate tre matrici numeriche della stessa dimensione
per 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 come
segue
4 (nkR + nkG + nkB )b + (mkR + mkG + mkB )b
ν= =
3(nm)b
µ ¶
kR + kG + kB 1 1
= + ;
3 n m
4
Sigla dall’inglese Red Green Blue ossia rosso, verde e blu.
5.2. COMPRESSIONE DELLE IMMAGINI 55
P PkJ
4 J=R,G,B i=1 σJi
ξ=P Pρ(AJ ) ;
J=R,G,B i=1 σJi

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

Figura 5.2: Compressione a rango 5


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


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 delle
matrici coinvolte qualora siano soggette a perturbazioni. Parleremo di pertur-
bazione quando gli elementi di una matrice A possono subire uno scostamento
relativo di una certa quantità δ; nel problema la matrice di partenza viene
sostituita dalla matrice A + δA che rappresenta la massima perturbazione.
Se x risolve il problema posto con la matrice A e x̃ lo stesso problema con
la matrice A + δA è interessante trovare un valore limite di scostamento tra
x e x̃. Scostamenti e distanze sono sempre valutati con la norma euclidea e
quella spettrale. Introduciamo dunque un parametro caratteristico di ogni
matrice che quantifica la stabilità numerica di una matrice.
Diremo condizionamento numerico riferito alla norma spettrale per una ma-
trice A il valore
4 σmax
κ2 (A) =
σmin
dove σmax e σmin rappresentano rispettivamente il valore singolare massimo
e quello minimo di A.
Vediamo un importante teorema sulla stabilità numerica nel problema dei
minimi quadrati che abbiamo già incontrato nel paragrafo 5.1.

Teorema 1 Consideriamo una matrice A ∈ Fn×m con n ≥ m e a rango


pieno. Supponiamo che x0 risolva il problema dei minimi quadrati Ax ≈ b
e sia r = Ax0 − b il residuo. Supponiamo inoltre che x̃ risolva il problema
perturbato (A + δA)x ≈ (b + δb). Assumendo
½ ¾
kδAk2 kδbk2
² = max ,
kAk2 kbk2

57
58 APPENDICE A. TEORIA DELLE PERTURBAZIONI: CENNI

allora µ ¶
kx̃ − x0 k2 2κ2 (A) 2
≤² + κ2 (A) tan ϑ + o(²)
kx0 k2 cos ϑ
krk2
dove sin ϑ = kbk2
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 condizionamento
numerico 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 proporzionale
a κ22 (A).
Se invece ϑ è prossimo a π2 la soluzione al problema originale tende ad essere
nulla e per quanto κ2 (A) sia piccolo il condizionamento numerico effettivo
tende ad essere illimitato.

Per problemi che non degenerano dunque vediamo come il condizionamen-


to numerico κ2 (A) influenzi la stabilità del problema dei minimi quadrati
soggetto a perturbazioni.
Il condizionamento numerico, per come è definito, è un numero maggiore o
uguale 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 sia
richiesta stabilità numerica.
Per ulteriori osservazioni o considerazioni si veda [1].
Appendice B

Matlab: svdcompression.m

Per simulare la compressione delle immagini mediante la decomposizione in


valori singolari e stimare i parametri ad essa associati abbiamo sviluppato la
funzione 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);
end
x=y;
for j=rank+1:min(m,n),
x=x+S(j,j);
end
else
x=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
60 APPENDICE B. MATLAB: SVDCOMPRESSION.M

y1=y1+S(j,j);
end
x1=y1;
for j=rank+1:min(m,n),
x1=x1+S(j,j);
end
x=x+x1;
y=y+y1;
Bc(:,:,i)=U(:,1:rank)*S(1:rank,1:rank)*V(:,1:rank)’;
end
end
Ac=uint8(Bc);
imwrite(Ac,FileOUT,ext);
Compression_Factor=rank*(n+m)/(n*m)
Loss_Factor=y/x
Compression_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 tale
funzione applicata all’immagine di figura 5.1.
Bibliografia

[1] James W. Demmel


Applied Numerical Linear Algebra
Society for Industrial and Applied Mathematics, 1997.

[2] Gene H. Golub, Charles F. Van Loan


Matrix Computations 3 rd edition
The Johns Hopkins University Press, 1983.

[3] Roger A. Horn, Charles R. Johnson


Matrix Analysis
Cambridge University Press, 1985.

[4] Peter Lancaster, Miron Tismenetsky


The Theory of Matrices 2 nd edition
Accademic Press, 1985.

[5] Ben Noble


Applied Linear Algebra
Prentice Hall, 1969.

[6] Ben Noble, James W. Daniel


Applied Linear Algebra 3 rd edition
Prentice Hall, 1988.

[7] James M. Ortega


Matrix Theory - A second course
Plenum Press, 1987.

[8] Gilbert Strang


Linear Algebra and its Applications 3 rd edition
Harcourt Brace Jovanovich, Publishers, 1993.

61