Hi David, I can comment on unique1d, as I am the culprit. I am cc'ing to numpy-discussion as this is a numpy function. Quoting "David M. Kaplan" <David.Kaplan@ird.fr>:

2) Is there a simple equivalent of sortrows(a) (i.e., sorting by entire rows)? Similarly, is there a simple equivalent of the matlab Y =

have you looked at lexsort?

3) Is there an equivalent of [Y,I,J] = unique(X)? In this case, I is the indices of the unique elements and J is an index from Y to X (i.e., where the unique elements appear in X. I can get I with:

I,Y = unique1d( X, return_index=True )

but J, which is very useful, is not available. I suppose I could do:

J = array([]) for i,y in enumerate(Y): J[ nonzero( y == X ) ] = i

But it seems like J is useful enough that there should be an easier way (or perhaps it should be integrated into unique1d, at the risk of adding more keyword arguments).

So basically Y = X[I] and X = Y[J], right? I do not recall matlab that well to know for sure. It certainly could be done, I could look at it after I return from Euroscipy (i.e. after Monday). I would replace return_index argument by two arguments: return_direct (->I) and return_inverse (->J), ok? Does anyone propose better names? Actually most of the methods in arraysetops could return optionally some index arrays. Would anyone use it? (I do not need it personally :) cheers, r.