什么是"基本"关于Armadillo的sp_mat :: const_row_iterator?

时间:2017-03-17 17:31:08

标签: c++ loops iterator sparse-matrix armadillo

Armadillo的文档提到sp_mat::const_row_iterator是基本的(link)。我想知道这在以下背景下意味着什么。我正在决定以下两种策略之间用于从Armadillo稀疏矩阵中读取与每行(在给定的行集中,称为A)对应的所有列值:1)使用适当的循环遍历每列迭代器;如果.row()位于A,我们会提取元素;重复。 2)对于A中的每一行,使用sp_mat::const_row_iterator调用获得的.begin_row(row)来迭代仅对应于该行的值。是"基本"在Armadillo文档意味着几乎做(1)?或者,它比战略(1)更具成本效益吗?

1 个答案:

答案 0 :(得分:0)

从这里开始:http://arma.sourceforge.net/docs.html#SpMat它表示稀疏矩阵支持是初步的。"不简陋。也许自从你上次阅读以来它已被改变。或者您需要直接提供您所指的文档的链接。

在任何一种情况下,我都会把它看作是告诉你稀疏矩阵支持刚刚引入的,它可能是错误的,或者可能在将来的版本中有所改变。

我查看了源代码,我认为文档已过时且错误。什么都没有"前进"或者"基本的"关于迭代器的实现。

来自第525行的armadillo-7.800.1 / include / armadillo_bits / SpMat_iterators_meat.hpp是const_row_iterator实现,它看起来是随机访问,对我来说非常完整。