i am looking at the iterators for DenseVector, RandomAcccessSparseVector
and SequentialAccessSparseVector.

for both DenseVector and RandomAcccessSparseVector the iterator seems to
return all values, including the missing zero values.
for SequentialAccessSparseVector the iterator also returns all values, but
only up to the last non-missing value!

is this by design? what is a vector iterator supposed to return exactly? i
can't see a logical pattern/consistency. see examples below.
thanks! koert

scala> val x = new org.apache.mahout.math.RandomAccessSparseVector(5)
x: org.apache.mahout.math.RandomAccessSparseVector = {}

scala> x.set(3, 1.0)

scala> for (item <- x.iterator.asScala) println((item.index, item.get))
(0,0.0)
(1,0.0)
(2,0.0)
(3,1.0)
(4,0.0)

scala> val y = new org.apache.mahout.math.SequentialAccessSparseVector(5)
y: org.apache.mahout.math.SequentialAccessSparseVector = {

scala> y.set(3, 1.0)

scala> for (item <- y.iterator.asScala) println((item.index, item.get))
(0,0.0)
(1,0.0)
(2,0.0)
(3,1.0)

Reply via email to