[GAP Forum] Sortex( list, func )
Alexander Hulpke
ahulpke at gmail.com
Wed Aug 6 17:39:43 BST 2008
Dear Forum,
> is there a reason why the versions Sort and SortParallel exist with
> an optional Argument func which permits to define an own comparison
> function while for Sortex and SortingPerm such a version does not
> exist?
There is no fundamental reason for this (and in the next release such
functionality will be available), the most likely reason is that it
can be easily emulated, see below.
>
> And if so, is there a simple way to obtain what
>
> SortingPerm(ConjugacyClasses, cmp)
>
> would do (for a given function cmp) if there were such a version?
Yes. You can use `SortParallel' to build a permutation (in fact this
is what `Sortex' does internally):
gap> l:=[6,2,9,4,5];
gap> pos:=[1..Length(l)]; # list of positions
gap> SortParallel(l,pos,function(a,b) return a>b;end); # reverse
sorting function
gap> l;
[ 9, 6, 5, 4, 2 ]
Now `PermList(pos)' is the inverse of permutation that will do the
same sort:
gap> l:=[6,2,9,4,5]; # old list again
gap> Permuted(l,PermList(pos)^-1);
[ 9, 6, 5, 4, 2 ]
All the best,
Alexander Hulpke
>
More information about the Forum
mailing list