我想在m x n矩阵 A(m <= n)
上执行经济规模的双对角分解这样:
A=QBP'
其中B是尺寸为m×m的双对角矩阵,Q,P是正交矩阵。
目前,我使用以下两个Lapack函数来完成这项工作:
dgebrd(&m,&n,x,&m,d,e,tauq,taup,work,&lwork,&info);
dorgbr(&qp,&m,&m,&n,x,&m,tauq,work,&lwork,&info);
从这些我可以得到分解:
A=USV'
其中S是尺寸为m x n的双对角矩阵。
我可以截断矩阵S和V以获得正确的B和P.然而,就速度而言,这不是最佳的。从我的测试来看,这种方法比执行经济规模的SVD更慢。
我应该使用哪种功能或如何使用它们以便我可以直接获得经济规模结果?
提前致谢。