Armadillo 中 SpMat<Type> 的迭代器是否只访问非零条目?

Do iterators of SpMat<Type> in Armadillo only visit non-zero entries?

我想知道如何在 Armadillo 中遍历 sp_umat(即 SpMat<unsigned int>)的所有非零条目,并遇到了这个相关问题() . post 建议使用 const_iterator 检索 sp_mat 中的非零位置和值。可以假设 sp_mat 的所有迭代器(以及犰狳中其他相关类型的稀疏矩阵;在我的例子中是 sp_umat )仅支持单独访问非零条目的迭代器吗?我无法从文档中解决这个问题。另一个相关的问题也浮现在脑海:一般来说,犰狳是否支持通过其他方式访问稀疏矩阵中的任何其他位置?非常感谢您的帮助!

1) 是的,所有稀疏对象的迭代器只迭代非零位置。很抱歉,文档中没有明确说明,我会看看是否可以改进。

2) 是的,您可以使用 matrix(i, j) 访问稀疏矩阵中的任何位置,就像密集矩阵一样。所以从这个意义上说,稀疏矩阵和密集矩阵在某种程度上是可以互换的。