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)
访问稀疏矩阵中的任何位置,就像密集矩阵一样。所以从这个意义上说,稀疏矩阵和密集矩阵在某种程度上是可以互换的。
我想知道如何在 Armadillo 中遍历 sp_umat
(即 SpMat<unsigned int>
)的所有非零条目,并遇到了这个相关问题(const_iterator
检索 sp_mat
中的非零位置和值。可以假设 sp_mat
的所有迭代器(以及犰狳中其他相关类型的稀疏矩阵;在我的例子中是 sp_umat
)仅支持单独访问非零条目的迭代器吗?我无法从文档中解决这个问题。另一个相关的问题也浮现在脑海:一般来说,犰狳是否支持通过其他方式访问稀疏矩阵中的任何其他位置?非常感谢您的帮助!
1) 是的,所有稀疏对象的迭代器只迭代非零位置。很抱歉,文档中没有明确说明,我会看看是否可以改进。
2) 是的,您可以使用 matrix(i, j)
访问稀疏矩阵中的任何位置,就像密集矩阵一样。所以从这个意义上说,稀疏矩阵和密集矩阵在某种程度上是可以互换的。