论文部分内容阅读
随着科学和技术的发展,越来越多的应用和计算问题需要求解大规模矩阵的少数几个最小奇异值及其相应的左(右)异向量.众所周知,求矩阵的奇异值分解通常用Lonczos Bidiagonatization(LBD)先把矩阵转化为双对角阵,然后用Golub-KahanSVD求出双对角阵的奇异值分解,从而求出矩阵的奇异值分解.最早LBD算法是Golub等人在文献中提出的。后来Soremen在文献(25]提出了-种有效的隐式重新启动策略并成功应用到Arnoldi方法和Lanczos三对角化方法中,这种方法可看作是有一种截断QR算法(curtailed QR).再后来Bjock等人把这种策略应用到LBD并得到相应的递推公式,接着贾仲孝通过添加“精化向量”提出了精化算法.最近Kokiopoulou等人应用LBD的递推公式并添加“精化向量”来求解-些奇异值及相应的奇异向量.本文就是在Kokiopoulou等人的工作上进行改进的.
本文的主要工作是给出-种计算少数几个最小奇异三元组的隐式重新启动精化Lallcozs双对角方法,与上述方法区别在于:我们求的是小的奇异值,因此我们用调和Ritz值作为位移,能有效地逼近大规模矩阵的最小奇异值的奇异三元组.在算法中我们还用精化残量,精化奇异向量和精化Rayleigh商,同时采取压缩技术压缩掉已经求出的小的奇异三元组.最后,我们用数值实验表明,我们的算法可以成功地求解大规模矩阵的小的奇异三元组,收敛速度也较快.
本文的结构和内容如下:第一章,我们在第一节对奇异值的背景及数值解法的研究历史给出一个比较详细的概述,第二节介绍了怎样用低维的奇异三元组来逼近大规模矩阵的奇异三元组.在第二章,我们首先介绍LBD,然看给出隐式重启LBD及讨论位移的选择问题.在第三章中我们证明正交压缩变换(ODT)的几个结论,给出精化向量、精化残量及精化Rayleigh商的求解,第四章,我们给出完整的算法,最后-章是数值实验.