本文记录计算矩阵奇异值分解SVD的原理与流程。
注1:限于研究水平,分析难免不当,欢迎批评指正。
零、预修
0.1 矩阵的奇异值
设列满秩矩阵,若
的特征值为
,则称
为矩阵
的奇异值。
0.2 SVD(分解)定理
设,则存在正交矩阵
与
,使得

其中,,
,
即为矩阵
的奇异值。
考虑下述两种情形:
- 情形1:

其中,
由此可以看出,若,通过计算矩阵
的奇异值
,便可矩阵
的特征值
,而矩阵
即为矩阵
的特征向量。
- 情形2:
若,则
,也就是说,
是
的特征值,
也是
的特征向量。同时考虑到实对称矩阵
的秩为n,所以
的特征值/特征向量也是
的特征值/特征向量。
0.3 Householder变换
设,且
,定义
为Householder变换。
对于非零向量,可构造
,使得

其中,,
,
。
设,
,
,对于
,

根据上述结论可知,可以构造,使得
具体来说,可按照下述流程进行操作:

由此,通过Householder变换,可以将某一列向量的部分连续元素约化为0。
0.4 Givens变换
设是n维Euclid空间
中的一组标准正交基,
,则在平面
中存在旋转变换矩阵
,满足

其中,



由此可以看出,可以将向量的某个元素约化为0。
一、隐式QR计算矩阵奇异值分解
参考资料
Gene H. Golub. Matrix Computations
徐树方. 数值线性代数(第二版). 北京大学出版社, 2010.
Golub G. and Kahan W.. Calculating the Singular Values and Pseudo-Inverse of a Matrix. Journal of the Society for Industrial and Applied Mathematics: Series B, Numerical Analysis, 1965, 2(2) : 205-224.
Demmel J., Kahan W..Accurate Singular Values of Bidiagonal Matrices. SIAM Journal on Scientific and StatisticalComputing, 1990, 11(5):873-912.
P. A. Businger,G. H. Golub. Singular value decomposition of a complex matrix. communications of the acm, 1969.