1

我想对 mxn 矩阵A (m<=n)执行经济大小的双对角分解

这样:

A=QBP'

其中 B 是大小为 mxm 的双对角矩阵,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 是大小为 mx n 的双对角矩阵。

我可以截断矩阵 S 和 V 以获得正确的 B 和 P。但这在速度方面并不是最优的。根据我的测试,这种方法甚至比执行经济规模的 SVD 还要慢。

我应该使用哪个功能或如何使用它们才能直接获得经济尺寸的结果?

提前致谢。

4

0 回答 0