【发布时间】:2018-05-18 15:16:54
【问题描述】:
我有一段代码在 Eigen 3.2 中运行良好,但在 Eigen 3.3.4 中不再有效。代码如下:
// Temporary Eigen blocks
Eigen::Block<const Eigen::SparseMatrix<double> >
tmpAPotentialBlock(A.block(startPotential, startPotential, sizePotential,sizePotential)),
tmpAFlowBlock(A.block(startFlow, startPotential, sizeFlow, sizePotential));
for (Eigen::SparseMatrix<double>::Index k=0; k<sizePotential; ++k) {
// Iterator to the first term of the column k of the potential block and the flow block.
Eigen::Block<const Eigen::SparseMatrix<double> >::InnerIterator itAPotential(tmpAPotentialBlock,k),
itAFlow(tmpAFlowBlock,k);
...
}
基本上问题是不再为块或至少稀疏块定义InnerIterator。
我知道您现在需要使用evaluator 来定义它。有谁知道新语法是什么?
【问题讨论】:
标签: block sparse-matrix eigen eigen3