Розклад сингулярного значення для симетричної матриці A=AT
є одним і тим же, як і його канонічна ейгендекомпозиція (тобто з ортонормальною матрицею власних векторів), тоді як те ж саме для несиметричної матриці M=UΣVT - просто канонічне власне значення розкладу для симетричної матриці
H=[0MTM0]=[U00V][0ΣΣ0][U00V]T
Отже, не втрачаючи загальності, давайте розглянемо тісно пов'язане питання:
Якщо дві симетричні матриці приблизно однакові, то чи слід очікувати, що їх канонічні ейгендекомпозиції будуть приблизно однаковими?
Відповідь - дивовижна ні. Дозволяєϵ>0 будьте малі та розгляньте дві матриці
Aϵ=[1ϵϵ1]=VΛϵVT,Bϵ=[1+ϵ001−ϵ]=UΛϵUT
вони мають власні значення
Λϵ=diag(1+ϵ,1−ϵ), але чиї власні вектори є
V=12–√[111−1],U=[1001].
Поки матриці
Aϵ≈Bϵ приблизно однакові, їх матриці власних векторів
V і
Uдуже різні. Дійсно, оскільки ейгендекомпозиції унікальні для
ϵ>0, вибору насправді не існує
U,V такий як
U≈V
Тепер, застосовуючи це розуміння до SVD з обмеженою точністю, давайте напишемо M0=U0Σ0VT0як ваша матриця в float64
точності, іMϵ=UϵΣϵVTϵ
як та сама матриця в float32
точності. Якщо припустити, що самі SVD є точними, то значення сингулярніΣ0,Σϵ
повинна відрізнятися не більше ніж малим постійним коефіцієнтом ϵ≈10−7, але одиничні вектори U0,Uϵ і V0,Vϵ
може відрізнятися довільно великою кількістю. Отже, як показано, немає можливості зробити SVD "стабільним" у значенні сингулярних векторів.