[Numpy-discussion] Response to PEP suggestions

Paul Barrett barrett at stsci.edu
Fri Feb 18 06:56:19 EST 2005

Perry Greenfield wrote:

> On Feb 17, 2005, at 3:25 PM, Travis Oliphant wrote:
>> This is basically new behavior that numarray has started supporting.  
>> I just think numarray missed an important case of flattened indexing 
>> that MATLAB supports.  My current proposal would distinguish between 
>> single-index array cases and tuple-index array cases.
>> I'm still thinking about the X.flat possibility.  Basically, I think 
>> that direction would requires a new "generic array view" or something 
>> like that.  It may be worth trying, but I'm not sure I want to go 
>> that direction right now until I convince more people to come on 
>> board with Numeric3.
> It was new behavior in the sense that Numeric didn't support 
> multidimensional array takes and puts at the time. For a long time it 
> was the only kind of array indexing IDL supported (1-d and implicit 
> .flat of multidimensional arrays). Speaking only for myself, I found 
> the .flat semantics more often as unwanted behavior than convenient. 
> I'd rather keep the numarray behavior in this case and make the .flat 
> case explicit (but I understand the difficulty of that approach). 
> There is the possibility of a custom index option (but ugly I suppose)
> X[K, flatten]
> where flatten is a special object that indexing recognizes as 
> signaling a different interpretation to indexing.

+1 on  Travis's suggestion of X.flat[K] behavior, since I think it is 
explicit and intuitive.

- 1 on X[K. flatten]

I think in the long term that the X.flat[K] proposal should be pursued, 
even for non-contiguous arrays. Since we have decided that slice-as-view 
behavior is the default, then I believe the user should not have to 
worry whether the internal structure of an array is continguous or not.

 -- Paul

Paul Barrett, PhD      Space Telescope Science Institute
Phone: 410-338-4475    ESS/Science Software Branch
FAX:   410-338-4767    Baltimore, MD 21218

More information about the NumPy-Discussion mailing list