Saltar al contenido

Cálculo manual de la SVD: resolución de ambigüedades de signos en los vectores de rango.

Nuestro team de trabajo ha estado largas horas buscando respuestas a tu duda, te dejamos la respuestas por esto deseamos servirte de mucha apoyo.

Solución:

Esta es una publicación muy agradable con una discusión esclarecedora sobre la confusión entre las opciones de signos y cómo se propagan.

Definir la descomposición del valor singular de un rango. $ rho $ matriz como
$$ mathbf A = mathbf U , Sigma , mathbf V ^ *. $$

Conectando vectores entre espacios de filas y columnas

Las convenciones de signos pueden entenderse observando la relación entre los $ u $ y $ v $ vectores
$$ u_ k = sigma ^ – 1 _ k mathbf A v_ k, qquad v_ k = sigma ^ – 1 _ k u ^ * _ k mathbf A, qquad k = 1, rho etiqueta 1 $$
Cambiar el signo de un $ u $ vector induce un cambio de signo en el correspondiente $ v $ vector; cambiando el signo de $ v $ vector induce un cambio de signo el correspondiente $ u $ vector.

Matriz de ejemplo

Ciertamente estamos de acuerdo en que los valores singulares son $ sigma = left 2 sqrt 3, sqrt 10 right $. Nominemos un conjunto de autovectores.

$$ mathbf A , mathbf A ^ *: quad% u_ 1 =% frac 1 sqrt 2 left[
beginarrayr
1 \
1 \
endarray
right], quad% u_ 2 =% frac 1 sqrt 2 left[
beginarrayr
-1 \
1 \
endarray
right]
$$
$$ mathbf A ^ * mathbf A: quad% v_ 1 =% frac 1 sqrt 6 left[
beginarrayr
1 \
2 \
1
endarray
right], quad% v_ 2 =% frac 1 sqrt 5 left[
beginarrayr
-2 \
1 \
0
endarray
right]
% v_ 3 =% frac 1 sqrt 30 left[
beginarrayr
-1 \
-2 \
5
endarray
right]
$$

¿Cómo decidimos distribuir los signos menos en estos vectores? Utilice la convención de hacer que las primeras entradas sean negativas.

Dando un paso atrás, los vectores propios tienen una ambigüedad de signo global inherente. Por ejemplo
$$ begin align% mathbf A ^ * mathbf A v_ 1 & = mathbf 0 \% mathbf A ^ * mathbf A left (-v_ 1 right) & = left (- mathbf 0 right) = mathbf 0% end align $$
Usando este conjunto arbitrario de vectores de columna, construya el SVD predeterminado:
$$ mathbf A = left[
beginarraycc
u_1 & u_2
endarray
right]
% Sigma ,% izquierda[
beginarrayccc
v_1 & v_2 & v_3
endarray
right]^ * $$

Si seleccionamos la convención de signos $ color azul pm $ sobre el $ k- $a vector de columna, inducimos la convención de signos $ color rojo pm $ sobre el $ k- $a vector de columna en el espacio de rango complementario. los $ color azul elección $ induce el $ color rojo consecuencia $.

Elecciones y consecuencias

Por ejemplo, encuentre la SVD resolviendo el espacio de la columna para producir los vectores $ u $. Los vectores $ v $ se construirá utilizando la segunda igualdad en $ (1) $. Cambiar el inicio de sesión global $ u_ 1 $ cambia el inicio de sesión global $ v_ 1 $.
$$ mathbf A = left[
beginarraycc
colorbluepmu_1 & u_2
endarray
right]
% Sigma ,% izquierda[
beginarrayccc
colorredpmv_1 & v_2 & v_3
endarray
right]^ * $$

Una buena característica de la publicación de @ Crimson es la demostración de que dónde se puede elegir qué espacio de rango calcular y cuál construir. Calcular $ mathbf V $ y construir $ mathbf U $, o calcular $ mathbf U $ y construir $ mathbf V $.

El otro camino es resolver los vectores de espacio de filas. $ v $ y usa la primera igualdad en $ (1) $ para construir los vectores $ u $. El punto es que al activar el inicio de sesión global $ v_ 1 $ cambia el inicio de sesión global $ u_ 1 $$$ mathbf A = left[
beginarraycc
colorredpmu_1 & u_2
endarray
right]
% Sigma ,% izquierda[
beginarrayccc
colorbluepmv_1 & v_2 & v_3
endarray
right]^ * $$

La elección y la consecuencia intercambian lugares. El proceso para el primer vector se extiende a todos $ rho $ vectores en el espacio de rango.

Contando opciones

El número de opciones de signos únicos es $ 2 ^ rho $, dos opciones para cada vector de espacio de rango.

Aquí el rango de la matriz es $ rho = 2 $ y aquí están $ 2 ^ 2 = 4 $ conjuntos de vectores únicos. Si $ mathbf A mathbf A ^ * $ se resuelve, entonces:
$$ begin array cc u_ 1 & u_ 2 & v_ 1 & v_ 2 \ hline color blue + & color blue + & color rojo + & color rojo + \ color azul + & color azul – & color rojo + & color rojo – \ color azul – & color azul + & color rojo + & color rojo + \ color azul – & color azul – & color rojo – & color rojo – \ end array $$
Si en cambio $ mathbf A ^ * mathbf A $ se resuelve, entonces:
$$ begin array cc v_ 1 & v_ 2 & u_ 1 & u_ 2 \ hline color blue + & color blue + & color rojo + & color rojo + \ color azul + & color azul – & color rojo + & color rojo – \ color azul – & color azul + & color rojo + & color rojo + \ color azul – & color azul – & color rojo – & color rojo – \ end array $$

Otro ejemplo está en SVD y las columnas. Hice esto mal pero parece que todavía funciona, ¿por qué?

Los vectores singulares de la izquierda son

$$ mathrm u _1 in left t_1 begin bmatrix 1 \ 1 end bmatrix: t_1 in mathbb R right $$

$$ mathrm u _2 in left t_2 begin bmatrix 1 \ -1 end bmatrix: t_2 in mathbb R right $$

Queremos que los vectores singulares de la izquierda sean ortonormal. Ya son ortogonales. Normalizando,

$$ mathrm u _1 = frac t_1 sqrt 2 t_1 ^ 2 begin bmatrix 1 \ 1 end bmatrix = operatorname sgn (t_1) begin bmatrix frac 1 sqrt 2 \ frac 1 sqrt 2 end bmatrix $$

$$ mathrm u _2 = frac t_2 sqrt 2 t_2 ^ 2 begin bmatrix 1 \ -1 end bmatrix = operatorname sgn (t_2) begin bmatrix frac 1 sqrt 2 \ – frac 1 sqrt 2 end bmatrix $$

donde $ operatorname sgn $ denota la función signum. Por eso,

$$ mathrm U = begin bmatrix | & | \ mathrm u _ 1 & mathrm u _ 2 \ | & | end bmatrix = begin bmatrix frac 1 sqrt 2 & frac 1 sqrt 2 \ frac 1 sqrt 2 & – frac 1 sqrt 2 end bmatrix begin bmatrix operatorname sgn (t_1) & 0 \ 0 & operatorname sgn (t_2) end bmatrix $$

Hay $ 2 ^ 2 = 4 $ opciones posibles.

Sección de Reseñas y Valoraciones

Acuérdate de que tienes autorización de interpretar .

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *