Un ejemplo que me encantó en mi última clase fue la compresión de imágenes con pérdidas mediante la descomposición de valores singulares.
La SVD dice que la transformación correspondiente a cualquier matriz real (no necesariamente cuadrada) puede descomponerse en tres pasos: una rotación que olvida algunas dimensiones, un estiramiento a lo largo de los ejes de coordenadas y, finalmente, una rotación. En otras palabras, toda matriz puede escribirse de la forma HDA, siendo las filas de A ortonormales, las columnas de H ortonormales y D una matriz diagonal cuadrada con entradas no negativas no crecientes en la diagonal.
Considere una fotografía que es un 768×1024768×1024 conjunto de (red,green,blue)(red,green,blue) triples, que también podemos almacenar como 3 matrices RR , GG y BB de números reales. Ahora bien, aunque la matriz RR no tiene nada que ver con la transformación del espacio, podemos considerarlo como tal, y utilizando la SVD escribir R=HDAR=HDA . Llama a los números de la diagonal de DD por λ1≥λ2≥⋯≥λs≥0λ1≥λ2≥⋯≥λs≥0 y que D′k sea diag(λ1,…,λk,0,0,…) , un s×s matriz diagonal, y dejemos que Dk sea diag(λ1,…,λk) . Sea Hk sea el 768×k matriz formada a partir de la primera k columnas de H y, del mismo modo, dejemos que Ak sea el k×1024 matriz formada a partir de la primera k filas de A . Entonces R=HDA≈HD′kA=HkDkAk, donde ≈ es debido a la continuidad, lo que es apropiado si el λ que fueron sustituidos por ceros eran pequeños.
Ahora, el remate. Necesitamos 3⋅768⋅1024 (unos 2 megabytes) reales inicialmente para almacenar la fotografía. Pero para almacenar Hk , Dk y Ak para cada uno de los tres colores, sólo necesitamos 3(768⋅k+k+k⋅1024)=5379k números reales. Con k=25 , lo que da una relación de compresión de aproximadamente 18. Es decir, el tamaño del archivo pasa de unos 2 mb a unos 130 kb. Es decir, es más rápido por un factor de 20 transmitir las tres matrices H25,D25,A25 que transmitir su producto.
La SVD es lo suficientemente rápida de calcular como para que puedas hacer esto al instante (usando Mathematica, por ejemplo) con una imagen del público, y ellos puedan maravillarse con sus propias caras borrosas (pero bastante reconocibles). Además, mostrar el tamaño real de los archivos en disco del mapa de bits original y de la imagen comprimida es bastante impresionante. Al menos, lo es si tus cálculos se aproximan mucho.
Lo realmente impresionante de este ejemplo (para mí, al menos) es que la matriz con la que empezamos es sólo una tabla de datos y no una transformación. Pero al considerarla como si fuera una transformación, ganamos poder sobre ella de todos modos. Esto es una gran motivación para el álgebra lineal; a los estudiantes les resulta mucho más fácil imaginar que se encuentran con una tabla de datos que con una transformación lineal.