numpy migration (also posted to numpy-discussion)

Travis E. Oliphant oliphant.travis at ieee.org
Mon Apr 23 22:03:28 EDT 2007


Duncan Smith wrote:
> Hello,
>      Since moving to numpy I've had a few problems with my existing
> code.  It basically revolves around the numpy scalar types. e.g.
>

You will probably get more help on the numpy discussion list:

numpy-discussion at scipy.org


You are encountering problems because numpy scalar types don't raise 
errors (unless you have set the appropriate hardware flag using 
numpy.seterr).

You can get Python scalars out of NumPy arrays if you really want them 
using (for example...)

a.item(0,0)


> 
> An additional problem involves classes that have e.g. __rmul__ methods
> defined and are sufficiently similar to numpy arrays that my classes'
> __rmul__ methods are not invoked when using numpy scalars.
> 

Could you please post an example showing the problem?

> 
> I might (I hope) be missing something obvious; but it seems like, to be
> safe, I'm going to have to do a lot of explicit conversions to Python
> types (or abandon catching zero division errors, and documenting some of
> my classes to highlight that whether scalar * a equals a * scalar
> depends on whether a.__rmul__ is called, which depends on the type of
> scalar).
> 

numpy scalars are try a lot more things before giving up on 
multiplication and letting the other class have a stab at it.

Post your problems to the numpy discussion list for better help and more 
discussion.


-Travis




More information about the Python-list mailing list