Anda di halaman 1dari 9

Prof.

Isabel Matos & Jos Amaral ALGA A31 - 1 15-05-2008



Figura 31.1



















31. Decomposio em valores singulares.
31.1. Valores singulares.
Dada uma matriz A, n m , a matriz A A
T
, n n , uma matriz simtrica com n
valores prprios reais no negativos, iguais ou distintos,
1
,
2
, ,
n
.
Designam-se por valores singulares da matriz A as n razes quadradas dos valores
prprios da matriz A A
T
,
i i
= .
Exemplo
1. Dada a matriz rectangular, 2 3 ,

=
2 0
2 0
0 1
A
temos

=
4 0
0 1
2 0
2 0
0 1
2 2 0
0 0 1
A A
T

A matriz A A
T
tem 2 = n valores prprios, razes do polinmio
caracterstico ) 4 )( 1 ( ) ( = p , 4
1
= e 1
2
= , pelo que a
matriz A tem valores singulares
2
1 1
= =
e
1
2 2
= =
Na figuras 31.1 e 31.2 mostra-se, respectivamente, um conjunto de
versores objecto, com extremidades sobre a circunferncia de raio
T P I C O S
Valores singulares.
Decomposio em valores singulares.
Interpretao geomtrica.
SVD e os 4 espaos fundamentais de uma matriz.





AULA 31
Note bem: a leitura destes apontamentos no
dispensa de modo algum a leitura atenta da
bibliografia principal da cadeira

Chama-se a ateno para a importncia do
trabalho pessoal a realizar pelo aluno resolvendo
os problemas apresentados na bibliografia, sem
consulta prvia das solues propostas, anlise
comparativa entre as suas resposta e a respostas
propostas, e posterior exposio junto do docente
de todas as dvidas associadas.
D E C O M P O S I O E M V A L O R E S S I N G U L A R E S A L G E B R A L I N E A R

Prof. Isabel Matos & Jos Amaral ALGA A31 - 2 15-05-2008

Figura 31.2
unitrio, em
2
, e os respectivos vectores imagem, em
3
,
resultantes da transformao linear
2 3
: T a que a matriz
A est associada, que constituem um conjunto de vectores com
extremidade sobre uma elipse em
3
.
A matriz A A
T
tem vectores prprios de norma unitria
[ ]
T
1 0
1
= v e [ ]
T
0 1
2
= v , assinalados a preto na figura 31.1.
As suas imagens, assinaladas a preto na figura 31.2, esto sobre os
eixos da elipse, e so vectores de comprimento 2
1
= e 1
2
= .
Na verdade, considerando um valor prprio da matriz A A
T
, , e
o correspondente vector prprio de norma unitria v, temos, em
geral
= = = = =
= = = =
2
2
) ( ) (
) ( ) ( ) ( ) ( ) (
v v v v v v v
Av A v Av A v Av Av Av Av Av
T T
T T T T T

e, portanto, os vectores imagem dos vectores prprios de norma unitria tm
comprimento igual ao valor singular associado
= = = Av w
31.2. Decomposio em valores singulares (SVD).
Vimos que uma matriz quadrada A, n n , diagonalizvel,
1
= PDP A , sse
possui n vectores prprios linearmente independentes, sendo P a matriz dos vectores
prprios e D a matriz diagonal dos valores prprios da matriz A, escritos por ordem
correspondente de D.
Vimos tambm que, se A for uma matriz simtrica diagonalizvel,
T
QDQ A = ,
por uma matriz ortogonal Q, obtida a partir dos vectores prprios de A.
Tem-se que toda a matriz A, n m , factorizvel na forma
T
V U A =
, chamada decomposio em valores singulares da matriz A, sendo V uma
matriz ortogonal n n , construda a partir de um conjunto ortonormado de vectores
prprios da matriz A A
T
, { }
n
v v , ,
1
, U uma matriz ortogonal m m , cujos
elementos so determinados por
i
i
i
Av u

=
1

, e, tendo A r valores singulares no nulos, uma matriz n m da forma
r m
r
r n r

0 0
0 0
0 0
0 0
0 0
0 0
D
, em que

=
r

0
0
1
D
D E C O M P O S I O E M V A L O R E S S I N G U L A R E S A L G E B R A L I N E A R

Prof. Isabel Matos & Jos Amaral ALGA A31 - 3 15-05-2008
De modo anlogo decomposio espectral de uma matriz simtrica, a matriz A,
n m , com r valores singulares no nulos, pode ser escrita na forma

=
= + + =
r
i
T
i i i
T
r r r
T
1
1 1 1
v u v u v u A
, em que
i
u so colunas de U, ditos vectores singulares esquerda, e
i
v so
colunas de V, ditos vectores singulares direita.
Exemplo
2. Consideremos de novo a matriz

=
2 0
2 0
0 1
A
Como vimos

=
4 0
0 1
A A
T

tem valores prprios 4
1
= e 1
2
= , a que esto associados os vectores prprios
unitrios [ ]
T
1 0
1
= v e [ ]
T
0 1
2
= v , pelo que a matriz A tem valores singulares
2
1 1
= = e 1
2 2
= = . Podemos de imediato escrever a matriz diagonal dos
valores singulares

=
1 0
0 2
0
0
2
1
D
, e a matriz , de dimenso 2 3 = n m ,

=
0 0
1 0
0 2
0 0
D

V uma matriz ortogonal n n , portanto do tipo de A A
T
, no caso presente,
2 2 . Para construir V basta encontrar um conjunto ortonormado de vectores
prprios da matriz A A
T
, { }
n
v v , ,
1
, associados a cada um dos n valores
singulares. No caso presente, temos de imediato
[ ]

= =
0 1
1 0
2 1
v v V
U uma matriz ortogonal m m , cujos elementos so determinados por
i
i
i
Av u

=
1

Tendo A r valores singulares no nulos, ficam assim encontradas r colunas da
matriz U. Caso tenhamos m r < ser necessrio determinar os restantes r m
vectores de
m
convenientes (por exemplo recorrendo ortogonalizao de Gram-
Schmidt tendo por base os versores cannicos).
No caso presente temos 3 3 = m m e 2 = r , pelo que, de imediato, temos
D E C O M P O S I O E M V A L O R E S S I N G U L A R E S A L G E B R A L I N E A R

Prof. Isabel Matos & Jos Amaral ALGA A31 - 4 15-05-2008

=
0
0
1
0
1
2 0
2 0
0 1
1
1 1
2 1
2 1
0
1
0
2 0
2 0
0 1
2
1 1
2
2
2
1
1
1
Av u
Av u

, sendo agora necessrio determinar um vector unitrio ortogonal a
1
u e
2
u .
Considerando a base { }
3 2 1
, , e u u , temos

=
=

=
=
2 1
2 1
0
2 1
2 1
0
1
0
0
2 1
2 1
0
2 1
1
0
0
2 1
2 1
0
2 1
2 1
0
1
0
0
0
0
1
0
0
1
1
0
0
1
0
0
) ( ) (
proj proj
1 1 3 2 2 3 3 1
1 1
1 3
2
2 2
2 3
3
3 3 3 3
1 2
u u e u u e e u
u u
u e
u
u u
u e
e
e e e u
u u

e
3
3
3
0
1 2
1 2
=


=



u
u
u

Temos ento
[ ]

= =
2 1 0 2 1
2 1 0 2 1
0 1 0
3 2 1
u u u U
Ficando assim determinada a decomposio em valores singulares da matriz A

= =
0 1
1 0
0 0
1 0
0 2
2 1 0 2 1
2 1 0 2 1
0 1 0
T
V U A
, como podemos confirmar


>> x=1/sqrt(2);
>> A=[1 0; 0 sqrt(2); 0 sqrt(2)];
>> U=[0 1 0; x 0 -x; x 0 x];
>> S=[2 0; 0 1; 0 0];
>> V=[0 1; 1 0];
>> U*S*V'

D E C O M P O S I O E M V A L O R E S S I N G U L A R E S A L G E B R A L I N E A R

Prof. Isabel Matos & Jos Amaral ALGA A31 - 5 15-05-2008

ans =
1.0000 0
0 1.4142
0 1.4142

Podemos ainda decompor A na forma
[ ] [ ]

=
+ = =
=
0 0
0 0
0 1
1
2 1 0
2 1 0
1 0
2 0 1
0
0
1
1 1 0
2 1
2 1
0
2
2 2 2 1 1 1
1
T T
r
i
T
i i i
v u v u v u A


Embora possamos recorrer ao MatLab para proceder ao clculos das matrizes U, ,
e V, conforme acima ficou descrito, o procedimento desnecessrio, dada a existncia
da funo svd(A), que procede decomposio em valores singulares da matriz A


>> A=[1 0; 0 sqrt(2); 0 sqrt(2)];
>> [U S V]=svd(A)
>> U =
0 1.0000 0
-0.7071 0 -0.7071
-0.7071 0 0.7071
>> S =
2.0000 0
0 1.0000
0 0
>> V =
0 1
-1 0



D E C O M P O S I O E M V A L O R E S S I N G U L A R E S A L G E B R A L I N E A R

Prof. Isabel Matos & Jos Amaral ALGA A31 - 6 15-05-2008

a) u

b) u V
T


