2 votos

SVD -obligación de normalización

Supongamos que tenemos la siguiente matriz
$ A= \left[ {\begin{array}{cc} 2 & 2 \\ -1 & 1 \\ \end{array} } \right] $

y quiero calcular la SVD de esta matriz, he calculado en primer lugar
$A*A'$ que es igual a

$ \left[ {\begin{array}{cc} 8 & 0 \\ 0 & 2 \\ \end{array} } \right] $

como es una matriz simétrica, puedo descomponerla utilizando la descomposición de valores propios, sus correspondientes valores propios son

$8$ y $2$ mientras que los vectores propios son

$ U= \left[ {\begin{array}{cc} 1 & 0 \\ 0 & 1 \\ \end{array} } \right] $

para calcular los vectores singulares derechos he utilizado $A'*A $ que es igual a

$ \left[ {\begin{array}{cc} 5 & 3 \\ 3 & 5 \\ \end{array} } \right] $

eigenvectores de esta matriz es igual a

$ V=\left[ {\begin{array}{cc} 1 & -1 \\ 1 & 1 \\ \end{array} } \right] $

y la matriz diagonal será

$ E=\left[ {\begin{array}{cc} \sqrt{8} & 0 \\ 0 & \sqrt{2} \\ \end{array} } \right] $ así matriz original igual a

$A=U*E*V'$

pero me da un resultado diferente y ¿por qué? ¿dónde estoy cometiendo un error?

2voto

dantopa Puntos 111

Calcular la descomposición en valores singulares de una matriz $\mathbf{A}\in\mathbb{C}^{m\times n}_{\rho}$ $$ \mathbf{A} = \mathbf{U} \, \Sigma \, \mathbf{V}^{*} = % U \left[ \begin{array}{cc} \color{blue}{\mathbf{U}_{\mathcal{R}}} & \color{red}{\mathbf{U}_{\mathcal{N}}} \end{array} \right] % Sigma \left[ \begin{array}{cc} \mathbf{S}_{\rho\times \rho} & \mathbf{0} \\ \mathbf{0} & \mathbf{0} \end{array} \right] % V \left[ \begin{array}{c} \color{blue}{\mathbf{V}_{\mathcal{R}}}^{*} \\ \color{red}{\mathbf{V}_{\mathcal{N}}}^{*} \end{array} \right] \\ \\ \tag{1} $$ La belleza de la SVD es que proporciona una base ortonormal para los cuatro subespacios fundamentales de una matriz $\mathbf{A}\in\mathbb{C}^{m\times n}$ $$ \begin{align} % \mathbf{C}^{n} = \color{blue}{\mathcal{R} \left( \mathbf{A}^{*} \right)} \oplus \color{red}{\mathcal{N} \left( \mathbf{A} \right)} \\ % \mathbf{C}^{m} = \color{blue}{\mathcal{R} \left( \mathbf{A} \right)} \oplus \color{red} {\mathcal{N} \left( \mathbf{A}^{*} \right)} % \end{align} $$ Para calcular la SVD,

  1. Resolver el dominio encontrando los vectores propios de $\mathbf{A}^{*}\mathbf{A}$ . Salida: matriz de valores singulares $\mathbf{S}$ , $\color{blue}{\mathbf{V}_{\mathcal{R}}}$ .
  2. Compute $\color{blue}{\mathbf{U}_{\mathcal{R}}}$ utilizando $\mathbf{S}$ y $\color{blue}{\mathbf{V}_{\mathcal{R}}}$

1. Resolver $\ \color{blue}{\mathcal{R} \left( \mathbf{A}^{*} \right)}$

Primer paso :

Calcular la matriz del producto $$ % \begin{align} % \mathbf{W} = \mathbf{A}^{T}\mathbf{A} = % \left[ \begin{array}{cr} 2 & -1 \\ 2 & 1 \\ \end{array} \right] \left[ \begin{array}{rr} 2 & 2 \\ -1 & 1 \\ \end{array} \right] % = % \left[ \begin{array}{cc} 5 & 3 \\ 3 & 5 \\ \end{array} \right] % \end{align} % $$

Paso 2 :

Calcular el espectro de valores propios $\lambda \left(\mathbf{W}\right)$

$$ \det \mathbf{W} = 16, \qquad \text{trace } \mathbf{W} = 10 $$ El polinomio característico es $$ p(\lambda) = \lambda^{2} - \lambda \text{ trace } \mathbf{W} + \det \mathbf{W} = \lambda ^2-10 \lambda +16 = \left( \lambda - 8 \right) \left( \lambda - 2 \right) $$ Las raíces del $p(\lambda)$ son los valores propios de $\mathbf{W}$ : $$ \lambda \left(\mathbf{W}\right) = \left\{ 8, 2 \right\} $$

Paso 3 :

Calcular el espectro de valores singulares $\sigma$

Para obtener los valores singulares: forma $\tilde{\lambda}$ una lista ordenada de forma decreciente con $0$ valores eliminados: $$ \sigma = \sqrt{\tilde{\lambda}} = \left\{ 2\sqrt{2}, \sqrt{2} \right\} $$ Los valores singulares son las entradas diagonales del $\mathbf{S}$ : $$ \boxed{ \mathbf{S} = \sqrt{2}\left[ \begin{array}{cc} 2 & 0 \\ 0 & 1 \\ \end{array} \right] } $$

Paso 4 :

