EIGEN Ram消耗中的稀疏矩阵

时间:2013-10-31 16:50:03

标签: c++ ram eigen

首先我填充spase矩阵:

  SparseMatrix<double> matA; 

,我的计数为600 * 10 000大约需要48 MB,而且指数在24 MB = 72 MB,那么为什么它在ANdroid设备中要大2倍? - 因此,Eigen使用了一些特殊的树M结构,问题在哪里?

例如:A * A'..这个程序的结果产品在这种情况下相同的2倍大的公羊消费......

1 个答案:

答案 0 :(得分:0)

您的估计似乎是正确的,但是如果您使用insert()函数插入元素,则必须调用.compress()来释放自动预分配的内存。为每列保留适当的空间应该可以防止分配额外的内存:A.reserve(VectorXi::Constant(600,10000));