[Numpy-discussion] Possible to use numexpr with user made ufuncs/scipy ufuncs?

Francesc Alted faltet@pytables....
Sat Jun 26 11:51:52 CDT 2010


2010/6/26 Pauli Virtanen <pav@iki.fi>

> Hi,
>
> la, 2010-06-26 kello 14:24 +0200, Francesc Alted kirjoitti:
> [clip]
> > Yeah, you need to explicitly code the support for new functions in
> numexpr.
> > But another possibility, more doable, would be to code the scipy.special
> > functions by using numexpr as a computing back-end.
>
> Would it be possible to add generic support for user-supplied ufuncs
> into numexpr? This would maybe be more of a convenience feature than a
> speed improvement, although perhaps some speed could be gained by
> evaluating ufuncs per-block.
>

Well, I'd say that this support can be faked in numexpr easily.  For
example, if one want to compute a certain ufunc called, say, sincos(x)
defined as sin(cos(x)) (okay, that's very simple, but it will suffice for
demonstration purposes), he can express that as sincos = "sin(cos(%s))", and
then use it in a more complex expression like:

"%s+1*cos(%s)" % (sincos % 'x', 'y')

that will be expanded as:

"sin(cos(x))+1*cos(y)"

Of course, this is a bit crude, but I'd say that's more than enough for
allowing the evaluation of moderately complex expressions.

Having said this, one can always think in setting up a wrapper for doing a
similar thing more elegantly (although I'm not sure if this is worth the
effort).

-- 
Francesc Alted
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.scipy.org/pipermail/numpy-discussion/attachments/20100626/a361dbe9/attachment.html 


More information about the NumPy-Discussion mailing list