【发布时间】:2018-06-25 04:38:41
【问题描述】:
我正在按照以下示例循环遍历稀疏矩阵的元素。
SparseMatrix<double> mat(rows,cols);
for (int k=0; k<mat.outerSize(); ++k)
for (SparseMatrix<double>::InnerIterator it(mat,k); it; ++it)
{
it.value();
it.row(); // row index
it.col(); // col index (here it is equal to k)
it.index(); // inner index, here it is equal to it.row()
}
这个例子我完全没问题。但是,我拥有的矩阵是对称的,我只想遍历下部。有什么简单的方法可以遍历对称矩阵吗?
【问题讨论】:
-
为什么不能迭代内部循环直到
it.row() > k(或者它到达末尾)? -
@MFisherKDX 是的,我认为这是一种简单的方法。但唯一的小问题是内部循环仍然会经过列的上半部分,直到 it.row() > k
标签: c++ sparse-matrix eigen