You are on page 1of 15

7.

DECOMPOSIO EM VALORES SINGULARES (SVD)


A decomposio em valores singulares um mtodo muito til para a anlise de
sistemas multivariveis. Em termos da operao de um processo o mtodo SVD facilita
a sua avaliao em funo da:
possibilidade de se conseguir os objetivos operacionais desejados;
determinao dos locais mais apropriados para aumentar a sensibilidade das
medidas;
determinao das variveis que mais vo influenciar na operao; etc.
O mtodo utiliza a decomposio em valores singulares da matriz de ganhos estticos
do processo:
T
V U K =
Os valores singulares de uma matriz K so dados pela seguinte relao:
( ) K K
T
+ = o (ou ( )
T
K K + = o )
onde (A) representa o valor caracterstico de A.
A SVD usada em lgebra linear para minimizar erros computacionais em operaes
com matrizes de grande porte.
O interesse da SVD para a rea de sistemas multivariveis fcil de se justificar.
Qualquer estratgia de operao busca, basicamente, determinar a inversa da matriz de
funes de transferncia:
( ) ( ) ( ) s s s m G y =
Exigindo
( ) ( ) s s
d
y y =
resulta
( ) ( ) s s
d
y G m
1
=
No estado estacionrio
d
y K m
1
=
1
Os valores singulares medem a inversibilidade da matriz; o menor valor singular uma
medida da distncia que a matriz est de se transformar em singular; e a razo entre o
maior e o menor valor singular mede a dificuldade de invert-la.
Os componentes da SVD da matriz K, de dimenso nm, so:
U: matriz unitria ( )
T
U U =
1
ou ortonormal, nn; suas colunas so os vetores
singulares esquerda da matriz K; so os vetores caractersticos da matriz .
T
K K
V: matriz unitria ( )
T
V V =
1
, mm; suas colunas so os vetores singulares direita da
matriz K; so os vetores caractersticos da matriz . K K
T
E: matriz nm com a seguinte estrutura:
| | 0
*
= para n < m
-
= para n = m

=
-
0

para n > m
onde ( )
i
diag o =
-

com
1 2
0
r
o o o > > > > e ( ) r min n, m = .
Define-se o nmero de condicionamento como:
1
( )
( )
r
CN = = =
K
K
o o

o o

que mede o condicionamento da matriz. Quanto maior esse nmero pior ser o
condicionamento da matriz em questo, em termos computacionais. Para a operao de
um processo associado a essa matriz, o CN mede a dificuldade para se conseguir boa
operabilidade do sistema multivarivel.
possvel visualizar o significado dos valores singulares da matriz de ganhos estticos
no caso de um sistema 22.

o
o

+
+
=

2
1
2
2
1
2
2
1
1
1
2
1
2
2
2
1
1
2
1
1
2 22 1 21
2 12 1 11
2
1
22 21
12 11
2
1
m
m
v v
v v
0
0
u u
u u
m K m K
m K m K
m
m
K K
K K
y
y

Podemos expressar o vnculo esttico da seguinte forma:
2
( ) ( )
2
2
2 2
1
2
2
1 1
1
1 1
1
2 2
1
2
1
1 1
1
1 1
m v u v u m v u v u y o + o + o + o =
( ) ( )
2
2
2 2
2
2
2
1 1
2
1 1
1
2 2
2
2
1
1 1
2
1 2
m v u v u m v u v u y o + o + o + o =
Observa-se que K
ij,
o ganho esttico observado, uma combinao dos valores
singulares o
1
e o
2
, determinada pelos elementos de U e V.
Uma outra forma de se representar o vnculo esttico :
( ) ( )
2
2
2 1
1
2 2
1
2 2
2
1 1
1
1 1
1
1 1
m v m v u m v m v u y + o + + o =
( ) ( )
2
2
2 1
1
2 2
2
2 2
2
1 1
1
1 1
2
1 2
m v m v u m v m v u y + o + + o =
Neste caso observa-se que a sada "y
i
", no estado estacionrio, est formada pela soma
de termos contendo um valor singular "o
i
". As colunas de U indicam como o valor
singular se distribui nas diferentes sadas. As colunas de V indicam o efeito das entradas
sobre cada valor singular.
importante ter presente que os valores singulares so ordenados de maior a menor.
Sejam as variveis de entrada normalizadas tal que 1 m m
2
2
2
1
= +

