On Sat, Mar 30, 2013 at 3:21 PM, Matthew Brett
On Sat, Mar 30, 2013 at 2:20 PM,
wrote: On Sat, Mar 30, 2013 at 4:57 PM,
wrote: On Sat, Mar 30, 2013 at 3:51 PM, Matthew Brett
wrote: On Sat, Mar 30, 2013 at 4:14 AM,
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