Разложение по сингулярности для симметричной матрицы A =AT
одно и то же с его каноническим собственным разложением (т. е. с ортонормированной матрицей собственных векторов), а то же самое с несимметричной матрицей M= UΣВT это просто каноническое разложение по собственным значениям для симметричной матрицы
ЧАС= [0MTM0] = [U00В] [0ΣΣ0][U00В]T
Следовательно, не ограничивая общности, рассмотрим тесно связанный вопрос:
если две симметричные матрицы приблизительно одинаковы, то следует ли ожидать, что их канонические собственные разложения также будут приблизительно одинаковыми?
Ответ удивительный, нет. Позволятьε > 0 быть маленьким, и рассмотрим две матрицы
Aε= [1εε1] =VΛεВT,Вε= [1 + ϵ001 - ϵ] =UΛεUT
оба из которых имеют собственные значения
Λε= d i a g ( 1 + ϵ , 1 - ϵ )но чьи собственные векторы
V=12–√[111−1],U=[1001].
Пока матрицы
Aϵ≈Bϵ примерно одинаковы, их матрица собственных векторов
V а также
Uочень разные. Действительно, поскольку собственные разложения являются уникальными для
ϵ>0действительно не существует выбора
U,V such that
U≈V
Now, applying this insight back to the SVD under finite precision,
let us write M0=U0Σ0VT0 as your matrix in float64
precision, and Mϵ=UϵΣϵVTϵ
as the same matrix in float32
precision. If we assume that the SVDs
themselves are exact, then the singular values Σ0,Σϵ
must differ by no more than a small constant factor of ϵ≈10−7,
but the singular vectors U0,Uϵ and V0,Vϵ
can differ by an arbitrarily large quantity. Hence, as shown, there is no way to make the SVD "stable" in the sense of the singular vectors.