Para
1)

=
0
1
2
1
m
m
m
1
2 2
1
2
1
1 1
1
1 1
v u v u y o + o =
1
2 2
2
2
1
1 1
2
1 2
v u v u y o + o =
3
2)

= =
2
1
1
1
1
v
v
v m
1
1
1 1
u y o =

1 1
u y o =
1
2
1 2
u y o =
3)

= =
2
2
1
2
2
v
v
v m
2
1
2 1
u y o =

2 2
u y o =
2
2
2 2
u y o =
Os resultados de (2) e (3) so conseqncia da ortonormalidade dos vetores de U e V.

A entrada com a direo sai na direo de multiplicada por o
1
.
1
v
1
u
4
Exemplo

Os dados deste sistema no estado estacionrio so:
F1 = 10 gpm
F2 = 20 gpm
Th = 100
o
F
Tc = 65
o
F
Para calcular a matriz de ganhos estticos

c
c
c
c
c
c
c
c
=
2 1
2 1
F
Fm
F
Fm
F
Tm
F
Tm
K
so estabelecidos os balanos globais de massa e energia no estado estacionrio.
Fm = F1 + F2
F1 Th + F2 Tc = Fm Tm
Ento
( )
( )
c
c
c
c
Tm
F F
F Th F Tc
F F
Th F F F Th F Tc
F F 1 1
1 2
1 2
1 2 1 2
1 2
2
=
+
+

=
+
+

( )
( )
( )
( )
=

+
=

+
=
F Th Tc
F F
2
1 2
20 100 65
10 20
0 7778
2 2
,
Seguindo o mesmo procedimento chega-se a
5
= =


=
T
V U K
1 1
3889 , 0 7778 , 0

=

0 2758 0 9612
0 9612 0 2758
1 4531 0
0 0 8029
0 8091 0 5877
0 5877 0 8091
, ,
, ,
,
,
, ,
, ,

CN=1,7


Interpretao fsica dos elementos na decomposio em valores singulares
K: matriz de ganhos estticos do processo
K
y
u
ij
i
j
u
k
=
c
c

Os elementos desta matriz refletem a sensibilidade da varivel de sada a uma variao
na varivel de entrada. Os ganhos estticos dependem das unidades utilizadas.
U: uma matriz cujas colunas, , so os vetores singulares esquerda da matriz K.
i
u
6
1
u : indica a direo em que as variveis de sada mudam mais, frente a variaes nas
variveis de entrada.
n
u u u , , ,
3 2
: indicam, nessa ordem, direes cada vez menos sensveis.
V: uma matriz cujas colunas, , so os vetores singulares direita da matriz K.
i
v
1
v : indica a combinao de variveis de entrada cuja variao afeta as sadas de forma
mais significativa.
E: uma matriz diagonal cujos elementos, os valores singulares, fornecem os ganhos
estticos do sistema "desacoplado" (em termos de variveis estruturadas).

u y
u V u V U U y U
u V U y
u K y
T T T T
T
' = '
= =
=
=

1
r
CN = =
o

o
: o nmero de condicionamento; mede o grau de dificuldade para se
operar o sistema multivarivel; CN grande indica que h direes de variao muito
altas e muito baixas; dependendo da qualidade da instrumentao utilizada dever se
abrir mo de certos objetivos; h menos graus de liberdade para resolver problemas
operacionais; no podem ser satisfeitos simultaneamente todos os objetivos almejados.
Exemplo
Se no exemplo anterior forem mudadas as condies de estado estacionrio:
F1 = 100 gpm
F2 = 150 gpm
Th = 100
o
F
Tc = 65
o
F
resulta


=
000 , 1 000 , 1
056 , 0 084 , 0
K
Os valores singulares so o
1
= 1,414 e o
2
= 0,0990, gerando um nmero de
condicionamento:
7
CN = 14,28
O sistema responde 14 vezes mais na direo mais forte. Apesar de haver dois graus de
liberdade, um deles pouco til.
8
Apndice (Notas do Nivelamento)
Transformao linear: Sejam U e V espaos vetoriais sobre 9. Uma aplicao F: U
V chamada transformao linear de U em V se, e somente se,
(a) F(u
1
+ u
2
) = F(u
1
) + F(u
2
), u
1
, u
2
e U, e
(b) F(o u) = o F(u), o e 9 e u e U.
No caso em que U = V, uma transformao linear F: U U chamada tambm
de operador linear.

