关于犰狳的 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_iteratorobtained 和.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 的“基本”是啥?的主要内容,如果未能解决你的问题,请参考以下文章

犰狳中的并行化

使用 GPU 的犰狳 (+BLAS)

我怎么知道,犰狳正在我的 ARM 上使用 openblas?

如何将向量转换为犰狳矩阵?

用犰狳加载大型矩阵

PCHIP 犰狳函数