![](https://secure.gravatar.com/avatar/3e3b4dff04d6c945d0f990ea8c362abb.jpg?s=120&d=mm&r=g)
On Mon, Oct 20, 2008 at 11:07 AM, James Philbin <philbinj@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#L57...
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.... 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@gmail.com http://graphics.cs.uiuc.edu/~wnbell/