de Lenn,
Sorry I assumed the nonzero would work for sparse matrices as well.
BUT! -- If the sparse matrix used is the default scipy's
sparse.lil_matrix, you just need to print out the representation
because the lil_matrix is implemented as a _sequence of non-zero
elements_ i.e. just what you need.
In other words it is kind of silly to provide a nonzero for lil_matrix
because it has _only_ non-zero elements.
Well, here is the example:
------------------------------------
from scipy import *
A=sparse.lil_matrix((3,3))
A[1,2]=10
A[2,0]=-10
print A
(1, 2) 10
(2, 0) -10------------------------------------
The only way it could be helpful is if you get a lil_matrix returned as
an object from some code and you need to list all the elements...
Hope this helps,
Nick Vatamaniuc
Thanks for the reply.
'nonzero' deos not seem to work with sparse matrices. here is an
example:
from scipy import *
A = sparse.lil_matrix((3,3))
A[1,2] = 10
A[2,0] = -10
nonzero(A)
(I tried it with an ordinary matrix, and it works fine)
Cheers.
Nick said:
The function you might want is nonzero() or flatnonzero()
array([[1, 2],
[0, 4]])
array([0, 1, 3])
nonzero() will return the a sequence of index arrays of non zero
elements
flatnonzero() returns the non-zero elements of the flattened version
of the array.
Cheers,
Nick Vatamaniuc
Hi,
Does scipy have an equivalent to Matlab's 'find' function, to list the
indices of all nonzero elements in a sparse matrix?
Cheers.