使用Eigen库中的SVD时引发错误的分配异常



在我的应用程序中,我想从具有double条目的给定数据矩阵中获得左奇异向量,该矩阵在代码中以形式给出

Eigen::MatrixXd m;

尺寸45 x 904140。现在,我在特征库中使用SVD分解的构造函数,如下所示

Eigen::BDCSVD<Eigen::MatrixXd> svd(m, Eigen::ComputeFullU | Eigen::ComputeFullV);

在那里,抛出了一个坏的alloc异常,更准确地说:

Unhandled exception at 0x00007FFA058850D8: Microsoft C++ exception: std::bad_alloc at memory location

错误std::bad_alloc通常意味着没有足够的内存来完成任务。

您可能无法在机器上计算需要904140 x 904140的矩阵。

最新更新