Exemplo: Para verificar se a aplicao F: 9
3
9
2
definida por F(x, y, z) = (x, 2x z),
(x, y, z) e 9
3
, uma transformao linear, sejam u
1
= (x
1
, y
1
, z
1
) e u
2
= (x
2
, y
2
, z
2
) em
9
3
e:
(a) F(u
1
+ u
2
) = F(x
1
+ x
2
, y
1
+ y
2
, z
1
+ z
2
) = (x
1
+ x
2
, 2x
1
+ 2 x
2
z
1
z
2
) = (x
1
, 2x
1
z
1
)
+ (x
2
, 2x
2
z
2
) = F(u
1
) + F (u
2
)
(b) F(o u
1
) = F(o x
1
, o y
1
, o z
1
) = (o x
1
, 2o x
1
o z
1
) = o (x
1
, 2x
1
z
1
) = o F(u
1
), o e
9.
logo, a aplicao uma transformao linear.

Verifica-se prontamente que a multiplicao de uma matriz A e 9
mn
por um
vetor x e 9
n
uma transformao linear, pois A (x
1
+ x
2
) = A x
1
+ A x
2
e A o x = o
A x.

Ncleo ou espao nulo: Sejam U e V espaos vetoriais sobre 9 e F: U V uma
transformao linear. Indica-se por Ker(F) ou null(F) e denomina-se ncleo ou espao
nulo de F o seguinte subconjunto de U:
Ker(F) = null(F) = {u e U | F(u) = 0} _ U

Exemplo: Seja F: 9
2
9
3
a transformao linear dada por F(x, y) = (0, x + y, 0), (x,
y) e 9
2
, o ncleo de F obtido fazendo F(x, y) = (0, 0, 0) = (0, x + y, 0). Logo, x = y e
Ker(F) = {(x, x) | x e 9}, como ilustra a figura abaixo:







z
y
9
2

Figura 1: Ncleo de uma transformao linear
x
y
x
9
3

Ker(F)
x = y
(0, 0, 0)
9
O espao nulo de uma matriz A e 9
mn
o subespao Ker(A) = null(A) = {x e
9
n
| Ax = 0} _ 9
n
, ou seja, o conjunto de todas as solues do sistema homogneo
Ax = 0. No caso de uma matriz regular (inversvel), Ker(A) = {0}.

Imagem ou espao gerado: Sejam U e V espaos vetoriais sobre 9 e F: U V uma
transformao linear. Indica-se por Im(F) ou range(F) e denomina-se imagem ou espao
gerado de F o seguinte subconjunto de V:
Im(F) = range(F) = {F(u) | u e U} _ V

A imagem ou espao gerado por uma matriz A e 9
mn
o subespao Im(A) _
9
m
gerado pela transformao linear F(x) = Ax, isto ,
Im(A) = range(A) = {Ax | x e 9
n
} _ 9
m


Da mesma forma, a imagem ou espao gerado pela transposta de uma matriz A
e 9
mn
o subespao Im(A
T
) _ 9
n
gerado pela transformao linear F(y) = A
T
y, isto
,
Im(A
T
) = range(A
T
) = {A
T
y | y e 9
m
} _ 9
n


Um resultado importante sobre a dimenso destes subespaos. Sejam U e V
espaos vetoriais de dimenso finita sobre 9. Dada uma transformao linear F: U V,
ento
dim U = dim Ker(F) + dim Im(F)

Conjunto gerador: para um conjunto de vetores S = {v
1
, v
2
, ..., v
r
} o subespao:
span(S) = o
1
v
1
+ o
2
v
2
+ + o
r
v
r

gerado por todas as combinaes lineares dos vetores de S chamado espao gerado por
S, denominado conjunto gerador.

Com o uso deste conceito, pode-se dizer que range(A) o espao gerado pelos
vetores coluna de A e range(A
T
) o espao gerado pelos vetores linha de A.

Posto ou rank: o posto ou rank de uma matriz A e 9
mn
o nmero mximo de linhas
ou colunas linearmente independentes. Observe que dim Im(A) = rank(A) e, portanto, se
Ker(A) = {0}, ento rank(A) = n, pois dim 9
n
= n = dim Ker(A) + dim Im(A). Da
mesma forma, se Ker(A
T
) = {0}, ento rank(A) = m.

Matriz simtrica: A = A
T