c) u V
T


d) u V U Au w
T
= =

Figura 31.3
31.3. Interpretao geomtrica.
Consideremos a transformao linear
2 2
: T , em que a
matriz da transformao

=
2 2 1
1 2
A
A figura a) mostra um conjunto de vectores com extremidade sobre
a circunferncia de raio unitrio, e a figura d) as imagens
resultantes da transformao, Au w = , estando assinalados a
preto os vectores prprios de A A
T
. Podemos verificar que A tem
uma decomposio em valores singulares


= =
66 . 0 75 . 0
75 . 0 66 . 0
27 . 1 0
0 75 . 2
75 . 0 66 . 0
66 . 0 75 . 0
T
V U A
(para uma maior clareza de exposio, os valores so aproximados e
so omitidos os passos intermdios). Atendendo decomposio de
A em valores singulares, a transformao T pode ser interpretada
como uma composio de 3 transformaes lineares
2 2
com
matrizes
T
V , e U. A matriz

=
66 . 0 75 . 0
75 . 0 66 . 0
T
V
tem a estrutura de uma matriz de rotao em
2



) cos( ) sen(
) sen( ) cos(

, com

49 . As imagens u V
T
resultam de uma rotao de

49 em sentido inverso, como se pode ver na figura b), ficando os


vectores prprios de A A
T
alinhados com os eixos coordenados. A
matriz