Calcular los vectores propios de $\mathbf{W}$

Herramienta fundamental: ecuación de valores propios $$ \mathbf{W} v_{k} = \lambda_{k} v_{k}, \qquad k = 1, 2 $$

$k=1$ : $$ % \begin{align} % \mathbf{W} v_{1} &= \lambda_{1} v_{1} \\ % \left[ \begin{array}{cc} 5 & 3 \\ 3 & 5 \\ \end{array} \right] % \left[ \begin{array}{c} x \\ y \\ \end{array} \right] % &= % 8 % \left[ \begin{array}{c} x \\ y \\ \end{array} \right] \\[3pt] % % % \left[ \begin{array}{c} 5 x + 3 y \\ 3 x + 5 y \\ \end{array} \right] &= \left[ \begin{array}{c} 8x \\ 8y \\ \end{array} \right]\\[3pt] % % % \left[ \begin{array}{c} x \\ y \\ \end{array} \right] &= \left[ \begin{array}{c} 1 \\ 1 \\ \end{array} \right] % \end{align} % $$ El vector normalizado es el primer vector columna en $\color{blue}{\mathbf{V}_{\mathcal{R}}}$ . $$ \hat{v}_{1} = \frac{1}{\sqrt{2}} \left[ \begin{array}{r} 1 \\ 1 \\ \end{array} \right] $$

$k=2$ : $$ % \begin{align} % \mathbf{W} v_{2} &= \lambda_{2} v_{2} \\ % \left[ \begin{array}{cc} 5 & 3 \\ 3 & 5 \\ \end{array} \right] % \left[ \begin{array}{c} x \\ y \\ \end{array} \right] % &= % 2 % \left[ \begin{array}{c} x \\ y \\ \end{array} \right] \\[3pt] % % % \left[ \begin{array}{c} 5 x + 3 y \\ 3 x + 5 y \\ \end{array} \right] &= \left[ \begin{array}{c} 2x \\ 2y \\ \end{array} \right]\\[3pt] % % % \left[ \begin{array}{c} x \\ y \\ \end{array} \right] &= \left[ \begin{array}{c} -1 \\ 1 \\ \end{array} \right] % \end{align} % $$ El vector normalizado es el segundo vector columna en $\color{blue}{\mathbf{V}_{\mathcal{R}}}$ . $$ \hat{v}_{2} = \frac{1}{\sqrt{2}} \left[ \begin{array}{r} -1 \\ 1 \\ \end{array} \right] $$ Ensamblar: $$ \boxed{ \color{blue}{\mathbf{V}_{\mathcal{R}}} = \frac{1}{\sqrt{2}} % \left[ \begin{array}{cr} 1 & -1 \\ 1 & 1 \\ \end{array} \right] } $$

2. Resolver $\ \color{blue}{\mathcal{R} \left( \mathbf{A} \right)}$

Reorganizar (1) para recuperar $$ \color{blue}{\mathbf{U}_{\mathcal{R}}} = \mathbf{A} \color{blue}{\mathbf{V}_{\mathcal{R}}} \mathbf{S}^{-1} $$

El poder de la SVD es que alinea la $\color{blue}{range}$ y tiene en cuenta las diferencias de escala. Esto permite el cálculo directo mediante la ecuación (1): $$ \begin{align} \color{blue}{\mathbf{U}_{\mathcal{R}}} = \mathbf{A} \color{blue}{\mathbf{V}_{\mathcal{R}}} \mathbf{S}^{-1} % &= \left[ \begin{array}{rc} 2 & 2 \\ -1 & 1 \\ \end{array} \right] % \frac{1}{\sqrt{2}} \left[ \begin{array}{cr} 1 & -1 \\ 1 & 1 \\ \end{array} \right] % Sinv \left[ \begin{array}{cc} \frac{1}{2 \sqrt{2}} & 0 \\ 0 & \frac{1}{\sqrt{2}} \\ \end{array} \right] % \end{align} % $$ Por fin, $$ \boxed{ \color{blue}{\mathbf{U}_{\mathcal{R}}} = \left[ \begin{array}{cc} 1 & 0 \\ 0 & 1 \\ \end{array} \right] } $$


Respuesta final

$$ \mathbf{A} = \color{blue}{\mathbf{U}_{\mathcal{R}}} \mathbf{S} \color{blue}{\mathbf{V}_{\mathcal{R}}}^{*} = % \left[ \begin{array}{cc} 1 & 0 \\ 0 & 1 \\ \end{array} \right] % \sqrt{2} \left[ \begin{array}{cc} 2 & 0 \\ 0 & 1 \\ \end{array} \right] \frac{1}{\sqrt{2}} % \left[ \begin{array}{cr} 1 & -1 \\ 1 & 1 \\ \end{array} \right] % % $$

1voto

Jukka Dahlbom Puntos 1219

Primer problema: seleccionar su $U$ determina la matriz $V$ . Después de encontrar $U$ todo lo que queda es $$ A = U \Sigma V' \implies V = \Sigma^{-1}U'A $$ El segundo problema es que al encontrar $V$ no has normalizado las columnas. Sin embargo, esto no es estrictamente relevante, ya que tu método para encontrar $V$ en primer lugar era incorrecto.

Ver mi responda aquí para una explicación más detallada. Mi respuesta es sobre cómo se puede calcular la SVD encontrando $V$ primero, pero la idea es la misma.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X