如何使用Apache commons-math RealVector稀疏迭代器?

时间:2016-02-23 10:15:49

标签: apache math matrix apache-commons-math

我想迭代RealVector中的非零值。我注意到RealVector.sparseIterator()方法可以做到这一点:

“在向量上创建一个稀疏迭代器,它可能会省略一些条目。省略的条目要么是精确的零(对于密集的实现),要么是未存储的条目(对于真正的稀疏向量)。不保证迭代次序。“

但是,该方法返回

Iterator<RealVector.Entry>

object,其中“Entry”是受保护的类,因此我无法在RealVector类之外使用它。

我误解了什么吗?无论如何都要迭代RealVector对象中的值而不将它们转换为double [],因为向量的维度非常高且非常稀疏。

非常感谢!

1 个答案:

答案 0 :(得分:1)

这确实是一个错误(见https://issues.apache.org/jira/browse/MATH-1329)。它很可能会在下一个版本中修复。