[Numpy-discussion] Status of numeric3 / scipylite / scipy_core
Perry Greenfield
perry at stsci.edu
Thu Mar 17 14:57:11 EST 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