Escolar Documentos
Profissional Documentos
Cultura Documentos
Historia
Intento de los geometras del siglo XIX para conseguir una reduccin de una forma cuadrtica a diagonal mediante cambios ortogonales. Eugene Beltrami - 1873
comienza forma bilineal: demuestra:
Historia
James Joseph Sylvester (1889) llega a la SVD de matrices cuadradas Reales. Independientemente de Beltrami y Jordan llama multiplicadores cannicos a los valores singulares. Erhard Schimdt 1907, teo gral de ecuaciones integrales reales. Introduce el concepto de valor propio y funcion propia de un K(x,y). Picard -1910, continua con el trabajo de Schimdt. Primero en nombrar los valores singulares.
Historia
Autonne 1915, SVD utilizando descomposicin polar. Eckart y Young 1936, SVD para matrices rectangulares complejas.
Definicion
Dada una matriz A mxn, una descomposicin SVD es una factorizacion:
Definicion
S es diagonal de tamao mxn
Tiene todos sus elementos = 0, menos los min(m,n) elementos de su diagonal principal. VALORES SINGULARES
min(m,n)
Definicion
U y V son bases unitarias u ortonormales (R)
Unitaria: si sus columnas forman una base ortonormal de vectores de Cm Ortonormal: es ortogonal y la norma de sus vectores es igual a 1 Ortogonal: si sus columnas forman una base ortogonal de vectores de Rm. => A-1=At UTU = Inxn VTV = Inxn
Repaso
x es ortogonal a y si el producto escalar entre ellos es = 0:
Definicion
A los vectores que forman las columnas de U y V se les llama: - vectores singulares de A por Izquierda - vectores singulares de A por Derecha
Teorema SVD
Toda matriz Amn admite una descomposicion en valores singulares. Ademas, los valores singulares estan determinados de forma unica.
Si A =>
Ejemplo
2 0 0 -3 = 0 0
A
0 1 0 -1 0 0 0 0 1 U
3 0 0 2 0 0 S
0 1 1 0
Vt
Ejemplo
2 0 0 -3 = 0 0
A
0 3 -1 0 u1 v1t 0 1 + 2
3 0 0 u2 v2t 1 0
Ejemplo
2 0 0 -3 = 0 0
A
0 0 3 0 -1 0 0 + 2
1 0 0 0 0 0
Aproximacion de A por Ak
Teorema: Dada A / rang(A) = r p = min (m,n) y r < p Sea: con k < r
=>
Aproximacion de A por Ak
SVD - Factorizacion
A = USVT
At.
ATA V = V S2
Ejemplito 2x2
A = 2 -2 1 1 At A = 2 1 -2 1 2 -2 1 1 5 -3 -3 5
Valores Propios L1 = 8 L2 = 2
ATA = V S2 VT
S = 22 0
0 2
L2=2 v2 =
1 1
v2 =
2/2 2/2
VT = - 2/2
SVD - Factorizacion
Para obtener U operamos de forma analoga:
0 0 1
22 0 0 2
SVD - Factorizacion
GNU Scientific Library (GSL) includes gsl_linalg_SV_decomp ALGLIB includes a partial port of the LAPACK to C++, C#, Delphi, Visual Basic, etc. JAMA A Java matrix package provided by the NIST. LAPACK users manual gives details of subroutines to calculate the SVD PROPACK, computes the SVD of large and sparse or structured matrices. SVDPACK, a library in ANSI FORTRAN 77 implementing four iterative SVD methods. Includes C and C++ interfaces. SVDLIBC, re-writing of SVDPACK in C. SVD-Python, Pure Python SVD under GNU GPL. NumPy SVD part of the linalg module of the NumPy module for numerical computing in Python
Donde J cumple:
Aplicaciones
Aproximacin de Matrices Una herramienta comn para resolver sistemas de ecuaciones homogneos. Una herramienta para diagonalizar matrices singulares o mal condicionadas Calculo rpido de la inversa de una matriz Calculo de mnimos cuadrados LSI Latent Semantic Indexing Compresin de Imgenes
>>[U,S,V] =svd(A)
Original
1 iteracin
Original
1 iteracin
2 iteraciones
3 iteraciones
4 iteraciones
5 iteraciones
Original
5 iteraciones
10 iteraciones
20 iteraciones
60 iteraciones
100 iteraciones
=> En total, (n + m+ 1 ) x k
Para la misma imagen n=480, m=640 Tenemos con k = 50 que la imagen comprimida slo requiere un 18% de la informacin original 50* (480+640+ 1) / (480*640) = 0.18