# Iterating over non-zero entries of a sparse matrix

6 messages
Open this post in threaded view
|
Report Content as Inappropriate

## Iterating over non-zero entries of a sparse matrix

 Is there as iterator implemented that allows me to iterate over all non-zero entries of a sparse matrix or vector? E.g. for (i, j, z) in nonzeros(A) (I realise that nonzeros does something else!)
Open this post in threaded view
|
Report Content as Inappropriate

## Re: Iterating over non-zero entries of a sparse matrix

 Use findnz.Am Mittwoch, 9. November 2016 14:37:11 UTC+1 schrieb Christoph Ortner:Is there as iterator implemented that allows me to iterate over all non-zero entries of a sparse matrix or vector? E.g. for (i, j, z) in nonzeros(A) (I realise that nonzeros does something else!)
Open this post in threaded view
|
Report Content as Inappropriate

## Re: Iterating over non-zero entries of a sparse matrix

 In reply to this post by Christoph Ortner Le mercredi 09 novembre 2016 à 05:37 -0800, Christoph Ortner a écrit : > Is there as iterator implemented that allows me to iterate over all > non-zero entries of a sparse matrix or vector? E.g.  > > for (i, j, z) in nonzeros(A)  > > > (I realise that nonzeros does something else!) As the docs for nonzeros() say, have a look at nzrange(). Regards
Open this post in threaded view
|
Report Content as Inappropriate

## Re: Iterating over non-zero entries of a sparse matrix

 missed that - thank you.
Open this post in threaded view
|
Report Content as Inappropriate

## Re: Iterating over non-zero entries of a sparse matrix

 So `findnz` converts the matrix to a tuple of arrays (triplet), and it creates a copy of all data. So it is not quite what I was looking for. An iterator would be better.