SVD算法的全面介绍
(5) 如果k i 1,则
x k 1 k y 0
k 1
k 1 cs
k 1 sc
; k k 1,转步(3)
否则,
cs
i i i 1 i 1
sc
迭代结束。
接着再给出零位移QR迭代算法的Upward算法如下:
算法3.2.1b: oldc 1
x y
for i : 1:( 1) call [c,s,r] Givens(x,y) //调用算法3.1.1 Update(c,s,ui,ui 1) //利用算法3.1.2
//其中ui,ui 1分别为矩阵U的第i和i-1列
if(i i 1 olds*r x oldc*r
y i 1*s h i 1*c oldc c olds s
call [c,s,r] Givens(x,y)
Update(c,s,vi,vi 1) //利用算法3.1.2
//其中vi,vi 1分别为矩阵V的第i和i-1列
i r
x h
if(i i 1) y i 1 endfor
i 1 h*s
i h*c
2) 应用收敛判据
在前面已经给出了四个收敛判据,因为应用收敛判据需要很多额外的运算量,所以尽量只当可能收敛时才利用收敛判据;从经验观察可知,当“从上往下”开始进行“驱逐出境”时,一般最底层的元素 n趋向于收敛到最小的奇异值,而且 n比