La descomposición del valor singular para una matriz simétrica. A=AT
es uno y el mismo que su descomposición propia canónica (es decir, con una matriz de vectores propios ortonormales), mientras que lo mismo para una matriz no simétrica M=UΣVT es solo la descomposición del valor propio canónico para la matriz simétrica
H=[0MTM0]=[U00V][0ΣΣ0][U00V]T
Por lo tanto, sin pérdida de generalidad, consideremos una pregunta estrechamente relacionada:
si dos matrices simétricas son aproximadamente iguales, ¿deberíamos esperar que sus descomposiciones propias canónicas también sean aproximadamente las mismas?
La respuesta es un sorprendente no. Dejarϵ>0 ser pequeño y considerar las dos matrices
Aϵ=[1ϵϵ1]=VΛϵVT,Bϵ=[1+ϵ001−ϵ]=UΛϵUT
ambos tienen valores propios
Λϵ=diag(1+ϵ,1−ϵ), pero cuyos vectores propios son
V=12–√[111−1],U=[1001].
Mientras las matrices
Aϵ≈Bϵ son aproximadamente iguales, sus vectores de matriz de vectores
V y
Uson muy diferentes. De hecho, dado que las descomposiciones propias son únicas para
ϵ>0, realmente no hay elección de
U,V tal que
U≈V
Ahora, aplicando esta información al SVD con precisión finita, escribamos M0=U0Σ0VT0como su matriz en float64
precisión, yMϵ=UϵΣϵVTϵ
como la misma matriz en float32
precisión. Si suponemos que los SVD son exactos, entonces los valores singularesΣ0,Σϵ
debe diferir en no más que un pequeño factor constante de ϵ≈10−7, pero los vectores singulares U0,Uϵ y V0,Vϵ
puede diferir en una cantidad arbitrariamente grande. Por lo tanto, como se muestra, no hay forma de hacer que la SVD sea "estable" en el sentido de los vectores singulares.