[Numpy-discussion] @ operator

Sebastian Berg sebastian at sipsolutions.net
Wed Sep 10 11:11:49 EDT 2014

On Di, 2014-09-09 at 13:52 -0600, Charles R Harris wrote:
> Hi All,
> I'm in the midst of implementing the '@' operator (PEP 465), and there
> are some behaviors that are unspecified by the PEP.
>      1. Should the operator accept array_like for one of the
>         arguments?

To be in line with all the other operators, I would say yes

>      1. Does it need to handle __numpy_ufunc__, or will
>         __array_priority__ serve?
>      2. Do we want PyArray_Matmul in the numpy API?

Don't care much either way, but I would say yes (why not).

>      1. Should a matmul function be supplied by the multiarray module?

We could possibly put it to the linalg module. But I think we should
provide such a function.

> If 3 and 4 are wanted, should they use the __numpy_ufunc__ machinery,
> or will __array_priority__ serve?
> Note that the type number operators, __add__ and such, currently use
> __numpy_ufunc__ in combination with __array_priority__, this in
> addition to the fact that they are by default using ufuncs that do the
> same. I'd rather that the __*__ operators simply rely on
> __array_priority__.

Hmmm, that is a difficult one. For the operators I agree, numpy_ufunc
should not be necessary, since we have NotImplemented there, and the
array priority does nothing except tell numpy to stop handling all array
likes (i.e. other array-likes could actually say: you have an
array-priority > 0 -> return NotImplemented). So yeah, why do the
operators use numpy_ufunc at all? (unless due to implementation)

If we have a function numpy_ufunc would probably make sense, since that
circumvents the python dispatch mechanism.

- Sebastian

> Thoughts?
> Chuck
> _______________________________________________
> NumPy-Discussion mailing list
> NumPy-Discussion at scipy.org
> http://mail.scipy.org/mailman/listinfo/numpy-discussion

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: This is a digitally signed message part
URL: <http://mail.python.org/pipermail/numpy-discussion/attachments/20140910/1545cc2f/attachment.sig>

More information about the NumPy-Discussion mailing list