Sei sulla pagina 1di 17

Nozioni fondamentali di Algebra Lineare e Geometria

Proiettiva per il corso di Visione Computazionale


Andrea Fusiello
Dipartimento di Informatica
Universit`a degli studi di Verona
I-37134 Verona, Italy
17 aprile 2008

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

Definizione 1.1 (Prodotto scalare) Il prodotto scalare di due vettori x e y di Rn si definisce


come:
n
X
hx, yi ,
xi yi
(1)
i=1

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)

Coerentemente con la definizione di angolo:


Definizione 1.2 (Ortogonalit`
a) Due vettori x e y di Rn sono ortogonali se
hx, yi = 0

(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

Una particolare matrice quadrata `e la matrice identit`


a : I = diag(1, 1, . . . , 1). La matrice identit`
a
`e lelemento neutro per il prodotto matriciale: IA = AI = A
Definizione 3.2 (Matrice inversa) Sia A una matrice quadrata. Se esiste una matrice B
tale che AB = BA = I allora B si chiama inversa di A e si denota con A1 .
Propriet`a:
1. Linversa se esiste `e unica.
2. (A1 )T = (AT )1 = AT
3. (AB)1 = B 1 A1
2

Determinante

Definizione 4.1 (Determinante) Sia A una matrice quadrata n n. Il determinante di A,


si definisce (ricorsivamente) nel modo seguente, per un i fissato:
(
P
det(A) = nj=1 aij (1)i+j det(Aij )
det(a) = a

(10)

dove Ai,j `e la sottomatrice di A ottenuta sopprimendo da questa la riga i e la colonna j.


Questa definizione prende anche il nome di espansione di Laplace lungo la riga i. Si poteva
definire analogamente lungo una colonna. La scelta della riga (o della colonna) `e arbitraria.
Per una matrice 2 2:

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)

5. A `e invertibile sse det(A) 6= 0


6. Lo scambio di due righe (o colonne) di A cambia il segno di det(A).
Definizione 4.3 (Matrice singolare) Una matrice A tale che det(A) = 0 si dice singolare.
Per la propriet`a 5, singolare `e sinonimo di non invertibile.
Il determinante `e legato alla nozione di lineare indipendenza di un insieme di vettori.
Definizione 4.4 (Lineare indipendenza) I vettori x1 , . . . , xm di Rn si dicono linearmente
indipendenti se
m
X
i xi = 0 = i : i = 0
(12)
i=1

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

I vettori x1 , . . . , xm di Rn si dicono mutuamente ortogonali se ciascuno `e ortogonale a ciascun


altro. Se i vettori sono tutti unitari, allora si dicono ortonormali
Proposizione 5.1 Se i vettori x1 , . . . , xm sono mutuamente ortogonali allora sono linearmente
indipendenti.
Definizione 5.2 (Matrice ortogonale) Una matrice reale quadrata A si dice ortogonale se
AAT = AT A = I

(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.

Forme lineari e quadratiche

Definizione 6.1 (Matrice simmetrica ed antisimmetrica) Una matrice quadrata A su dice


simmetrica se A = AT , ovvero aij = aji . Si dice antisimmetrica se A = AT .
Siano a Rn , A quadrata n n e B n m.
1. f (x) = aT x `e una forma lineare in x
2. f (x) = xT Ax `e una forma quadratica in x
3. f (x, y) = xT Ay `e una forma bilineare in x e y
Nella forma quadratica possiamo rimpiazzare A con
cambiare il risultato (verificare per esercizio).

A+AT
2

(simmetrica per costruzione) senza

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)

