2

我很好奇 MATLAB 中用于计算 SVD 的 DGESVD 函数。据我从 Gene H. Golub 和 Charles F. Van Loan 的“矩阵计算”中可以看出,使用了两种可能的双对角化方案——Householder Bidiagonalization 和 R-Bidiagonalization。但是,我无法从正在使用的 LAPACK 文档中确定。有人有想法么?

4

1 回答 1

3

根据LAPACK User's Guide,减少为双对角形式是通过使用 Householder 反射的例程 DGEBRD 完成的。

2.4.6“奇异值分解”:

例程 xGEBRD 以因子形式将 U1 和 V1 表示为基本反射器的乘积,如第 5.4 节所述。

5.4“正交或酉矩阵的表示”:

实正交或复酉矩阵(通常表示为 Q)在 LAPACK 中通常表示为基本反射器的乘积——也称为基本 Householder 矩阵

于 2012-11-26T15:41:01.133 回答