使用特征SVD访问U S V.

时间:2017-06-09 11:05:32

标签: c++ matrix eigen svd

我对此感到疯狂:我刚刚以这种方式使用了SVD:

Eigen::BDCSVD<Eigen::MatrixXcd> svd(A, Eigen::ComputeThinU | Eigen::ComputeThinV);

const Eigen::MatrixXcd U = svd.matrixU();
const Eigen::MatrixXcd V = svd.matrixV();
const Eigen::VectorXd S = svd.singularValues();

在我需要阅读像这里的一些值之后:

valsingn = S/S(0);

或在这里:

tmp_var =  U(i, j);

现在我想删除U VS的副本以避免浪费内存(我的矩阵很大262144x576),但我不知道如何访问来自U的{​​{1}}。

只写svd.matrixU()不起作用......

所以我的问题是,如何在不复制它们的情况下访问svd.matrixU(i, j)

0 个答案:

没有答案