=
27 . 1 0
0 75 . 2

vai em seguida multiplicar cada um dos vectores prprios de A A
T

por 75 . 2
1
= 75 . 2
1
= (e cada um dos outros vectores por uma
combinao linear de
1
e
2
) transformando a circunferncia de
raio unitrio numa elipse de semieixos
1
e
2
. Finalmente a
matriz


=
75 . 0 66 . 0
66 . 0 75 . 0
U
que tem a estrutura de uma matriz de rotao em
2
, com
41

, provoca uma rotao em sentido directo de 41

.
Todas os produtos matriciais so susceptveis desta interpretao
geomtrica, dado que toda a matriz pode se decomposta na forma
T
V U .
D E C O M P O S I O E M V A L O R E S S I N G U L A R E S A L G E B R A L I N E A R

Prof. Isabel Matos & Jos Amaral ALGA A31 - 7 15-05-2008

a) n=512

b) n=50

c) n=20

d) valores singulares



31.4. Aplicao: Compresso de imagem.
Consideremos a imagem com 512 512 pixels que
se reproduz na figura a). Cada um dos pixels da
imagem corresponde a um nmero inteiro entre 0
e 255, relativo a 1 de 256 nveis de cinzento,
constituindo toda a imagem uma matriz de
262144 512 512 = nmeros.
Decompondo a matriz em valores singulares,
T
V U A =
, podemos verificar que os seus 512 valores singulares,
i
, se
distribuem por
6
10 ordens de grandeza, sendo o maior dos valores
4
1
10 5 , e o menor
2
512
10 2

, como podemos ver na
figura d) (note a escala logartmica).
Se fizermos a decomposio espectral da matriz,