dove le colonne di Q sono ortonormali (`e semi-ortogonale) ed R `e triangolare superiore non


singolare.
Se A `e quadrata, allora Q `e ortogonale.
Definizione 7.5 (Nucleo di una matrice) Sia A una matrice mn. Il suo nucleo, denotato
da ker(A), `e il sottospazio di Rn cos` definito
ker(A) = {x Rn | Ax = 0}
5

(17)

Perche ker(A) `e un sottospazio? Perche


contiene sempre il vettore nullo: A : 0 ker(A) e
`e chiuso per combinazione lineare: x, y ker(A) = , R : x + y ker(A)
(dimostrare per esercizio usando la linearit`a del prodotto matriciale).
Definizione 7.6 (Immagine di una matrice) Sia A una matrice m n. La sua immagine,
denotata da im(A), `e il sottospazio di Rm cos` definito
im(A) = {y Rm | x Rn : Ax = y}

(18)

Osservazione 7.7 Limmagine di A `e il sottospazio generato dalle colonne di A, ovvero i vettori


di im(A) sono tutti e soli combinazione lineare delle colonne di A.
Si vede facilmente grazie al prodotto matriciale a blocchi:

x1

.
Ax = a1 , . . . , an .. = x1 a1 + . . . + xn an
xn

(19)

dove con a1 , . . . , an abbiamo denotato le colonne di A.


Propriet`a.
1. dim(im(A)) = r(A) Deriva dalla osservazione precedente e dalla Prop. 7.3.
2. im(A) = im(AAT )
Il seguente teorema `e molto importante:
Teorema 7.8 (Rango-Nullit`
a) Sia A una matrice m n, allora
n = dim(im(A)) + dim(ker(A))
|
{z
} |
{z
}

(20)

nullit`
a di A

r(A)

Corollario 7.9 Una matrice A ha rango pieno sse ker(A) = {0}.

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)

Sia un autovalore di A, allora det(I A) = 0 = ker(I A)) 6= {0} = x =


6 0 :
(I A)x = 0 o equivalentemente
Ax = x.
(22)
Tale vettore x prende il nome di autovettore di A.
Osservazione 8.2 Una matrice singolare possiede almeno un autovalore nullo. Infatti det(A) =
0 = det(I A) = 0 con = 0
Proposizione 8.3 Una matrice reale simmetrica ha autovalori reali.
6

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

Si dimostra facilmente con la Diagonalizzazione di Schur (esercizio).


Da questo segue inoltre che
p
kAk2 = 1 (ATA).

(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)

Decomposizione ai valori singolari

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)

dove Dr = diag(1 , . . . , r ), Ur `e la matrice m r composta dalle prime r colonne di U e Vr `e


la matrice n r composta dalle prime r colonne di V .
Pr
T
Possiamo riscrivere: A = Ur Dr Vr =
i=1 i ui v i dove ui e v i sono le colonne di U e V
rispettivamente. Ciascuno dei termini della sommatoria `e una matrice di rango 1 (prodotto di
due matrici di rango 1), quindi abbiamo scritto A che ha rango r come somma pesata con
pesi pari ai valori singolari corrispondenti di r matrici di rango 1.
8

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)

dove Dk = diag(1 , . . . , k , 0, . . . , 0). Inoltre kA Ak kF = k+1


| {z }
rk

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)

`e x = v n dove v n `e lultima colonna di V nella decomposizione ai valori singolari di A: U T AV =


D.
Dim. minkxk=1 kAxk2 = minkxk=1 kU DV T xk2 = minkxk=1 kDV T xk2 = minkyk=1 kDyk2 dopo
aver effettuato il cambio di
y = V T x (ricordiamo che V `e ortogonale). La funzione
P variabile
obiettivo dunque diventa (i yi )2 Poiche i valori singolari in D sono ordinati, la soluzione di
minor costo, non potendo prendere y = 0 `e y = [0, . . . , 0, 1]T , dunque x = v n .
Proposizione 9.10 (Analisi Procustiana Ortogonale) Date due matrici A e B, la soluzione
del problema
min kA W Bk2F
(35)
W T W =I

`e W = V U T dove BAT = U DV T la SVD di BAT .


9

Un caso particolare di questo problema si ha quando B = I. In tal caso si tratta di trovare la


matrice ortogonale pi`
u vicina alla matrice A data, ovvero:
min kA W k2F

W T W =I

(36)

La soluzione equivale a sostituire la matrice D con lidentit`


a nella SVD di A.

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)

agisce come il prodotto esterno per a, ovvero: [a] b = a b.


