[Numpy-discussion] Is this a bug?

josef.pktd at gmail.com josef.pktd at gmail.com
Tue Sep 16 15:55:41 EDT 2014


On Tue, Sep 16, 2014 at 3:42 PM, Nathaniel Smith <njs at pobox.com> wrote:
> On Tue, Sep 16, 2014 at 3:27 PM, Charles R Harris
> <charlesr.harris at gmail.com> wrote:
>> Hi All,
>>
>> It turns out that gufuncs will broadcast the last dimension if it is one.
>> For instance, inner1d has signature `(n), (n) -> ()`, yet
>>
>> In [27]: inner1d([1,1,1], [1])
>> Out[27]: 3
>
> Yes, this looks totally wrong to me too... broadcasting is a feature
> of auto-vectorizing a core operation over a set of dimensions, it
> shouldn't be applied to the dimensions of the core operation itself
> like this.

Are these functions doing any numerical shortcuts in this case?

If yes, this would be convenient.

inner1d(x, weights)   with weights is either (n, ) or ()

if weights == 1:
    return x.sum()
else:
    return inner1d(x, weights)

Josef

>
> -n
>
> --
> Nathaniel J. Smith
> Postdoctoral researcher - Informatics - University of Edinburgh
> http://vorpus.org
> _______________________________________________
> NumPy-Discussion mailing list
> NumPy-Discussion at scipy.org
> http://mail.scipy.org/mailman/listinfo/numpy-discussion



More information about the NumPy-Discussion mailing list