[Numpy-discussion] Status of numeric3 / scipylite / scipy_core

Perry Greenfield perry at stsci.edu
Thu Mar 17 14:57:11 CST 2005


On Mar 17, 2005, at 4:59 PM, Travis Oliphant wrote:

> Perry Greenfield wrote:
>
>> Before I delve too deeply into what you are suggesting (or asking), 
>> has the idea to have a slice be equivalent to an index array been 
>> changed. For example, I recall seeing (I forget where), the 
>> suggestion that
>>
>> X[:,ind] is the same as X[arange(X.shape[0]), ind]
>>
> This was in the PEP originally.  But, after talking with you and 
> better understanding the "broadcasting" issues of the numarray 
> indexing scheme, it seemed less like a good idea.  Then, during 
> implementation it was easier to interpret slices differently.  A very 
> natural usage fell out as I thought more about  partial indexing in 
> Numeric:  X[ind] where X has more than 1 dimension returns in numarray 
> something like
>
> result[i,j,k,...] = X[ind[i,j,k],...]
>
> It seems rather singular to have this Ellipsis-like character only 
> useful for the ending dimensions of X.  Thus, I decided that 
> X[...,ind] ought to be valid as well and return something like
>
> result[...,i,j,k] = X[...,ind[i,j,k]]
>
> So, yes, I've changed my mind (I sent an email about this when I woke 
> up and realized a better solution).
>
Sorry if I missed that.

Now that is cleared up, the use of slices you propose is essentially as 
a index placeholder for an index not to be indexed by index arrays 
(akin to what is implied by partial indexing). In that vein it makes 
sense. Identical functionality could be had by reordering the indices, 
doing partial indexing and then reordering to the original order. 
That's clumsy for sure, but it probably isn't going to be done that 
often. If you've already done it, great. Let me look it over in a bit 
more detail tonight.

Perry





More information about the Numpy-discussion mailing list