【发布时间】:2013-11-27 21:15:14
【问题描述】:
我正在尝试计算以下内容:
A = X^t * X
我正在使用 Eigen::SparseMatrix 并在 transpose() 操作中得到 std::bad_alloc 错误:
Eigen::SparseMatrix<double> trans = sp.transpose();
sp 也是一个 Eigen::SparseMatrix 矩阵,但它非常大,在较小的数据集之一上,命令
std::cout << "Rows: " << sp.rows() << std::endl;
std::cout << "Rows: " << sp.cols() << std::endl;
给出以下结果:
行数:2061565968
列数:600
(我在开始填充之前预先计算了这个矩阵的大小)
这样的矩阵可以容纳多少条目是否有限制? 我正在使用带有 g++ 的 64 位 Linux 系统
提前致谢
亚历克斯
【问题讨论】: