¿Cuáles son las diferencias básicas entre SVD (Descomposición de valor singular) y EVD (Descomposición de valor de Eigen)?

EVD ayuda a resolver el problema [math] Ax = \ lambda x [/ math]. Para la mayoría de los problemas físicos [matemática] A [/ matemática] es una matriz cuadrada (principalmente hermitiana). Si la multiplicación matricial con un vector puede considerarse como una transformación que rota y escala el vector, en EVD uno está realmente interesado en encontrar esos vectores [matemática] x [/ matemática] que no se rotarían con respecto a su dirección original pero puede escalar en longitud con respecto al vector original no transformado.

Otra forma de ver esto es observar el vector de columna individual de [math] A [/ math] y encontrar una orientación de eje que haga que todos los componentes de cada uno de estos vectores de columna sean iguales a cero. Esto es similar a alinear el vector a lo largo de uno de los ejes de coordenadas girando el eje.

Para dar un ejemplo concreto, considere la ecuación de una elipse (o elipsoide en 3D) que ha sido girada y traducida con respecto a sus ejes principales y expresada con respecto a su eje de coordenadas original y uno está interesado en averiguar la orientación de los ejes principales de la elipse junto con los radios correspondientes. Entonces uno puede usar EVD para obtener la respuesta.

En 2D, SVD responde a la comprensión intuitiva de que la acción de una matriz sobre una figura geométrica como una elipse puede ser replicada por Rotación seguida de Estiramiento seguido una vez más por Rotación. Entonces, [math] A = U \ Sigma V ^ * [/ math] ([math] ^ * [/ math] -conjugate transpose). [matemáticas] A [/ matemáticas] aquí puede ser en general en el sentido de ser una matriz rectangular.

La descomposición del valor singular y la descomposición propia están estrechamente relacionadas. A saber:

  • Los vectores singulares a la izquierda de [math] M [/ math] son ​​vectores propios de [math] MM ^ * [/ math].
  • Los vectores singulares a la derecha de [math] M [/ math] son ​​vectores propios de [math] M ^ * M [/ math].
  • Los valores singulares distintos de cero de [math] M [/ math] (que se encuentran en las entradas diagonales de Σ) son las raíces cuadradas de los valores propios distintos de cero de [math] M ^ * M [/ math] y [math ] MM ^ * [/ matemáticas].

Valor singular de descomposición

Nunca he escuchado la descomposición propia referida de esta manera.

Pero una diferencia muy simple es que SVD es un método directo. Termina en un número finito de pasos y la descomposición del valor propio es iterativa por naturaleza. La razón por la que existe la descomposición de Eigenvalue es por la descomposición de schur [1] que permite una reducción de la matriz de Hessenberg [2]. A partir de ahí, encontramos iterativamente los valores propios.

Ambos utilizan gram schmidt para tratar el error en la ortogonalización. En realidad, hay 6 formas diferentes en que puedo pensar en encontrar valores propios, mientras que solo 3 para encontrar valores singulares, sin embargo, una cosa es que si la matriz es cuadrada y positiva definida, entonces los valores propios son iguales a los valores singulares. Simplemente puede usar la descomposición de valores singulares.

Recientemente creé varias entradas de blog para demostrarlas. [3]

La SVD se puede realizar mediante el método de jacobi [4] o la biortoganización que utiliza la descomposición QR. Por supuesto, hay como 4 descomposiciones QR diferentes.

La búsqueda de valores propios se puede hacer a través del método de potencia, [5] iteración inversa, [6] iteración rayleigh [7], iteración QR, [8] QR con cambios, [9] QR con cambio de wilkson y algunas formas más ingeniosas [10] [11] Los métodos de Krylov son [12] como lanczos [13] o arnoldi como [14] también.

Por lo general, en realidad hay una gran cantidad de formas de hacer estas cosas, sin embargo, resuelven dos problemas relacionados diferentes.

Notas al pie

[1] Descomposición de Schur – Wikipedia

[2] Reducción de la forma de Hessenberg por Ryan Howe sobre álgebra lineal numérica / análisis numérico

[3] Página de Métodos Numéricos por Ryan Howe sobre Álgebra Lineal Numérica / Análisis Numérico

