使用 Eigen 库中的 SVD 时抛出错误的分配异常
Bad alloc exception thrown when using SVD from Eigen library
在我的应用程序中,我想从具有 double
个条目的给定数据矩阵中获取左奇异向量,这在代码中给出为
Eigen::MatrixXd m;
尺寸为 45 x 904140。现在我在 Eigen 库中使用构造函数进行 SVD 分解,如下所示
Eigen::BDCSVD<Eigen::MatrixXd> svd(m, Eigen::ComputeFullU | Eigen::ComputeFullV);
在那里,抛出了错误的分配异常,更准确地说:
Unhandled exception at 0x00007FFA058850D8: Microsoft C++ exception: std::bad_alloc at memory location
错误std::bad_alloc
通常意味着没有足够的内存来完成您的任务。
您可能无法在您的计算机上计算需要 904140 x 904140 的矩阵。
在我的应用程序中,我想从具有 double
个条目的给定数据矩阵中获取左奇异向量,这在代码中给出为
Eigen::MatrixXd m;
尺寸为 45 x 904140。现在我在 Eigen 库中使用构造函数进行 SVD 分解,如下所示
Eigen::BDCSVD<Eigen::MatrixXd> svd(m, Eigen::ComputeFullU | Eigen::ComputeFullV);
在那里,抛出了错误的分配异常,更准确地说:
Unhandled exception at 0x00007FFA058850D8: Microsoft C++ exception: std::bad_alloc at memory location
错误std::bad_alloc
通常意味着没有足够的内存来完成您的任务。
您可能无法在您的计算机上计算需要 904140 x 904140 的矩阵。