第1部分 方法介绍
奇异值分解(SVD )定理:
设m n A R ?∈,则存在正交矩阵m m V R ?∈和n n U R ?∈,使得
T
O A V U O O ∑??=??
??
其中12(,,
,)r diag σσσ∑=,而且120r σσσ≥≥≥>,(1,2,
,)i i r σ=称为A 的
奇异值,V 的第i 列称为A 的左奇异向量,U 的第i 列称为A 的右奇异向量。
注:不失一般性,可以假设m n ≥,(对于m n
方法1:传统的SVD 算法
主要思想:
设()m n A R m n ?∈≥,先将A 二对角化,即构造正交矩阵1U 和1V 使得
110T B n U AV m n ??
=??
-??
其中1200n n B δγγδ???
???=??????
然后,对三角矩阵T T B B =进行带Wilkinson 位移的对称QR 迭代得到:T B P BQ =。
当某个0i γ=时,B 具有形状12B O B O B ??
=?
???
,此时可以将B 的奇异值问题分解为两个低阶二对角阵的奇异值分解问题;而当某个0i δ=时,可以适当选取'Given s 变换,使得第i 行元素全为零的二对角阵,因此,此时也可以将B 约化为两个低
阶二对角阵的奇异值分解问题。
在实际计算时,当i B δε∞≤或者()
1j j j γεδδ-≤+(这里ε是一个略大于机器精度的正数)时,就将i δ或者i γ视作零,就可以将B 分解为两个低阶二对角阵的奇异值分解问题。