[SciPy-dev] scipy.sparse.dok_matrix changes

Nathan Bell wnbell at gmail.com
Mon Oct 20 12:58:48 EDT 2008


On Mon, Oct 20, 2008 at 11:07 AM, James Philbin <philbinj at gmail.com> wrote:
> Good stuff. I'd like to make some more changes/cleanups, but there's a
> few things i'm not sure about.
>
> Firstly, I'd like to remove the functions 'conjtranspose', 'take' +
> 'split'. All of them seem non-standard and can be expressed in other
> ways. If functions are removed, should they be deprecated first? I'm
> not sure what the policy is on a pre 1.0 release.

There's no fixed policy, but I have tended to deprecate for one minor
release before removing functionality.  For instance:
http://projects.scipy.org/scipy/scipy/browser/trunk/scipy/sparse/base.py#L579

> Secondly, using __getitem__ with slices currently requires an O(nnz)
> crawl over all the values. Should we support this usage? My preference
> would be to only allow elementwise access, though for __setitem__
> using slices is fine.

Again, no fixed policy.  For costly operations on CSR/CSC matrices,
we've used the SparseEfficiencyWarning:
http://projects.scipy.org/scipy/scipy/browser/trunk/scipy/sparse/compressed.py#L621

Ideally all get/set operations would be symmetric.  However, we
haven't maintained this property elsewhere in scipy.sparse, so users
will not expect it to be so.

Since you're the defacto dok_matrix maintainer, I'd say it's
ultimately up to you :)

-- 
Nathan Bell wnbell at gmail.com
http://graphics.cs.uiuc.edu/~wnbell/



More information about the SciPy-Dev mailing list