Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Questo documento elenca una serie di risultati utili per il corso di Visione Computazionale. Per
una trattazione sistematica consultare [6] per lAlgebra Lineare e [5] per la Geometria Proiettiva.
Prodotto scalare
Si denota anche con x y. Il prodotto scalare `e commutativo, ovvero hx, yi = hy, xi. Il prodotto
scalare induce la norma Euclidea:
p
(2)
kxk2 , hx, xi.
Geometricamente, la norma rappresenta la lunghezza del vettore. Se y `e unitario, ovvero kyk2 =
1, allora hx, yi rapresenta la lunghezza della proiezione di x lungo la direzione di x. Langolo
tra due vettori x e y si definisce come
= arccos
hx, yi
kxk2 kxk2
(3)
(4)
Trattando, cosa che faremo nel seguito, i vettori come matrici formate da una sola colonna,
possiamo scrivere il prodotto scalare usando il prodotto matriciale e la trasposizione (apice T ):
hx, yi = xT y = y T x
1
(5)
Norma matriciale
La norma vettoriale Euclidea induce naturalmente una norma matriciale Euclidea nel seguente
modo (vale in generale per qualunque norma):
kAxk2
kxk2 1 kxk2
kAk2 , sup
(6)
Vedremo in seguito, parlando di autovalori, una propriet`a che consente di calcolare questa norma.
Esiste un altro modo di generalizzare la norma Euclidea alle matrici, che parte da un prodotto
scalare sulle matrici che generalizza quello definito per i vettori.
Si definisca il seguente prodotto scalare tra due matrici A e B:
X
ai,j bi,j
(7)
hA, Bi , tr(AT B) =
i,j
il quale si riduce al prodotto scalare tra vettori precedentemente definito nel caso in cui le due
matrici siano composte da una sola colonna. La corrispondente norma indotta prende il nome
di norma di Frobenius:
Definizione 2.1 (Norma di Frobenius) Data una matrice A, la sua norma di Frobenius si
definisce come:
sX
q
T
kAkF = tr(A A) =
a2i,j
(8)
i,j
Nel caso particolare in cui la matrice sia un vettore, le due norme coincidono: kxkF =
kxk2
qP
2
i ai
Matrice inversa
Definizione 3.1 (Matrice quadrata) Una matrice A si dice quadrata se ha lo stesso numero
di righe e di colonne.
Una matrice quadrata in cui tutti gli elementi al di sotto (o sopra) della diagonale sono nulli si
dice triangolare.
Una matrice quadrata in cui tutti gli elementi diversi dalla diagonale sono nulli si dice diagonale:
a1 0 0 . . . 0
0 a2 0 . . . 0
(9)
diag(a1 , . . . an ) = I = .
.. .. . .
..
..
.
. .
.
0
0 ...
an
Determinante
(10)
a1,1 a1,2
= a1,1 a2,2 a1,2 a2,1
(11)
det
a2,1 a2,2
Esercizio 4.2 Il determinante di una matrice triangolare `e il prodotto degli elementi diagonali.
Propriet`a:
1. det(AB) = det(A) det(B)
2. det(A) = n det(A) con R
3. det(I) = 1
4. det(A1 ) =
1
det(A)
Se i vettori non sono linearmente indipendenti allora (almeno) uno di essi `e combinazione lineare
degli altri.
Proposizione 4.5 I vettori x1 , . . . , xn di Rn sono linearmente indipendenti sse
det(x1 , . . . , xn ]) 6= 0
3
(13)
Matrici ortogonali
(14)
Dunque per una matrice ortogonale la trasposta coincide con linversa. Inoltre segue dalla
definizione che se A `e ortogonale, le sue colonne (o righe) sono vettori unitari mutuamente
ortogonali (ovvero ortonormali).
Osservazione 5.3 Un matrice rettangolare B pu`
o soddisfare B T B = I oppure BB T = I (ma
non entrambe). Vuol dire che le sue colonne o le sue righe sono vettori ortonormali. Si chiama
in tal caso semi-ortogonale.
Propriet`a. Se A `e ortogonale, allora
1. det(A) = 1
2. kAxk = kxk
La seconda propriet`a vuol dire che lapplicazione di una matrice ortogonale ad un vettore non
ne altera la lunghezza. Infatti, Le matrici ortogonali sono il prodotto di una rotazione ed una
riflessione speculare. In particolare, quelle con determinante positivo sono una pura rotazione,
mentre se il determinante `e negativo `e presente la riflessione speculare.
A+AT
2
Definizione 6.2 (Matrice definita positiva) Una matrice simmetrica A si dice definita positiva se x 6= 0 : xT Ax > 0. Si dice semidefinita positiva se x : xT Ax 0
Propriet`a. Siano A quadrata n n e B n m.
1. BB T e B T B sono semidefinite positive per costruzione
4
2. x : Bx = 0 B = 0
3. x : xT Ax = 0 A `e antisimmetrica
4. x : xT Ax = 0 A `e simmetrica A = 0 .
Il punto 4 deriva dal fatto che la matrice nulla `e lunica contemporaneamente simmetrica ed
antisimmetrica.
Teorema 6.3 (Cholesky) Una matrice A semidefinita positiva pu`
o essere decomposta in modo
unico come
A = KK T
(15)
dove K `e una matrice triangolare superiore con diagonale positiva.
Rango
Definizione 7.1 (Determinante di ordine q) Sia A una matrice m n. Chiamiamo determinante di ordine q estratto da A il determinante di una sottomatrice quadrata di A ordine
q.
Definizione 7.2 (Rango di una matrice) Il rango di una matrice A m n `e il massimo
numero r tale che tutti i determinanti di ordine r estratti da A sono non nulli, e si indica con
r(A).
Propriet`a.
1. r(A) min(m, n). Se r(A) = min(m, n) si dice che A possiede rango pieno.
2. Se A `e quadrata, ha rango pieno det(A) 6= 0
3. r(A) = r(AT ) = r(AAT ) = r(AT A)
4. Il rango non cambia se si scambiano due righe (o colonne).
5. Se B `e quadrata non singolare r(AB) = r(A)
6. In generale r(AB) min(r(A), r(B))
Proposizione 7.3 Sia A una matrice m n. Il suo rango `e pari al numero di colonne o righe
linearmente indipendenti che contiene.
Teorema 7.4 (Decomposizione QR) Sia A una matrice m n con colonne linearmente
indipendenti. Allora pu`
o essere fattorizzata come
A = QR
(16)
(17)
(18)
.
Ax = a1 , . . . , an .. = x1 a1 + . . . + xn an
xn
(19)
(20)
nullit`
a di A
r(A)
Autovalori ed autovettori
Definizione 8.1 (Autovalori) Sia A una matrice n n. Gli autovalori di A sono le radici
del polinomio in (polinomio caratteristico):
det(I A) = 0.
(21)
Proposizione 8.4 Una matrice `e definita positiva sse tutti gli autovalori sono positivi.
Proposizione 8.5 Una matrice ortogonale ha autovalori di modulo unitario.
Propriet`a. Siano 1 , . . . , n gli autovalori della matrice A n n. Allora:
tr(A) =
det(A) =
n
X
i=1
n
Y
(23)
(24)
i=1
Teorema 8.6 (Decomposizione di Schur) 1 Sia A una matrice n n. Esiste una matrice
S n n invertibile ed uma matrice triangolare superiore M i cui elementi diagonali sono gli
autovalori di A, taliche
S 1 AS = M
(25)
Il seguente teorema `e un caso particolare del precedente:
Teorema 8.7 (Diagonalizzazione di Schur) Sia A una matrice n n reale simmetrica con
autovalori 1 , . . . , n . Allora esiste una matrice diagonale = diag(1 , . . . , n ) ed una matrice
ortogonale S n n le cui colonne sono gli autovettori di A, tali che:
S T AS =
(26)
Proposizione 8.8 Sia A una matrice n n reale simmetrica con autovalori 1 , . . . , n ordinati
dal pi`
u grande al pi`
u piccolo. Allora
n
xT Ax
1
xT x
(27)
(28)
Proposizione 8.9 (Matrici simili) Sia A una matrice n n e G una matrice n n non
singolare, allora G1 AG ha gli stessi autovalori di A. G ed A si dicono simili.
Proposizione 8.10 Sia A una matrice nn reale simmetrica con autovalori 1 , . . . , n ordinati
dal pi`
u grande al pi`
u piccolo. Allora
n
xT Ax
1
xT x
(29)
Teorema 9.1 (Decomposizione ai valori singolari) Sia A una matrice m n. Esiste una
matrice D m n con elementi diagonali positivi 1 2 dotscn 0 ed elementi nulli altrove
(se fosse quadrata sarebbe diagonale), una matrice U m m ortogonale ed una matrice V n n
ortogonale tali che:
U T AV = D
(30)
Gli elementi diagonali di D prendono il nome di valori singolari.
1
Questa `e una versione debole del teorema. La versione forte, dice che S `e unitaria.
Come preciseremo meglio nel seguito, la decomposizione ai valori singolari (SVD) `e cugina della
diagonalizzazione, ed i valori songolari sono cugini degli autovalori.
La seguente proposizione giustifica limportanza della SVD.
Proposizione 9.2 (Nucleo ed immagine della matrice) Sia A una matrice m n e sia
U T AV = D la sua decomposizione ai valori singolari. Le colonne di U corrispondenti ai valori
singolari non nulli sono una base per im(A), mentre le colonne di V corrispondenti ai valori
singolari nulli sono una base per ker(A).
Confrontare questo risultato con il Teorema 7.8.
La proposizione precedente fornisce, tramite la SVD, un algoritmo per determninare ker(A)
ed im(A). Si potrebbe obiettare che questultimo `e generato dalle colonne di A, quindi la
decomposizione `e inutile. La risposta `e che le colonne di A non sono una base.
Osservazione 9.3 Il numero di valori singolari non nulli `e pari al rango della matrice.
Osservazione 9.4 Se A `e una matrice quadrata, det(A) 6= 0 1 , . . . , n 6= 0.
Pi`
u nello specifico, il valore n1 indica in che misura la matrice `e prossima alla singolarit`a. Se
c (dove `e lepsilon macchina) la matrice A `e malcondizionata, ovvero `e singolare agli effetti
pratici.
La seguente Proposizione precisa la parentela con la diagonalizzazione.
Proposizione 9.5 Sia A una matrice m n e siano 1 , . . . , r i suoi valori singolari non nulli.
Allora 12 , . . . , r2 sono gli autovalori non nulli di AT A e di AAT . Le colonne di U sono gli
autovettori di AAT , le colonne di V sono gli autovettori di AT A.
Dim. AT A = V DT U U T DV T = V (DT D)V T . Questa `e la diagonalizzaziopne di Schur di AT A
(`e simmetrica per costruzione, dunque soddisfa le ipotesi del Teorema 8.7.) quindi la matrice
diagonale (DT D) contiene gli autovalori di AT A e le colonne di V sono i suoi autovettori.
Proposizione 9.6 (SVD compatta) Sia A una matrice m n e sia U T AV = D la sua
decomposizione ai valori singolari. Siano 1 , . . . , r i suoi valori singolari non nulli. Allora
A = Ur Dr Vr
(31)
Dunque se volessi ottenere una approssimazione di A rango inferiore sembrerebbe sensato annullare il termine meno pesante, ovvero quello corrispondente a n . Questa intuizione sar`a
precisata nella prossima Proposizione. Prima per`o osserviamo che:
qP
2
Osservazione 9.7 kAkF =
i i .
Segue dalla definizione di norma di Frobenius dalla Eq.(23) e dalla Prop. 9.5 (esercizio).
Proposizione 9.8 (Approssimazione di rango inferiore) Sia A una matrice mn di rango r e sia A = Ur Dr Vr la sua decomposizione ai valori singolari compatta. La matrice di rango
k < r pi`
u prossima ad A in norma di Frobenius `e la matrice Ak definita come:
Ak = Ur Dk Vr
(32)
Si osservi che Ak =
Pk
T
i=1 i ui v i .
Un impiego primario per la SVD nel nostro corso sar`a la soluzione di sistemi omogenei di
equazioni lineari. Consideriamo il sistema Ax = 0. Si hanno due casi:
r(A) `e pieno, quindi ker(A) = {0} ovvero esiste la sola soluzione banale x = 0
r(A) non `e pieno, quindi dim(ker(A)) 6= 0, ovvero il sistema ha soluzioni non banali.
Nella pratica si presenta spesso il caso in cui A possiede rango pieno, quindi a rigore non
ci sono soluzioni 6= 0 , ma questo `e dovuto in effetti agli errori di misura o rumore (es. punti
quasi allineati). In questi casi cerchiamo allora una soluzione approssimata non banale, ovvero
risolviamo il problema di minimi quadrati:
min kAxk2
kxk=1
(33)
Il vincolo viene posto per evitare la soluzione x = 0 ed il valore 1 `e del tutto arbitrario, poich`e
se x `e una soluzione, anche x R lo `e.
Proposizione 9.9 (Soluzione ai minimi quadrati di un sistema di equazioni omogenee)
Sia A una matrice m n. La soluzione del problema
min kAxk2
kxk=1
(34)
W T W =I
(36)
10
Prodotto esterno
Si tratta di un prodotto tra due vettori che restuisce un vettore, e si definisce solo in R3 .
Definizione 10.1 (Prodotto esterno) Il prodotto esterno di due vettori a, b R3 si definisce
come il vettore:
a2 a3
det
b2 b3
a1 a3
(37)
ab=
det b1 b3
a1 a2
det
b1 b2
Il prodotto esterno serve (tra le altre cose) per controllare se due vettori differiscono solo per
una costante moltiplicativa:
Osservazione 10.2 Dati due vettori a, b R3 , a, b, 6= 0 si ha: a b = 0 a = b, R.
Infatti, lipotesi `e equivalente a dire che tutti i minori di ordine 2 della matrice [a, b] sono nulli,
quindi essa ha rango 1, quindi segue la tesi, e viceversa.
Il prodotto esterno `e associato naturalmente ad una matrice antisimmetrica:
Osservazione 10.3 Dato un vettore a R3 , la matrice
0
a3 a2
0
a1
[a] , a3
a2 a1
0
(38)
(39)
(40)
(c b)T (a b)
.
ka bk2
(42)
(43)
quando aT (b c) 6= 0.
11
Kronecker product
This section develops some matrix tools related to the Kronecker product that will prove useful
in the rest of the paper. Further readings on this topic are [1, 3].
11.1
Kronecker product
a11 B . . . a1n B
.. .
A B = ...
(44)
.
am1 B . . . amn B
The Kronecker product is defined for any pair of matrices A and B.
Propriet`a (sussistono ove le dimemsioni delle matrici siano compatibili):
1. (A B) C = A (B C)
2. (A + B) (C + D) = A C + A D + B C + B D
3. (A B)(C D) = AC DB
4. (A B)T = AT B T
5. (A B)1 = A1 B 1
Il prodotto di Kronecker non `e commutativo.
A very important property concerns the eigenvalues of the Kronecker product.
Proposizione 11.1 Sia A una matrice con autovalori 1 , . . . , n e sia B una matrice con autovalori 1 , . . . , m . Allora la matrice A B possiede mn autovalori: i j (i = 1, . . . n; j =
1, . . . , m)
11
(45)
Since A B and L M are similar, they have the same eigenvalues, that are the diagonal
elements of L M , beacause it is upper triangular. Hence the thesis follows.
An immediate consequence of this Theorem is that
r(A B) = r(A) r(B).
11.2
(46)
Vectorization
The vectorization of a matrix is a linear transformation which converts the matrix into a column
vector. Specifically, the vectorization of the matrix A, denoted by vec(A), is the vector obtained
by stacking the columns of A one underneath the other.
The basic connection between the vec operator and the Kronecker product is
vec(abT ) = b a
(47)
for any column vectors a and b. The generalization of this is the following important property:
vec(AXB) = (B T A) vec(X)
(48)
11.3
Vector transposition
The vector transposition generalizes both vectorization and transposition [4]. The p-wise vectortransposition of a m n matrix A, denoted by A(p) , is obtained by doing a block-transposition
of A where blocks are column vectors of p elements (p must divide m, the number of rows of A).
Basic properties are:
A(1) = AT
(m)
A(p)
(p)
(49)
= vec(A)
(50)
=A
(51)
(m)
12
Geometria proiettiva
Per giustificare limpiego della Geometria Proiettiva e dunque delle coordinate omogenee nello
studio della Visione Computaizonale partiamo da un approccio storico. Studiamo, come fece
Leon Battista Alberti nel De Pictura, la proiezione prospettica di un piano. La proiezione
prospettica `e il tipo di proiezione che nellocchio dei vertebrati e nelle fotocamere governa la
formazione dellimmagine.
(52)
12.1
Coordinate omogenee
I punti allinfinito sono punti ideali che vengono aggiunti allusuale piano Euclideo. Come i punti
complessi, che vengono introdotti per mezzo della loro rappresentazione algebrica, lo stesso si
pu`o fare per i punti allinfinito, usando le coordinate omogenee.
14
Fissati due assi di riferimento, tutti i punti di R2 ammettono un unica rappresentazione come
coppia di numeri reali (x, y). Due rette di equazioni ax + by + c = 0 e a0 x + b0 y + c0 = 0 si
incontrano, se non sono parallele, nel punto di R2 di coordinate (regola di Cramer)
cb
ac
det
det
c0 b0
a0 c0
x=
y=
(53)
ab
ab
det
det
a0 b0
a0 b0
Quando le rette sono parallele la quanti`
a al denominatore si annulla, per cui non possiamo
dare un significato al rapporto (diventa infinito). Notiamo per`o che, delle tre quantit`
a che
compaiono nella Eq. (53) almeno una `e diversa da zero (se le rette sono distinte). Proponiamo
allora di tenere queste tre quantit`a come rappresentazione dei punti di P2 .
In sostanza, invece di rappresentare i punti del piano tramite coppie di coordinate (x, y), ci
accordiamo di rappresentarli con terne di coordinate omogenee (u, v, w), collegate alle coordinate
di R2 dalla relazione x = u/w e y = v/w.
Notiamo che terne proporzionali rappresentano lo stesso punto per questo si chiamano omogenee e che la terna (0, 0, 0) `e esclusa. Quando w 6= 0 la terna rappresenta un punto effettivo,
mentre ogni terna per cui w = 0 rappresenta un punto allinfinito.
Definizione 12.4 (Piano proiettivo) Il piano proiettivo P2 consiste delle terne di numeri
reali (u, v, w) 6= (0, 0, 0) modulo la seguente relazione di equivalenza: (u, v, w) (u, v, w) 6=
0. La terna (u, v, w) sono le coordinate omogenee del punto di P2 .
Analogamente si pu`o definire lo spazio proiettivo Pn .
12.2
Nel familiare sistema di riferimento Cartesiano nel piano Euclideo, ciascuna coppia di numeri
identifica un punto, e, viceversa, ogni punto `e rappresentato da una sola coppia. Questo non
`e vero per le rette: una equazione lineare ax + by + c = 0 con a e b non contemporaneamente
nulli, rappresenta una retta, ma la stessa retta `e rappresentata da una classe di equazione lineari
ax + by + c = 0, 6= 0.
Una equazione omogenea lineare au + bv + cw = 0 rappresenta una retta di P2 . Questa coincide
con la retta effettiva ax + by + c = 0 se a 6= 0 b 6= 0. Altrimenti, lequazione w = 0 rappresenta
la retta (ideale) allinfinito .
Una retta nel piano proiettivo `e rappresentata da una terna di numeri (a, b, c), modulo lequivalenza, come un punto di P2 . Nel piano proiettivo punti e rette sono elementi duali.
Confondendo le terne con i vettori di R3 , lequazione della retta au + bv + cw = 0 si pu`o scrivere
xT y = 0.
(54)
dove x = [u, v, w]T e y = [a, b, c]T Si noti la simmetria tra il ruolo del vettore che rappresenta
la retta e quello che rappresenta il punto.
Proposizione 12.5 La retta passante per due punti distinti p1 e p2 `e rappresentata dalla terna
p1 p2 .
T
Dim. La retta passa per entrambe i punti, infatti: pT
1 (p1 p2 ) = 0 e p2 (p1 p2 ) = 0.
Per quanto riguarda il punto determinato da due rette vale la proposizione duale, che si pu`o
anche dedurre direttamente dalla Eq. (53) (esercizio).
15
Proposizione 12.6 La retta l passante per due punti distinti p1 e p2 ha equazione parametrica:
l = {x P2 | x = p1 + p2 ,
, R+ }
(55)
12.3
R {}}.
(56)
Trasformazioni
(57)
Ann b
H=
0
1
(58)
Nelliperpiano allinfinito giace una conica speciale, la conica assoluta che ha equazione x21 +
x22 + . . . + x2n = 0 xn+1 = 0.
Definizione 12.10 (Similarit`
a) Le proiettivit`
a che preservano la conica assoluta si chiamano
similarit`
a.
Le similarit`a formano un sottogruppo di GP .
Proposizione 12.11 Le similarit`
a sono tutte e sole le proiettivit`
a in cui
sRnn t
H=
0
1
dove Rnn `e ortogonale ed s `e uno scalare.
16
(59)
(60)
dove x = [
x, 1]T .
Nel caso speciale c = 1 si ottiene una trasformazione rigida o Euclidea.
Il seguente specchietto riassume la gerarchia di trasformazioni, nel caso di P2 .
Trasformazione
Proiettivit`a
Affinit`a
G.d.l.
Matrice
collinearit`
a
parallelismo
Similarit`a
Euclidea
Distorsione
Preserva
sR t
0 1
R t
0 1
angoli
lunghezza
Riferimenti bibliografici
[1] R.A. Horn and C.R. Johnson. Topics in Matrix Analysis. Cambridge University Press, 1994.
[2] K. Kanatani. Geometric Computation for Machine Vision. Oxford University Press, 1993.
[3] J. R. Magnus and H. Neudecker. Matrix Differential Calculus with Applications in Statistics
and Econometrics. John Wiley & Sons, revised edition, 1999.
[4] Thomas Minka. Old and new matrix algebra useful for statistics. MIT Media Lab note,
2000. http://research.microsoft.com/ minka/papers/matrix/.
[5] J. G. Semple and G. T. Kneebone. Algebraic projective geometry. Oxford University Press,
1952.
[6] Gilbert Strang. Linear Algebra and its applications. Harcourt Brace & Co., 1988.
17