[Numpy-discussion] Raveling, reshape order keyword unnecessarily confuses index and memory ordering

Bradley M. Froehle brad.froehle@gmail....
Sat Mar 30 18:31:53 CDT 2013


On Sat, Mar 30, 2013 at 3:21 PM, Matthew Brett <matthew.brett@gmail.com>wrote:

> On Sat, Mar 30, 2013 at 2:20 PM,  <josef.pktd@gmail.com> wrote:
> > On Sat, Mar 30, 2013 at 4:57 PM,  <josef.pktd@gmail.com> wrote:
> >> On Sat, Mar 30, 2013 at 3:51 PM, Matthew Brett <matthew.brett@gmail.com>
> wrote:
> >>> On Sat, Mar 30, 2013 at 4:14 AM,  <josef.pktd@gmail.com> wrote:
> >>>> On Fri, Mar 29, 2013 at 10:08 PM, Matthew Brett <
> matthew.brett@gmail.com> wrote:
> >>>>>
> >>>>> Ravel and reshape use the tems 'C' and 'F" in the sense of index
> ordering.
> >>>>>
> >>>>> This is very confusing.  We think the index ordering and memory
> >>>>> ordering ideas need to be separated, and specifically, we should
> avoid
> >>>>> using "C" and "F" to refer to index ordering.
> >>>>>
> >>>>> Proposal
> >>>>> -------------
> >>>>>
> >>>>> * Deprecate the use of "C" and "F" meaning backwards and forwards
> >>>>> index ordering for ravel, reshape
> >>>>> * Prefer "Z" and "N", being graphical representations of unraveling
> in
> >>>>> 2 dimensions, axis1 first and axis0 first respectively (excellent
> >>>>> naming idea by Paul Ivanov)
> >>>>>
> >>>>> What do y'all think?
> >>>>
> >>>> I always thought "F" and "C" are easy to understand, I always thought
> about
> >>>> the content and never about the memory when using it.
> >>
> >> changing the names doesn't make it easier to understand.
> >> I think the confusion is because the new A and K refer to existing
> memory
> >>
>
> I disagree, I think it's confusing, but I have evidence, and that is
> that four out of four of us tested ourselves and got it wrong.
>
> Perhaps we are particularly dumb or poorly informed, but I think it's
> rash to assert there is no problem here.
>

I got all four correct.  I think the concept --- at least for ravel --- is
pretty simple: would you like to read the data off in C ordering or Fortran
ordering.  Since the output array is one-dimensional, its ordering is
irrelevant.

I don't understand the 'Z' / 'N' suggestion at all.  Are they part of some
pneumonic?

I'd STRONGLY advise against deprecating the 'F' and 'C' options.  NumPy
already suffers from too much bikeshedding with names --- I rarely am able
to pull out a script I wrote using NumPy even a few years ago and have
it immediately work.

Cheers,
Brad
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.scipy.org/pipermail/numpy-discussion/attachments/20130330/d30d157d/attachment-0001.html 


More information about the NumPy-Discussion mailing list