SVD
SVD
SVD
Luciano A. Perez
10 de septiembre de 2015
1. Introduccin
1.1. La Descomposicin
Sean n, m N, y sea A Cmn ; una descomposicin en valores singulares (o
SVD) de A es una factorizacin
A = UV (1)
donde:
U C
mm es unitaria (UU = U U = I)
V Cnn es unitaria
Rmn es diagonal (i j = 0, i 6= j)
1
U AAU = (2)
Pero como es una matriz real de m n diagonal, entonces el producto es
una matriz diagonal de m m cuyas entradas diagonales son i2 en el mismo orden
que los de :
1 0 0
0 0
2
2 0 0
1 0 0 0 . 1
. .. 0 2 0
0 2 0 0
. .
2
...
= ..
.. .. .. ..
.
. . 0
. . m .
0 0 m 0 . .. .. .. 2
.. . m
.
0 0 0
AAU = U
Es decir, si llamamos u j a las columnas de U, tenemos AA u j = 2j u j .
Esto nos da un mtodo para hallar la descomposicin SVD:
2
Figura 1: Efecto de matrices arbitrarias sobre la circunferencia unitaria
Ahora bien, si lo hacemos de esta forma, los valores singulares que vamos a
obtener son las raices de los autovalores de A A. Es fcil ver que los autovalores
distintos de cero de A A y de AA son los mismos. La diferencia que puede haber
entre el espectro de A A y de AA es que si una de las dos es de dimensin ms
grande, entonces vamos a tener al cero con mayor multiplicidad.
As que para definir no hay ambigedad: podemos buscar los autovalores de
A A o de AA y con ellos armamos una matriz diagonal del mismo tamao de A.
3
los ejes principales de las elipses que obtenemos por una matriz A. Esta idea se
generaliza a dimensiones m, n arbitrarias. Ms detalles de esta idea en Trefethen y
Bau [2].
2. Existencia y Unicidad
Teorema 2.0.1 (Descomposicin SVD). Toda A Cmn tiene una descomposicin
en valores singulares del tipo 1. Los valores singulares estn determinados de ma-
nera nica. Si A es cuadrada y los j son distintos, las columnas de U y V son
nicas a menos del signo (i.e. un factor ei ).
1 w
U1 AV1 = S =
0 B
donde el 0 es un vector columna de m 1 ceros, w un vector fila de dimensin
n 1, y B Cm1n1 . Consideremos la accin de S sobre el vector columna ( w1 )
y tomemos norma:
2
1 w
1
12 + w w =
1
= (12 + w w)1/2
1
0 B w 2
w 2
w
2
luego kSk2 (12 + w w)1/2 . Como U1 y V1 son unitarias, sabemos que kSk2 =
kAk2 (si no resulta obvio, ver la Sec.4), de donde w = 0. Si n = 1 o m = 1 listo.
Si no, B describe la accin de A en el subespacio ortogonal a v1 . Por hiptesis
inductiva, B tiene descomposicin SVD, B = U2 2V2 , y con ella se verifica que:
1 0 1 0 1 0
A = U1 V1
0 U2 0 2 0 V2
y haciendo los productos se tiene la SVD de A.
Para la unicidad, si A es cuadrada y todos los valores singulares son distintos,
entonces A A y AA tienen todos sus autovalores distintos (si A no fuera cuadrada,
alguno de los dos productos va a tener el 0 como autovalor repetido). De manera
que los autoespacios correspondientes tienen dimensin 1.
3. Ejemplo 1
Ejemplo 1: Encontrar la SVD de
4
3 2 2
A=
2 3 2
Av1 = 1 u1
5
o sea:
x 5
!
3 2 2 2
y =
2 3 2 5
z 2
6
2 2
1 1
! 0
2 2 5 0 0 22 2 3 2 2
62 2 2 =
1 12 0 3 0 2 3 2
6 3
2
2
3 23 13
A u j = j v j (3)
Con todo ello tenemos una nueva versin del mtodo para hallar la SVD:
7
1. Encontrar y U como antes.
2. Para los j 6= 0 encontrar los v j segn:
1
vj = A uj
j
3. Si ya tenemos todos los v j , listo. Si no, buscar una base ortonormal de
Ker(A) y unirla a los ya encontrados.
8
3. Relacin entre la SVD y kAk2 : Como U y V son unitarias, conservan la
norma 2, es decir, kUxk2 = kxk2 para cualquier x Cm y kV y k2 = kyk2
y Cn . Lo propio sucede naturalmente con las conjugadas hermitianas U
y V .
Es fcil ver porpdefinicin que kk2 = 1 . Con ello se tiene probada la fr-
mula kAk2 = (A A) a partir de la descomposicin SVD y la igualdad
prctica kAk2 = 1
9
A = j u j vj (4)
j=1
kA A k2 = nfmn kA Bk2
BC
rg(B)
10
Ahora consideremos el caso de A Cnn y sea B cualquier matriz singular
del mismo tamao. Dado x de norma 1 en el ncleo de B (existe porque es
singular), tenemos n kAxk2 = kAx Bxk2 = k(A B)xk2 . Luego k(A
B)k2 n . Si n = 0 es obvio que el mnimo se realiza, tomando B = A. Si el
valor singular ms chico no es nulo, tomemos v un vector de norma unitaria
tal que kAvk2 = n y definamos u = (1/n )Av. La matriz A n uv sirve.
5. Ejemplo 2
Ejemplo 2:
Para hallar la SVD nos conviene en este caso usar An An , ya que toma una
forma por bloques que la hace ms fcil de diagonalizar. Tenemos:
n 1 1 n n n 1 1
n 1 1 n 1 1 1 1
An An =
=
1 1 1 1 1 1 1 1
1 1 1 1 n n 1 1
2
2n + 2 2n2 + 2
0 0
2n2 + 2 2n2 + 2 0 0
= (5)
0 0 4 0
0 0 0 4
11
2n 0 0 0
0 2 0 0
=
0
0 2 0
0 0 0 2
4z = 4n2 z
4w = 4n2 w
Para el punto (ii) tenemos, segn hemos visto, kAn k2 = 1 = 2n y Cond2 (An ) =
1 /n = 2n/2 = n.
12
espacio, que es lo que siempre me pasa a m) o tambin usando que dada
la descomposicin SVD A = UV si A es inversible entonces lo es y
A1 = V 1U , y escribiendo la matriz (o al menos una fila) es facil acotar
la norma infinito de A1 por abajo.
Referencias
[1] Kress, R., Numerical Analysis, Springer GTM 181, 1998.
[2] Trefethen, L. & Bau, D., Numerical Linear Algebra, SIAM, 1997.
13