[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