Answers:
除了(现在是经典的)Golub-Reinsch论文, Brian在回答中指出(我已经链接到该手册的手册版本),以及(现在也是经典的)Golub-Kahan的前作论文,但还有很多自那时以来,在计算SVD方面的重要发展。首先,我必须总结一下常用方法的工作原理。
计算矩阵的SVD的想法在质量上类似于用于计算对称矩阵的本征分解的方法(并且,如OP中所述,它们之间存在密切的关系)。特别地,一个过程分为两个阶段:转换为双对角矩阵,然后找到双对角矩阵的SVD。这完全类似于首先将对称矩阵还原为三对角线形式,然后计算所得三对角线的特征分解的过程。
为了计算对角矩阵的SVD,Jim Demmel和Velvel Kahan的论文是一个特别有趣的突破,该论文证明了通过适当地修改最初提出的方法,即使是微小的奇异值也可以计算出对角矩阵的奇异值。 Golub-Reinsch。这是再其次是(重?)发现的DQD算法,这是Rutishauser老商差分算法的后裔。(Beresford Parlett 在这里进行了很好的讨论。)如果有内存,这是LAPACK内部使用的首选方法。除此之外,在对称特征问题的解决方案中,总是有可能导出开发的SVD版本。例如,存在分而治之的SVD版本以及旧式Jacobi算法的SVD版本(在某些情况下可能更准确)。
关于双角化,Barlow的论文概述了一种改进的方法,该方法比Golub和Reincsh的原始过程需要更多的工作,但产生的双角矩阵更准确。