如何使用Lapack进行经济规模的双边分解?

时间:2012-10-12 03:45:25

标签: lapack

我想在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更慢。

我应该使用哪种功能或如何使用它们以便我可以直接获得经济规模结果?

提前致谢。

0 个答案:

没有答案