¿Cómo podemos pensar en la descomposición de valores singulares?

La descomposición del valor singular (SVD)

4.1 Deniciones

Comenzaremos con las definiciones formales y luego discutiremos las interpretaciones, aplicaciones y

conexiones a conceptos en conferencias anteriores. Una descomposición de valor singular (SVD) de un

mn matriz A expresa la matriz como el producto de tres \ simples “matrices:

A = USV>; (3)

dónde:

1. U es una matriz ortogonal mm; 2

2. V es una matriz ortogonal nn;

3. S es una matriz diagonal mn con entradas no negativas, y con las entradas diagonales

ordenados de mayor a menor (a medida que uno va \ noroeste “a \ sureste)”. 3

Tenga en cuenta que, en contraste con la descomposición discutida en la Lección # 8 (A = QDQ> cuando

A tiene la forma X> X), las matrices ortogonales U y V no son lo mismo | desde una necesidad

no sea cuadrado, U y V ni siquiera necesitan tener las mismas dimensiones.

Las columnas de U se denominan vectores singulares izquierdos de A (estos son vectores m). los

Las columnas de V (es decir, las filas de V>) son los vectores singulares correctos de A (estos son n-

vectores). Las entradas de S son los valores singulares de A. Así, con cada vector singular (izquierda

2 Recuerde de la última conferencia que una matriz es ortogonal si sus columnas (o, de manera equivalente, sus filas) son ortonor-

mal vectores, lo que significa que todos tienen la norma 1 y el producto interno de cualquier par distinto de ellos es 0.

3Cuando decimos que una matriz (no necesariamente cuadrada) es diagonal, queremos decir lo que pensarías: solo el

las entradas del formulario (i; i) pueden ser distintas de cero.

4 Incluso pequeños ejemplos numéricos son tediosos de hacer en detalle | la restricción de ortogonalidad en singular

vectores asegura que la mayoría de los números sean desordenados. La forma más fácil de tener una idea de cómo se ven las SVD

es alimentar algunas matrices pequeñas en la subrutina SVD compatible con su entorno favorito (Matlab,

biblioteca numpy de Python, etc.).

5 5

o derecha) hay un valor singular asociado. El vector singular \ rst “o \ top” se refiere a

el asociado con el mayor valor singular, y así sucesivamente. Ver Figura 2.

Para ver mejor cómo la SVD expresa A como una \ lista de sus ingredientes, “verifique que

factorización A = USV> es equivalente a la expresión

A =

minXfm; ng

i = 1

si uiv>

yo ; (4)

donde si es el i-ésimo valor singular y ui; vi son los singulares izquierdo y derecho correspondientes

vectores Es decir, la SVD expresa A como una combinación lineal no negativa de minfm; ng

matrices de rango 1, con los valores singulares que proporcionan los multiplicadores y los productos externos

de los vectores singulares izquierdo y derecho que proporcionan las matrices de rango 1.

Cada matriz A tiene una SVD. La prueba no es profunda, pero se cubre mejor de forma lineal.

curso de álgebra que aquí. Geométricamente, pensando en una matriz mn como un mapeo de

Rn to Rm, este hecho es algo sorprendente: cada matriz A, por extraña que sea, es solo

realizar una rotación en el dominio (multiplicación por V>), seguido de escalado más suma

o eliminar dimensiones (multiplicación por S) según sea necesario, seguido de una rotación en el rango

(multiplicación por U). En la línea de la discusión de la última conferencia, la SVD es \ more o

menos único “. Los valores singulares de una matriz son únicos. Cuando aparece un valor singular

varias veces, los subespacios abarcados por los correspondientes vectores singulares izquierdo y derecho

tienen una definición única, pero se pueden elegir bases ortonormales arbitrarias para cada una.

Hay algoritmos bastante buenos para calcular la SVD de una matriz; los detalles están cubiertos

en cualquier curso de análisis numérico. Es poco probable que alguna vez necesite implementar uno

de estos usted mismo. Por ejemplo, en Matlab, literalmente solo escribe [U, S, V] = svd (A) en

calcule la SVD de A. El tiempo de ejecución del algoritmo es el menor de O (m2n) y

O (n2m), y sus implementaciones estándar han sido muy optimizadas. Un típico

la computadora portátil no debería tener problemas para calcular el SVD de una matriz densa 50005000, pero podría

ahogarse en una matriz 10000 10000. Como comentamos al final de estas notas, si solo quieres

para calcular los valores singulares k más grandes y sus vectores singulares asociados, esto puede ser

calculado significativamente más rápido, en el tiempo aproximadamente O (kmn).

Físicamente, el punto singular es un punto en una línea recta, no tiene dimensión, por lo que no tiene composición. Se llama singularidad. Esto es una respuesta muy breve, como una partícula fundamental.