我想对 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 还要慢。
我应该使用哪个功能或如何使用它们才能直接获得经济尺寸的结果?
提前致谢。