10
Matriz hermitiana (ou auto-adjunta): A = A
H
, ou seja, matriz complexa igual a sua
transposta conjugada (
ij ji
a a = ).
Exemplo de matriz hermitiana:
1 3
3 4
i
A
i
+
=




Matriz ortogonal (Q): Q
-1
= Q
T


Matriz unitria (U): U
-1
= U
H


As matrizes hermitiana e unitria em (campo complexo) esto,
respectivamente, para as matrizes simtrica e ortogonal em 9. Por isso, as descries a
seguir sero limitadas ao campo dos nmeros reais, podendo ser estendidas para
substituindo as matrizes ortogonais por matrizes unitrias e as matrizes simtricas por
matrizes hermitianas.

Dada uma matriz A e 9
mn
e lembrando dos conceitos bsicos que o range(A)
o espao gerado pelos vetores coluna de A e range(A
T
) o espao gerado pelos vetores
linha de A, a decomposio SVD capaz de obter simultaneamente as bases
ortonormais destes subespaos.
Qualquer matriz A e 9
mn
pode ser decomposta na forma:
A = U V
T

onde U e 9
mm
uma matriz ortogonal cujas colunas so os vetores caractersticos de
A A
T
, V e 9
nn
uma matriz ortogonal cujas colunas so os vetores caractersticos de
A
T
A, e 9
mn
uma matriz diagonal contento a raiz quadrada dos valores
caractersticos de A A
T
(que so equivalentes aos valores caractersticos de A
T
A),
arranjados em ordem decrescente. Os vetores caractersticos de A A
T
e A
T
A esto
arranjados nas colunas de U e V, respectivamente, na ordem de seus valores
caractersticos na matriz . Os elementos, o
i
, da diagonal de so denominados de
valores singulares de A, sendo todos no-negativos. Alm disso, o nmero de valores
singulares positivos igual ao rank(A). Os vetores coluna de U so denominados de
vetores singulares esquerda de A e os vetores coluna de V so denominados de vetores
singulares direita de A, e as relaes entre estes vetores so:

A v
i
= o
i
u
i
e A
T
u
i
= o
i
v
i


A decomposio SVD revela vrias propriedades intrnsecas da matriz A e
numericamente estvel para os clculos. Algumas propriedades so listadas abaixo para
uma matriz com r valores singulares positivos:

1) rank(A) = r
2) null(A) = span(v
r+1
, v
r+2
, ..., v
n
)
3) range(A) = span(u
1
, u
2
, ..., u
r
)
11
4) range(A
T
) = span(v
1
, v
2
, ..., v
r
)
5)
1
r
T
i i i
i=
= o

A u v
6)
2
1
r
i
F
i=
= o

A (norma de Frobenius)
7)
1
2
= o A

A matriz:
A

= V

U
T
= (A
T
A)
-1
A
T

chamada de pseudo-inversa de A, onde os elementos da diagonal de

consistem no
recproco dos valores singulares positivos de , na mesma ordem. A pseudo-inversa
tem a propriedade A

A = A A

= I.
A soluo do problema de valores singulares para o sistema linear, y = Ax,
corresponde resolver o seguinte problema de otimizao:
2
2
max || ||
x
y
sujeito a = 1
2
2
|| || x

onde = y
T
y. Usando o conceito dos multiplicadores de Lagrange, o problema
acima pode ser reescrito como:
2
2
|| || y
{ }
max ( ) ( 1)
T T T
S =
x
x x A A x x x
cuja primeira condio de otimalidade ( ) 0
T
S V = = x A A x x
T
, ou seja, a soluo
equivalente ao problema de valor caracterstico = A A x x, cujos x timos locais
correspondem aos vetores caractersticos de A
T
A ou os vetores singulares de A
(tambm chamados de componentes principais de variao, pois indicam as direes
de mxima variao de y em funo das variaes em x com mesma energia, isto ,
= 1) e os respectivos multiplicadores de Lagrange so os valores caractersticos de
A
T
A ou o quadrado dos valores singulares de A.
2
|| || x
Observe que para uma matriz de rank(A) = r, A = U V
T
= e,
portanto, y = Ax = U V
T
x =
1
r
T
i i i
i=
o

u v
1
r
T
i i i
i=
o

u v x , indicando que a projeo do vetor x