[4] SVD Jacobi por Ryan Howe en Álgebra lineal numérica / Análisis numérico

[5] Algoritmos de valor propio: la iteración de potencia de Ryan Howe sobre álgebra lineal numérica / análisis numérico

[6] Algoritmo de valor propio: iteración inversa de Ryan Howe sobre álgebra lineal numérica / análisis numérico

[7] Algoritmo de valor propio – Iteración de Rayleigh por Ryan Howe sobre álgebra lineal numérica / análisis numérico

[8] Algoritmos de valor propio: iteración QR de Ryan Howe sobre álgebra lineal numérica / análisis numérico

[9] QR de desplazamiento de algoritmos de valor propio por Ryan Howe sobre álgebra lineal numérica / análisis numérico

[10] Algoritmos de valor propio: QR desplazado con deflación por Ryan Howe en Álgebra lineal numérica / Análisis numérico

[11] QR Algs – Desplazamientos y deflaciones por Ryan Howe sobre álgebra lineal numérica / análisis numérico

[12] Sobre los métodos de Krylov … por Ryan Howe sobre Álgebra lineal numérica / Análisis numérico

[13] La iteración de Lanczos – por Ryan Howe en Álgebra lineal numérica / Análisis numérico

[14] Métodos de Krylov – Iteración de Arnoldi por Ryan Howe en Álgebra lineal numérica / Análisis numérico

Comencemos por comprender la descomposición propia :

Dada una matriz cuadrada no defectuosa [matemática] A \ in \ mathbb {C} ^ {mxm} [/ matemática] (es decir, A tiene un conjunto de n vectores propios linealmente independientes), podemos representar A como una matriz diagonal [matemática] \ Lambda [/ math] si expresamos dominio y rango en base a vectores propios:

[matemáticas] A = X \ Lambda X ^ {- 1} \ etiqueta * {} [/ matemáticas]

Esto es útil porque ahora podemos representar una expresión de la forma [math] Ax = b [/ math] como:

[matemáticas] b ‘= \ Lambda x’ \ etiqueta * {} [/ matemáticas]

donde [matemáticas] b ‘= X ^ {- 1} b [/ matemáticas] y [matemáticas] x’ = X ^ {- 1} x [/ matemáticas]

Ahora, para la descomposición del valor singular:

La SVD generaliza el concepto de expresar una matriz como una matriz diagonal a cualquier matriz arbitraria, siempre que usemos el dominio correcto y los espacios de rango. Eso significa que, mirando nuevamente el ejemplo [math] Ax = b [/ math], ahora podemos expresar [math] b [/ math] en base a los vectores singulares izquierdos (es decir, columnas de U):

[matemáticas] b ‘= U ^ {*} b \ etiqueta * {} [/ matemáticas]

y [matemáticas] x [/ matemáticas] en la base de vectores singulares derechos (es decir, columnas de V)

[matemáticas] x ‘= V ^ {*} x \ etiqueta * {} [/ matemáticas]

Usando estas definiciones, finalmente encontramos [1]:

[matemáticas] b = Ax \ rightarrow U ^ {*} b = U ^ {*} Ax = U ^ {*} U \ Sigma V ^ {*} x \ rightarrow b ‘= \ Sigma x’ \ tag * {} [/matemáticas]

reduciendo así

[matemáticas] Ax = b \ tag * {} [/ matemáticas]

a

[matemáticas] \ Sigma x ‘= b’ \ etiqueta * {} [/ matemáticas]

Ahora, finalmente, por las diferencias [1]:

  1. Como se muestra arriba, la descomposición propia usa solo una base, es decir, los vectores propios, mientras que la SVD usa dos bases diferentes, los vectores singulares izquierdo y derecho
  2. La base de la descomposición propia no es necesariamente ortogonal, ¡la base propia de la SVD es ortonormal !
  3. Cada matriz (!) Tiene una SVD , no se hacen preguntas, no es necesario que sea cuadrada ni que se cumpla ningún otro requisito. Por otro lado, ni siquiera cada matriz cuadrada tiene una descomposición propia, que es una diferencia fundamental que hace que la SVD sea muy poderosa.

Referencias: mucho de lo que he indicado anteriormente es un resumen de los contenidos que figuran en:

[1] Trefethen, Bau. Álgebra Lineal Numérica