Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Dvs PDF
Dvs PDF
Año 2010
1
Referencias
[1] R.L. Burden, J.Douglas Faires, Análisis Numérico , Grupo Editorial
Iberoamericana, México, 1985.
2
Hemos visto previamente que toda matriz simétrica A ∈ Ren×n se puede descomponer
A = P DP T , siendo P una matriz ortogonal (P T = P −1 ), D una matriz diagonal que
contiene los autovalores de A. Cuando A no es simétrica, pero si cuadrada, si A es di-
agonizable existe una descomposición de A = SDS −1 , siendo S no singular aunque no
necesariamente ortogonal. Pero, cualquier matriz no es diagonizable ! !.
.... Ahora veremos que toda matriz A ∈ <m×n , m ≥ n (cuadrada o no, simétrica o no)
tiene una factorización de la forma:
A = U DV T ,
donde U ∈ <m×n con columnas ortogonales y V ∈ <n×n matriz ortogonal y D una matriz
diagonal(n x n). Este resultado se llama “ descomposición en valores singulares”(DVS), y
es una de las más importantes entre las descomposiciones de matrices.
Ejemplo 2
1 1
A = 1 0
0 1
La matriz AT A
T 2 1
A A =
1 2
tiene √
autovalores
√ : λ1 = 3, λ2 = 1. En consecuencia los valores singulares de A son :
σ1 = 3, σ2 = 1.
3
Observación : en lo que sigue , la kxk, es la norma 2 de un vector o norma Euclidea.
Para comprender el significado lde los valores singulares de A consideremos los au-
tovectores de AT A. Por ser simétrica sabemos que hay n autovectores ortogonales, que
se pueden considerar de longitud 1. Ası́ sea una base determinada por v1 , v2 , . . . , vn , los
autovectores ordenados en correspondencia con los autovalores λ1 ≥ λ2 ≥ . . . λn . Estos
autovectores satisfacen:
AT Avi = λi vi ,
o equivalentemente
kAvi k2 = λi ,
por consiguiente p
kAvi k = λi .
Ası́ los valores singulares de A son las longitudes de los vectores Av1 , . . . , Avn .
Geométricamente esto tiene una importante interpretación. Si consideramos el ejemplo
1, y si consideramos x ∈ {x : kxk2 = 1}, entonces kAxk2 = Ax · Ax = xT AT Ax =
2 1 x
T T
x A Ax = x1 x2 . 1 = 2x21 + 2x1 x2 + 2x22
1 2 x2
λmin ≤ xT AT Ax ≤ λmax
A = U ΣV T
4
Si el rango de A es r < n ( idem para AT A), entonces σr+1 = σr+2 = . . . = σn = 0,
entonces Σ de n × n tendrá una forma en bloques (un bloque diagonal D de r × r (
pudiendo ser r = n), a su derecha una matriz de ceros O de r × n − r, abajo a la izquierda
otra matriz de ceros O de n − r × r, y el último bloque en la diagonal de ceros O de
n−r×n−r :
D O
Σ=
O O
donde
σ1 · · · 0
D = ... . . . ...
0 · · · σr
Si r coincide con n, la D = Σ, esas matrices nulas O no aparecerán. En el caso del
ejemplo 1, previo,la matriz Σ tiene la forma:
√
3 √0
Σ= 0 1
0 0
.... Ahora, vemos c’hallar los factores U y V T ?....
Para hallar la matriz ortogonal V primero determinamos una base ortogonal {v1 , . . . , vn }
de vectores de <n compuesta por autovectores de la matriz AT A de n × n.
V = [v1 , v2 , . . . , vn ]
5
En ese caso hay que extender ese conjunto U = [u1 , u2 , ..., ur , ur+1 ....un ] para tener n
vectores ortonormales de <m .
... Esa es la parte más dificil de la factorización que queremos obtener: A = U ΣV T .
La matriz U estará formada por las columnas ortonormales U = [u1 , . . . , ur , |ur+1 , ...un ].
Si m > n, U no es una base ortogonal de Rem×m ( también se puede extender U
agregando vectores del ortogonal del R(A))
...Veamos que con tales matrices V , U , y Σ, se verifica que
A = U ΣV T
Como V T = V −1 por ser una matriz ortogonal, verificar que vale A = U ΣV T , es igual
a ver que ( multiplicando por V ), y pensando que r puede ser menor a n:
AV = U Σ
Sabemos que Avi = σi ui , para i = 1, 2, . . . , r, y que
kAvi k = σi ≥ 0, para i = r + 1, . . . , n.
Por tanto, si r < n,
Avi = 0, para i = r + 1, . . . , n.
Por consiguiente,
AV = A[v1 . . . vn ] = [Av1 . . . Avn ]
entonces
AV = [Av1 . . . Avr , 0 . . . 0] = [σ1 u1 . . . σr ur , 0 . . . 0]
σ1 . . . 0
. .
. . . . .. O
AV = u1 u2 . . . un . = UΣ
0 . . . σr
O O
6
Ası́
√ √ √
1/√2 −1/√ 2 3 0
V = yΣ=
1/ 2 1/ 2 0 1
Para U , calculamos
√
√ 1 1 √ 2/√6
Av1 1/√2
u1 = = 1/ 3 1 0
= 1/√6
σ1 1/ 2
0 1 1/ 6
y
1 1 √ 0√
Av2 −1/√ 2
u2 = = 1 0 = −1/√ 2
σ2 1/ 2
0 1 1/ 2
Consideramos U = [u1 , u2 ] vectores ortogonales de <3 .
ASi, A = U ∗ Σ ∗ V T , donde la Σ es diagonal que contiene los valores singulares,
pudiendo los últimos ser 0, si el rango de A es menora a n.
Otra forma de expresar la DVS de una matriz A.
Para eso consideramo, si m ≥ n,
σ1 . . . 0 v1T
... . . . ... O v2T
A = U ΣV T = u1 u2 . . . un ..
0 . . . σr .
O O vnT
que es igual a
v1T
σ1 . . . 0 ..
.
. .
.. . . . ..
T
O v
= u1 . . . ur |ur+1 . . . un Tr
0 . . . σr vr+1
O O ...
vnT
obteniéndose ...
v1T
T
σ ... 0 T vr+1
.1 .. . v2 .
= u1 u2 . . . ur .. . .. .. + ur+1 . . . un O ..
.
0 . . . σr vnT
vrT
vT
σ . . . 0 1T
.1 . v2
= u1 u2 . . . ur .. . . ... ..
.
0 . . . σr
vrT
vT
.1
= σ1 u1 . . . σr ur .. = σ1 u1 v1T + . . . + σr ur vrT
vrT
7
Se ha justificado que...
(i) el rango de A es r.
Demostración.
(i) El rango de A coincide con el rango de AT A, y este depende del nḿero de autoval-
ores no nulos..
(ii) Como Avi , con i = 1, . . . , r son linealmente independientes (ortogonales), y co-
mo ui = (1/σi )Avi , i = 1, . . . , r, entonces {u1 , . . . , ur forman una base ortonormal del
rango(A).
(iii) Como {u1 , . . . , ur , . . . , um forman una base ortonormal de <m , luego por (ii), y con-
siderando que {ur+1 , . . . , um es una base del espacio complementario a R(A), se obtiene
que ese conjunto es una base ortonormal del subespacio N (AT ) o del R(A)⊥ .
(v) Si r < n, como Avr+1 = Avr+2 = . . . Avn = 0, se tiene que {vr+1 , . . . , vn , es un con-
junto ortonormal de vectores contenido en el anulador de A, de dimensión n − r, por lo
que es una base ortonormal del N (A).
(iv) Esta propiedad se desprende de considerar (v) y que {v1 , v2 , . . . , vr } es un conjunto
ortonormal complementario del de (v), por lo que es una base de R(AT ).
8
x1
x2
Sea x = .. un vector unitario de <n . Ahora, como V es una matriz ortogonal,
.
xn
también lo es V T , por tanto V T x es un vector unitario(conserva longitudes), ası́
v1T x
v T x
2
V T x = ..
.
vnT x
Como
y1 yn
( )2 + . . . + ( )2 = (v1T x)2 + . . . + (vnT x)2 = 1
σ1 σn
lo que muestra que los vectores Ax forman la superficie de un elipsoide en <m .
(b) Si r < n, la única diferencia en los pasos anteriores es que la ecuación se convierte
en
y1 yr
( )2 + . . . + ( )2 ≤ 1
σ1 σr
puesto que despreciamos algunos términos. Esto corresponde a un elipsoide sólido de <m .
2.1. APLICACIONES
Normas y número de condición. Para la norma 2 o Euclı́dea de A (m × n). Como
kAk2 = máx kAxk2
kxk2 =1
donde la norma es la norma Euclı́dea en cada caso. Como kxk = 1, entonces el conjunto de
vectores Ax se encuentra sobre o dentro de un elipsoide cuyos semiejes tienen longitudes
iguales a los valores singulares “distintos de cero”de A. Desde ese resultado se sabe que
el mayor semieje es σ1 , de tal manera que
kAk2 = σ1
9
Ası́ para una matriz cuadrada no singular (si existe A−1 ) el número de condición que
se define
cond2 (A) = kAk2 kA−1 k
se puede expresar usando los valores singulares.
Para eso, si A = U ΣV T , entonces A−1 = V Σ−1 U T . Por tanto los valores singulares
de A−1 son σ11 , . . . , σ1n , y
1 1
≥ ... ≥
σn σ1
1
De aquı́ se obtiene que kA−1 k = σn
, de manera que
siendo los valores singulares NO NULOS σ1 ≥ σ2 ≥ . . . σr > 0. Los valores singulares más
pequeños provienen de las partes de la imagen con menor interés. Eso se puede observar
si se representa parcialmente
Ejemplo 9
Sentencias en MATLAB:
10
Algoritmo 10 En Matlab para levantar una imagen usando los valores singulares de
la matriz de datos (o imagen).
for i=1:95
for j=1:95
A(i,j)=x3((i-1)*95+j); %% genera la matriz : A(95,95)
end
end
%%%genera la imagen
figure(1)
imagesc(A) %% Imagen verdadera arriba desde la matriz dada.
colormap(gray)
figure(2)
imagesc (A6)
colormap(gray)
figure(3)
imagesc (A10)
11
Imagen con 10 valores singulares (los 12 mayores)
A = U ΣV T = U Σ(U T U )V T = U ΣU T )(U V T )
Ver que R = U ΣU T , y Q = U V T .
Ejercicio 9: Para restaurar imágenes.
Para matriz b5.dat, hallar los valores singulares y vectores singulares por izquierda y
derecha, y la descomposición:
A = σ1 u1 v1T + . . . + σr ur vrT , y analizar las Ak = σ1 u1 v1T + . . . + σk uk vkT , con k ≤ r.
Para eso, hay que analizar la matriz A guardada en en la PC.( o que le provean sus
docentes). Calcular en el MATLAB los σi , y los ui , y los vi .
Luego levantar las imágenes con Ak , para k = 10, 20, ...r.
12