[SciPy-Dev] Indexing sparse matrices
Pauli Virtanen
pav@iki...
Thu Jun 24 10:25:29 CDT 2010
Thu, 24 Jun 2010 09:39:30 -0500, Bruce Southey wrote:
> On 06/23/2010 11:43 PM, Jason Grout wrote:
[clip]
>> The thing is that the index object may not be a scalar, but it may have
>> an __index__ method that is supposed to be used when the object is used
>> as an index. So the call to isscalar may rightfully return False, but
>> the __index__ method should still be called to see if there is a value
>> to act as an index. For example, according to Python>=2.5, this should
>> work:
>>
> Remember (as given below) that numpy officially supports Python 2.4 so
> any Python 2.5+ features are not allowed (at least until some one
> notices them).
> If you just look at the numpy's isscalar function you can see why it
> fails - so file a bug report on it.
I believe Jason is correct here: since sparse matrices are an indexable
container type, they should support the __index__ protocol. So it's a
Scipy issue, and I don't see any reasons why not to add support for that.
Supporting Python 2.4 at the same time should not be a problem.
This is a separate issue from numpy.isscalar. In that case it is not
clear whether an object supporting the __int__ / __float__ / __complex__
number protocols should be treated as a scalar. Most likely not, since
that is not enough to make them work like scalars in arithmetic.
--
Pauli Virtanen
More information about the SciPy-Dev
mailing list