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

Andrew Jaffe a.h.jaffe@gmail....
Tue Apr 2 06:46:48 CDT 2013


>>
>> 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?
>>
>
> Personally I think it is clear enough and that "Z" and "N" would confuse
> me just as much (though I am used to the other names). Also "Z" and "N"
> would seem more like aliases, which would also make sense in the memory
> order context.
> If anything, I would prefer renaming the arguments iteration_order and
> memory_order, but it seems overdoing it...
> Maybe the documentation could just be checked if it is always clear
> though. I.e. maybe it does not use "iteration" or "memory" order
> consistently (though I somewhat feel it is usually clear that it must be
> iteration order, since no numpy function cares about the input memory
> order as they will just do a copy if necessary).

I have been using both C and Fortran for 25 or so years. Despite that, I 
have to sit and think every time I need to know which way the arrays are 
stored, basically by remembering that in fortran you do (I,J,*) for an 
assumed-size array.

So I *love* the idea of 'Z' and 'N' which I understood immediately.

Andrew






More information about the NumPy-Discussion mailing list