I disagree. There are two common use cases: iterateAll and iterateNonZero
One example of where iterateAll is different is where I want to get sum_i |x_i - z| (as in L_1 clustering). I can't iterate over just non-zero elements of x_i unless z is zero (which it is not, in general). On Tue, Jun 23, 2009 at 3:23 PM, Sean Owen <sro...@gmail.com> wrote: > Until use cases demonstrate otherwise, I suggest we pick one contract > and implement it rather than several. I think the most reasonable use > case, given what I see so far, is "non zero elements". What say? > > On Tue, Jun 23, 2009 at 6:21 PM, Ted Dunning<ted.dunn...@gmail.com> wrote: > > Should there be a method that returns different sets of elements? > > (allElements(), nonZeroElements(), filteredElements(Condition)). > Whatever > > the contract, it should definitely be stated and should definitely work > the > > same for sparse or non-sparse matrices. >