我想知道 Eigen 中的reserve
方法是否也为外部索引和内部索引(在3-CSC案例。)
这意味着如果我
n = 1000
SparseMatrix<float> A;
A.reserve(n)
然后
n
内存
n
内存
n+1
内存(最坏情况和先验未知)文档只说
void Eigen::SparseMatrix<...>::reserve (Index reserveSize)
预分配reserveSize非零。
前提条件:矩阵必须处于压缩模式。
有人可以澄清一下吗?或者说一下预订政策?感谢
答案 0 :(得分:0)
不,矩阵的大小应该是相当静态的,因此reserve(n)
仅为非零分配空间。如果维度未知,则可以从上限开始:
SparseMatrix<float> A(n,n);
保留,例如:
A.reserve(10*n);
一旦你完成并且知道了最终尺寸,就缩小它:
A.conservativeResize(rows,cols);