[Numpy-discussion] Thoughts for 1.1
Charles R Harris
charlesr.harris@gmail....
Wed Apr 2 17:50:14 CDT 2008
On Wed, Apr 2, 2008 at 4:40 PM, Travis E. Oliphant <oliphant@enthought.com>
wrote:
> Charles R Harris wrote:
> > Hi All,
> >
> > I think it would enhance broadcasting if functions like sum, mean, etc
> > didn't change the number of dimensions. For example, suppose one
> > wanted to subtract the mean along dimension 2 from the same axis of
> > the original array, then something like
> >
> > In [44]: a = ones((2,3,4,5))
> >
> > In [45]: a -= a.mean(2)
> >
> > would do the trick. Similar modifications might also suit functions of
> > the argmax, argmin, argsort type and allow a common argtake function
> > that would allow one to take along a specified axis, making easy
> > something that is somewhat complicated at the moment.
>
> I generally like the idea because I've seen this pattern many times
> myself and been annoyed at having to "add back" a dimension to make it
> work right.
> >
> > The main drawback that I see is that scalars would no longer be 0D,
> > but that could be special cased as scalars will broadcast correctly no
> > matter the ndim.
>
> Robert's point about code-breakage is relevant, however. I'd like to
> see some discussion on how gratuitous this actually is. What kind of
> code will actually break? Sure, the shape will be different, but will
> that matter greatly?
>
It would break all my current code where I add the missing axis back in.
Apart from that and the scalar case I don't think it would make much
difference.
Chuck
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://projects.scipy.org/pipermail/numpy-discussion/attachments/20080402/ae3f6f75/attachment.html
More information about the Numpy-discussion
mailing list