SVD Projeto Balbuíno

557 palavras 3 páginas
Decomposição em valores singulares
O SVD (singular value decomposition) é um método para a fatorização de matrizes ortogonais. Esta é a decomposição mais confiável, mas isto pode requerer dez vezes mais tempo que a fatorização
QR. A decomposição SVD decompões a matriz num produto dos fatores de outras três matrizes:
A= USV ,onde U e V são matrizes ortogonais e S é diagonal. Os valores da matriz diagonal são chamados de valores singulares e por isso a decomposição recebe este nome. O número de valores singulares diferentes de zero é igual ao rank da matriz.

T1) uso da ferramenta matlab
Definindo-se a matriz
>> A=[3 0 1.5;1 -2 2.5; 1 -2 2.5;3 0 1.5]
A=
3 0 1.5
1 -2 2.5
1 -2 2.5
3 0 1.5 usando o comando logo a seguir para calcular as matrizes U S V temos:
>> [U S V]=svd(A)
U=
-0.5000 -0.5000 0.5759 -0.4103
-0.5000 0.5000 0.4103 0.5759
-0.5000 0.5000 -0.4103 -0.5759
-0.5000 -0.5000 -0.5759 0.4103
S=
6
0
0
0

V=

0
3
0
0

0
0
0
0

-0.6667 -0.6667 0.3333
0.3333 -0.6667 -0.6667
-0.6667 0.3333 -0.6667

T2
>> A=[3 2 -5;-6 -8 -6; -5 -5 8]
A=
3
-6
-5

2 -5
-8 -6
-5 8

usando o comando logo a seguir para calcular as matrizes U S V temos:
>> [U S V]=svd(B)
U=
-0.3837 -0.3310 0.8621
0.5767 -0.8150 -0.0562
0.7212 0.4756 0.5037

S=
12.8909
0
0
0 11.0244
0
0
0 0.5348

V=
-0.6375 0.1378 0.7581
-0.6972 0.3157 -0.6437
0.3280 0.9388 0.1052
Fazendo a transposta de A=B
Temos:

>> B=A'

B=
3 -6 -5
2 -8 -5
-5 -6 8
Determinando o produto de A transposta pela matriz A temos:
>> C=B*A
C=
70 79 -19
79 93 -2
-19 -2 125
Calculando os auto valores de C temos:
>> auto=eig(C) auto =
0.2860
121.5384
166.1756
cujas raízes são: auto= 0.5348
11.0244
12.8909 comparando as raízes dos autovalores de C, com a diagonal da matriz S, verificamos que são iguais, ou seja, os autovalores do produto de uma matriz pela sua transposta, são igual aos valores da diagonal principal da matriz singular S.

Relacionados