首先我填充spase矩阵:
SparseMatrix<double> matA;
,我的计数为600 * 10 000大约需要48 MB,而且指数在24 MB = 72 MB,那么为什么它在ANdroid设备中要大2倍? - 因此,Eigen使用了一些特殊的树M结构,问题在哪里?
例如:A * A'..这个程序的结果产品在这种情况下相同的2倍大的公羊消费......
答案 0 :(得分:0)
您的估计似乎是正确的,但是如果您使用insert()函数插入元素,则必须调用.compress()
来释放自动预分配的内存。为每列保留适当的空间应该可以防止分配额外的内存:A.reserve(VectorXi::Constant(600,10000));