关于犰狳的 sp_mat::const_row_iterator 的“基本”是啥?
Posted
技术标签:
【中文标题】关于犰狳的 sp_mat::const_row_iterator 的“基本”是啥?【英文标题】:What is "rudimentary" about Armadillo's sp_mat::const_row_iterator?关于犰狳的 sp_mat::const_row_iterator 的“基本”是什么? 【发布时间】:2017-03-17 17:31:07 【问题描述】:Armadillo 的文档提到 sp_mat::const_row_iterator
是初级的 (link)。我想知道这在以下上下文中意味着什么。我在以下两种策略之间做出决定,用于从犰狳稀疏矩阵中读取与每一行对应的所有列值(在给定的一组行中,称之为A
):1)使用适当的迭代器遍历每一列;如果.row()
在A
中,我们提取元素;重复。 2) 对于A
中的每一行,使用sp_mat::const_row_iterator
obtained 和.begin_row(row)
调用来迭代仅对应于该行的值。犰狳文档中的“基本”是否意味着做(1)?或者,它是否比策略 (1) 更具成本效益?
【问题讨论】:
【参考方案1】:从这里:http://arma.sourceforge.net/docs.html#SpMat 它说稀疏矩阵支持是“初步的”。不是初级的。也许自从你上次阅读它以来它已经改变了。或者您需要直接提供指向您所指文档的链接。
无论哪种情况,我都会将其解读为告诉您稀疏矩阵支持刚刚被引入,它可能存在错误或可能在未来的版本中发生变化。
我查看了源代码,我认为文档已经过时且错误。迭代器的实现没有任何“前卫”或“初级”。
来自 armadillo-7.800.1/include/armadillo_bits/SpMat_iterators_meat.hpp 的第 525 行是 const_row_iterator
实现,它看起来是随机访问,对我来说非常完整。
【讨论】:
对此表示感谢和抱歉。我已经把链接放在了。 这非常有用。感谢您回到这里。以上是关于关于犰狳的 sp_mat::const_row_iterator 的“基本”是啥?的主要内容,如果未能解决你的问题,请参考以下文章