=
=
512
1 i
T
i i i
v u A
, e sendo os coeficientes das matrizes
T
i i
v u todos, em mdulo,
menores que 1, dado que os vectores prprios esquerda e
direita,
i
u e
i
v , so vectores normalizados, resulta que cada uma
das parcelas,
T
i i i
v u , contribui de modo muito diferente para a
matriz final.
As figuras a) a c) mostram as imagens resultantes de se considerar
o total das componentes espectrais, e apenas as 50 e 20 mais
importantes, isto , associadas aos 50 e 20 valores singulares de
maior valor. Note que, sendo necessrio 262144 512 512 =
nmeros para reproduzir a imagem original, a imagem que utiliza
apenas 50 componentes espectrais necessita de apenas 50 valores
singulares mais 50 vectores u e 50 vectores v, cada um de
dimenso 512 , ou seja 51250 ) 512 512 1 ( 50 = + + nmeros, cerca
de 5 vezes menos informao.
A decomposio de imagens em valores singulares est na base de
alguns dos mais eficientes algoritmos de compresso de imagem,
que estudar nas cadeiras da especialidade. O armazenamento e
transmisso de dados tm um papel extremamente importante no
actual panorama tecnolgico, e o estudo das tcnicas que permitam
a sua execuo com o mnimo espao de armazenamento e o menor
tempo de processamento ser objecto de anlise ao longo do curso.
Na maioria das tcnicas so extremamente relevantes os
considerandos de ordem estatstica e numrica, que transcendem o
mbito desta cadeira, e em que ter oportunidade de se iniciar nas
cadeiras dos prximos semestres.
D E C O M P O S I O E M V A L O R E S S I N G U L A R E S A L G E B R A L I N E A R

Prof. Isabel Matos & Jos Amaral ALGA A31 - 8 15-05-2008


31.5. SVD e os 4 espaos fundamentais de uma matriz.
Sendo
T
V U A = a decomposio em valores singulares da matriz A, n m , com
r valores singulares no nulos, ento
1. A matriz A tem caracterstica r .
2. { }
r
u u , ,
1
uma base ortonormada de ) col(A .
3. { }
m r
u u , ,
1

+
uma base ortonormada de ) Ker(
T
A .
4. { }
r
v v , ,
1
uma base ortonormada de ) lin(A .
5. { }
n r
v v , ,
1

+
uma base ortonormada de ) Ker(A .
Exemplo
3. Recordemos a anlise que foi feita nos exerccios 20.1 a 20.4 da aula 20 sobre os
espaos fundamentais da matriz



=
6 0 3 0 3
0 2 1 2 1
1 1 0 1 1
3 1 3 1 2
A
Vimos que matriz tem caracterstica 3 , formando os vectores
[ ]
T
0 0 0 1
1
= u , [ ]
T
6 0 1 0
2
= u e [ ]
T
3 1 0 0
3
= u
uma base do espao coluna de A, o vector
[ ]
T
1 3 6 0
4
= u
uma base do ncleo de
T
A , os vectores
[ ]
T
2 0 1 0 1
1
= v , [ ]
T
3 0 1 1 0
2
= v e [ ]
T
4 1 0 0 0
3
= v
uma base do espao linha de A, e os vectores
[ ]
T
0 0 1 1 1
4
= v , e [ ]
T
1 4 0 3 2
5
= v
uma base do ncleo de A.
Calculemos a decomposio em valores singulares da matriz A

>> A=[2 1 3 1 3; 1 -1 0 1 -1;-1 2 1 -2 0; 3 0 3 0 -6];
>> [U S V]=svd(A)
U =
0.0982 -0.9910 0.0911 0.0000
-0.1738 0.0225 0.4321 -0.8847
0.0211 -0.0801 -0.8930 -0.4423
-0.9796 -0.1051 -0.0867 0.1474
S =
7.4765 0 0 0 0
0 4.8770 0 0 0
D E C O M P O S I O E M V A L O R E S S I N G U L A R E S A L G E B R A L I N E A R

Prof. Isabel Matos & Jos Amaral ALGA A31 - 9 15-05-2008



0 0 3.5096 0 0
0 0 0 0.0000 0
V =
-0.3929 -0.4500 0.3554 0.7136 -0.0873
0.0420 -0.2406 -0.6060 0.0811 -0.7526
-0.3508 -0.6906 -0.2507 -0.4606 0.3534
-0.0157 -0.1658 0.6580 -0.5060 -0.5323
0.8488 -0.4849 0.1031 0.1265 0.1331
Como vemos, por anlise da matriz S , a matriz A tem 3 = r valores singulares no
nulos, ou seja, a matriz tem caracterstica 3 = r .
As primeiras 3 = r colunas da matriz U formam uma base ortonormada de ) col(A .
Fazendo

>> rref(U(:,1:3)')
ans =
1.0000 0 0 0.0000
0 1.0000 0 6.0000
0 0 1.0000 3.0000
confirmamos que as primeiras 3 colunas de U so versores de [ ]
T
0 0 0 1
1
= u ,
[ ]
T
6 0 1 0
2
= u e [ ]
T
3 1 0 0
3
= u .
A 4
a
coluna de U forma uma base ortonormada de ) Ker(
T
A . Fazendo

>> U(:,4)'
ans =
0.0000 -0.8847 -0.4423 0.1474
>> U(:,4)'/U(4,4)'
ans =
0.0000 -6.0000 -3.0000 1.0000
confirmamos que a 4
a
coluna de U o versor de [ ]
T
1 3 6 0
4
= u .
As primeiras 3 = r colunas da matriz V formam uma base ortonormada de ) lin(A .
Fazendo

>> rref(V(:,1:3)')
ans =
1.0000 0 1.0000 0 -2.0000
0 1.0000 1.0000 0 3.0000
0 0 0 1.0000 4.0000
confirmamos que as primeiras 3 colunas de V so versores de
[ ]
T
2 0 1 0 1
1
= v , [ ]
T
3 0 1 1 0
2
= v e [ ]
T
4 1 0 0 0
3
= v .
Finalmente, poderamos verificar que as 4
a
e 5
a
colunas de V forma uma base
ortonormada de ) Ker(A .

Anda mungkin juga menyukai