La matrice [a] `e antisimmetrica, singolare, e ker([a] ) = a, poiche [a] a = a a = 0.
Proposizione 10.4 (Prodotto triplo) Dati tre vettori a, b, c R3 , si ha
det([a, b, c]) = aT (b c) = (a b)T c.

(39)

Il termine destro dellequazione prende anche il nome di prodotto triplo di a, b, c


La dimostrazione segue immediatamente usando lespansione di Laplace e la definizione del
prodotto esterno (esercizio).
Il prodotto triplo (come il determinante) serve per controllare se tre vettori sono linearmente
dipendenti.
Proposizione 10.5 (Formula di Lagrange) Dati quattro vettori a, b, c, d R3 , si ha
(a b)T (c d) = (cT a)(bT d) (dT a)(bT c)
10

(40)

Proposizione 10.6 (Equazione vettoriale) Dati tre vettori a, b, c R3 tali che aT (b c) =


0 i due scalari , tali che
c = a b
(41)
si calcolano con:
=

(c b)T (a b)
.
ka bk2

(42)

La formula per `e analoga.


Dim. Lipotesi aT (b c) = 0 garantisce lesistenza della soluzione, poich`e uno dei vettori
e combinazione lineare degli altri due. Per quanto riguarda la formula (42), si ha: c b =
a b b b = a b = (c b)(a b) = (a b)(a b) = tesi.
Si dimostra anche (v. [2]) che la formula (42) risolve anche il problema di minimi quadrati:
min ka b ck2

(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

Let A be a m n matrix and B a p q matrix. The Kronecker product of A and B is the


mp nq matrix defined by

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

Dim. Let A = SLS 1 and B = T M T 1 be the Schurs decomposition of A and B respectively,


where L and M are upper triangular matrices whose diagonal elements are the eigenvalues of A
and B respectively. Thus,
A B = (SLS 1 ) (T M T 1 ) = (S T )(L M )(S 1 T 1 ).

(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)

for matrices A, B, X of compatible dimensions. This will be useful for


pulling the unknown X out of a matrix equation;
expressing bilinear (and multilinear) forms.
Sometimes, when dealing with symmetric matrices, one wants to vectorize only its unique elements. The half-vectorization, vech(A), of a symmetric nn matrix A is the n(n+1)/21 column
vector obtained by vectorizing only the lower triangular part of A. The duplication matrix Dn is
the unique n2 n(n +1)/2 matrix which, transforms vech(A) into vec(A): Dn vech(A) = vec(A).

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)

= A. The m-wise vector transposition reshapes the column vector


Hence, vec(A)(m) = A(m)
vec(A) back into the matrix A.
12

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.


Figura 1: Proiezione prospettica di un piano di terra G ortogonale al quadro R. Le linee h ed


f sono casi speciali.

Definizione 12.1 (Proiezione prospettica) La proiezione prospettica porta punti M dello


spazio 3D sul piano R piano immagine o quadro intersecando la retta che passa per M e C
centro di proiezione con R.
Gli elementi fondamentali sono il piano R ed il centro di proiezione C. Le rette dello spazio
vengono mappate in rette in R. Se consideriamo ora la proiezione di un piano G ortogonale ad
R (piano di terra) constatiamo che
la retta f determinata dalla intersezione del piano G con il piano parallo a R e contenente
C non si proietta su R;
la retta h intersezione di R con il piano parallelo a G e passante per C non `e la proiezione
di alcuna retta del piano G.
Questa situazione non `e soddisfacente. Per ovviare si aggiunge al piano Euclideo (che modella
R e G) una retta ideale, chiamata retta allinfinito.
Si pu`o allora dire che f si proietta sulla retta allinfinito di R e che h `e la proiezione della
retta allinfinito di G. Possiamo pensare alla retta allinfinito di un piano come il luogo dove si
incontrano (metaforicamente) le rette parallele di quel piano. Infatti:
Osservazione 12.2 Con riferimento alla Fig. 1, le immagini di rette parallele in G si intersecano in un punto di h.
Vediamo, p.es., il caso speciale di rette ortogonali a G (chiamate linee di profondit`a nella
costruzione Albertiana). La loro immagine prospettica converge al punto centrico O, cio`e la
proiezione ortogonale di C su R (che h). Infatti, i piani contenenti C e qualunque linea di
profondit`a passano tutti per la semiretta uscente da C e parallela a G, chiamata raggio principale,
e quindi intersecano il quadro R in una linea che passa per il punto centrico O (v. Fig. 2)
13

