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)更具成本效益吗?
答案 0 :(得分:0)
从这里开始:http://arma.sourceforge.net/docs.html#SpMat它表示稀疏矩阵支持是初步的。"不简陋。也许自从你上次阅读以来它已被改变。或者您需要直接提供您所指的文档的链接。
在任何一种情况下,我都会把它看作是告诉你稀疏矩阵支持刚刚引入的,它可能是错误的,或者可能在将来的版本中有所改变。
我查看了源代码,我认为文档已过时且错误。什么都没有"前进"或者"基本的"关于迭代器的实现。
来自第525行的armadillo-7.800.1 / include / armadillo_bits / SpMat_iterators_meat.hpp是const_row_iterator
实现,它看起来是随机访问,对我来说非常完整。