na direo do vetor v
i
(ou seja,
T
i
v x) amplificada por o
i
na direo u
i
do vetor y,
sendo i = 1 a direo de maior amplificao e i = r a direo de menor amplificao.
Dependendo do valor de o
i
, uma pequena mudana em x pode causar uma grande
mudana em y, mas isto vai depender do ngulo entre os vetores x e v
i
.

Exemplo: usando a funo demonstrativa eigshow(A) do MATLAB, que apresenta de
forma grfica um vetor unitrio x e sua transformao linear Ax para uma matriz de
dimenso 2 2 e valores de x, com ||x|| = 1, possvel pela movimentao do mouse
sobre a figura localizar as direes caractersticas da matriz. As Figuras 2a, 2b e 2c
ilustram esta movimentao para a matriz
12
1/ 4 3/ 4
1 1/ 2

=


A
onde os valores caractersticos, , e os vetores caractersticos, x, resultantes das
solues no-triviais do sistema de equaes lineares
Ax =

x

1
= 5/4 e x
1
= [3/5 4/5]
T
;
2
= 1/2 e x
2
= [ 2 / 2 2 / 2 ]
T

so visualizados quando os dois vetores (x e Ax) esto na mesma direo. Mostrando
que o operador A, na direo de x, corresponde a uma reduo ou ampliao por um
fator . Quando os sentidos dos dois vetores so opostos tem-se um valor caracterstico
negativo.
Pode-se observar que os dois vetores caractersticos no so os eixos maior e
menor da elipse formada pelas transformaes lineares. Seriam para o caso particular de
matrizes simtricas. Matrizes 2 2 com um par de valores caractersticos complexo no
possuem vetores caractersticos reais.
Movendo dois vetores unitrios, x e y, perpendiculares e suas correspondentes
transformaes lineares, Ax e Ay, pode-se visualizar os valores e vetores singulares,
resultantes das solues no-triviais dos sistemas de equaes lineares
A
T
Av = o
2
v AA
T
u = o
2
u
o
1
= 1,2792, x = v
1
= [0,7678 0,6407]
T
e Ax = o
1
u
1
= [0,6725 1,0881]
T

o
2
= 0,4886, y = v
2
= [0,6407 0,7678]
T
e Ay = o
2
u
2
= [0,4156 0,2569]
T

onde o so os valores singulares, v

e u so os vetores singulares direita e esquerda,
respectivamente. Eles surgem no momento em que as transformaes so
perpendiculares entre si, conforme mostra a Figura 2d. Observa-se que isto acontece
quando os vetores das transformaes so os eixos maior e menor da elipse, mostrando,
por exemplo, as direes de mxima e mnima amplificao de sinais, respectivamente.
Para o caso particular de uma matriz quadrada, simtrica e positiva definida, as
decomposies em valores caractersticos e em valores singulares so equivalentes.
13

Figura 2: Direes caractersticas de uma matriz.

Para determinar se o sistema linear, y = Ax, est bem escalonado deve-se
verificar o condicionamento da matriz A, que na norma 2 dado por:
( ) ( ) / ( ) = o o A A A
onde ( ) o A o maior valor singular de A e ( ) o A o menor valor singular no-nulo de
A.

A melhor maneira de escalonar um sistema atacando a origem do problema, ou
seja um apropriado adimensionamento das variveis dependentes e das equaes do
problema. Uma maneira numrica de determinar quais as variveis devem ser re-
escalonadas atravs do clculo do condicionamento mnimo, isto , determinar as
matrizes que pr- e ps-multiplicadas pela matriz A resultam em um mnimo (*), isto
:
*( ) min ( ) =
L,R
A L A R
14
Considerando L e R matrizes diagonais, ento tem-se como resultado do problema de
otimizao acima quais as sadas e entradas devem ser re-escalonadas, respectivamente,
pois:
y
e
= L y e x
e
= R
-1
x
No MATLAB, o condicionamento de uma matriz A pode ser obtido atravs da
funo cond(A), e as matrizes de escalonamento podem ser calculadas pela funo:
[ub, D] = mu (H, ones (2*n, 2), C)
onde n a ordem da matriz A, H =
1
0
0




A
A
,
2
(1)
*( )
(2)
ub
ub
| |
=
|
\ .
,
L = diag(D(n+1:2*n)) e R = inv(diag(D(1:n))). Para verificar se os clculos esto
corretos, basta calcular o cond(L*A*R), que deve ser igual a *(A).

15

You might also like