[SciPy-user] __eq__ for scipy.sparse not working?

Anne Archibald peridot.faceted at gmail.com
Tue Apr 15 16:28:59 EDT 2008


On 15/04/2008, Nathan Bell <wnbell at gmail.com> wrote:
> On Tue, Apr 15, 2008 at 12:37 PM, Joseph Turian <turian at gmail.com> wrote:
>  > Is there a reason that sparse matrices don't support this functionality?
>  > What is actually happening when I try equality testing for A == B?
>  > It seems undesirable that equality comparison is permitted, even though it
>  > has unexpected behavior.
>
> I agree that __eq__ should either work or raise an exception.  As to
>  why __eq__ isn't supported, I haven't written the necessary code to
>  handle arrays with dtype='bool'.
>
>  Offhand, I don't know what specifically needs to be changed to make
>  sparse matrices agree with numpy's handling of boolean arrays.  Many
>  of the necessary ingredients are already present, but I have not fully
>  explored this matter.
>
>  I created a ticket in Trac for this issue:
>  http://scipy.org/scipy/scipy/ticket/639
>
>  Unfortunately, time is scarce for me at the moment, so I can't say
>  when I'll get around to it.

This is actually tricky: you definitely want "not" to be a reasonable
operation on sparse boolean arrays, which means you can't just store
the "True" values as nonzero entries. It's still doable, with some
sort of flag in the sparse object indicating whether the array as a
whole has been negated, but it's going to be a pain.

Anne



More information about the SciPy-User mailing list