[SciPy-dev] sparse array indexing.
Viral Shah
vshah at interactivesupercomputing.com
Mon Apr 14 14:45:15 EDT 2008
Nathan, and others,
A few more questions about the sparse array manipulation. Also, is
there a sparse document in the works other than the one at http://www.scipy.org/SciPy_Tutorial
? I would be more than happy to put all that I am finding out in a
document. But if one is in the works, I can edit that instead.
1. I notice that A[I, J] behaves differently than in Matlab. This is
documented. My question is, if one wants Matlab like behaviour, is
there a better way to do this than A[I, :], A[:, J] ?
2. Do the sparse data structures support deletion ? I got the svn, and
it seems that the delete function that works on numpy arrays does not
work on sparse arrays, yet. Until I figure this out, I am doing
deletion with:
def deleterowcol(self, A, delrow, delcol):
A = A.tocsc()
m = A.shape[0]
n = A.shape[1]
keep = delete (arange(0, m), delrow)
A = A[keep, :]
keep = delete (arange(0, m), delcol)
A = A[:, keep]
return A
3. How do I get the rows and columns as vectors out of the coo format,
so that I can do the equivalent of find() in MATLAB ?
4. I forwarded the SuperLU bug to the upstream author, Sherry Li.
Perhaps she will fix it in the next release. In general, I believe
that Sherry does not spend much time maintaining the sequential
SuperLU, but Tim Davis does support UMFPACK more actively. But UMFPACK
does not have single precision.. So the solution for the default
sparse direct solver is not as obvious. I would vote in favour of
UMFPACK being the default solver for double precision, if its possible
to put it in the scipy tree.
-viral
More information about the SciPy-Dev
mailing list