Figura 2: La linea di profondit`a contenente M si proietta su una retta contenente P e passante


per il punto centrico O.
Definizione 12.3 (Piano proiettivo) Il piano proiettivo P2 si definisce come lunione del
piano Euclideo R2 con la retta allinfinito l :
P2 = R2 l

(52)

Analogamente si pu`o definire lo spazio proiettivo Pn . In Pn i punti allinfinito costituiscono un


iperpiano.
Nel piano proiettivo due linee hanno un punto di intersezione anche quando sono parallele, ma
il punto `e allinfinito. Ogni retta, quindi, possiede un punto allinfinito a cui ci si avvicina
viaggiando lunga la retta in una certa direzione, e tutte le rette ad essa parallele la incontrano
in quel punto. Per ora il termine punto allinfinito `e solo una metafora, ma possiamo dargli
un significato matematico preciso. Un modo per farlo `e identificare i punti allinfinito con la
direzione assoluta di una retta. Consideriamo le seguenti tre propriet`a delle rette:
(i) esiste ununica retta passante per due punti distinti;
(ii) esiste ununica retta passante per un punto ed avente una direzione data;
(iii) due rette distinte hanno un unico punto in comune oppure hanno la stessa direzione.
Se ci accordiamo di sostituire direzione con punto allinfinito e poi raggruppiamo tutti i
punti allinfinito in un retta allinfinito otteniamo che le precedenti tre propriet`a equivalgono a:
(i) esiste ununica retta passante per due punti distinti;
(ii) due rette distinte hanno un unico punto in comune;
Questi sono i due lassiomi di incidenza nel piano proiettivo. Laspetto importante di questi due
assiomi `e che sono duali.

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

Equazione della retta

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)

Dim. x = p1 + p2 det([x, p1 , p2 ]) = 0 xT (p1 p2 ) = 0.


Ponendo = / e accettando la convenzione che p1 + p2 = p2 quando = , la retta l ha
equazione parametrica
l = {x P2 | x = p1 + p2 ,

12.3

R {}}.

(56)

Trasformazioni

Definizione 12.7 (Proiettivit`


a) Una proiettivit`
a o trasformazione proiettiva f : Pn Pn `e
una applicazione lineare in coordinate omogenee:
f : x Hx

(57)

dove H `e una matrice (n + 1) (n + 1) non singolare.


Le proiettivit`a prendono anche il nome di omografie o collineazioni (in quanto preservano la
collinearit`a dei punti). Le proiettivit`a formano un gruppo, che indichiamo con GP .
Definizione 12.8 (Affinit`
a) Le proiettivit`
a che trasformano punti effettivi in punti effettivi e
punti ideali in punti ideali si chiamano affinit`
a o trasformazioni affini.
Si pu`o dire, alternativamente, che una affinit`a preserva i punti delliperpiano allinfinito. Le
affinit`a formano un sottogruppo di GP . A causa della rappresentazione omogenea dei punti, le
due matrici H e H con R, 6= 0 rappresentano la stessa proiettivit`a.
La proiezione prospettica del piano G definita in precedenza `e una proiettivit`a di P2 (abbiamo
introdotto G proprio per rendere biunivoca lapplicazione!)
Proposizione 12.9 Le affinit`
a sono tutte e sole le proiettivit`
a in cui

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)

Lazione della similarit`a nello spazio Euclideo Rn si pu`o scrivere come:


cRnn x
+t
x

(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

H1,1 H1,2 H1,3


H2,1 H2,2 H2,3
H3,1 H3,2 H3,3

collinearit`
a

H1,1 H1,2 H1,3


H2,1 H2,2 H2,3
0
0
1

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

Potrebbero piacerti anche