[Numpy-discussion] Thoughts for 1.1
Charles R Harris
Wed Apr 2 17:50:14 CDT 2008
On Wed, Apr 2, 2008 at 4:40 PM, Travis E. Oliphant <email@example.com>
> 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 : a = ones((2,3,4,5))
> > In : 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
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Numpy-discussion