On 26 Jan 2009, at 12:20, Bill Allombert wrote:

On Mon, Jan 26, 2009 at 01:31:02AM -0800, Don King wrote:
Hello,
I am wondering if I can convert a cycle into a different notation.
gap>  ConjugacyClasses(s10);
.....
(1,2,5,10)
......

For instance, above one represents a mapping 1->2, 2->5, 5->10, 10- >1.
If I use a permutation notation for above one,

  1 2 3 4 5   6 7 8 9 10
  2 5 3 4 10 6 7 8 9  1

is it possible to print a permutation notation (or other similar notation) rather than a cycle notation ?

You can use
Permuted([1..10],(1,2,5,10)^-1);

Hello,

there is also a function ListPerm(perm) which returns a list that contains the images of the positive integers under the permutation perm. That means that list[i] = i^perm, where i lies between 1 and the largest point moved by perm (see LargestMovedPoint).

For example,

gap> ListPerm((1,2,5,10));
[ 2, 5, 3, 4, 10, 6, 7, 8, 9, 1 ]

gap> ListPerm((1,2,5,9));
[ 2, 5, 3, 4, 9, 6, 7, 8, 1 ]

Note that the length of the list is equal to the LargestMovedPoint(perm), so dependently on your problem you might be interested in adding the "tail"
to the resulting list or might be not.

Also, the bigger is input the more visible is that ListPerm is faster, e.g.:

gap> s:=Random(SymmetricGroup(10000));;
gap> LargestMovedPoint(s);
10000
gap> for i in [1..10000] do ListPerm(s);od;time;
2317
gap> for i in [1..10000] do Permuted([1..10000],s^-1);od;time;
5022

Best wishes,
Alexander

_______________________________________________
Forum mailing list
Forum@mail.gap-system.org
http://mail.gap-system.org/mailman/listinfo/forum

Reply via email to