> < ^ From:

> ^ Subject:

<gap-forum@samson.Math.RWTH-Aachen.DE>

I'd like to solicit the forum's help in a group action problem that I'm

looking at : start with a permutation group G and let one of its subgroups

act by conjugation on one of its (G's) conjugacy classes. I'd like to get

representatives of the orbits of this action.

For the particluar case that I need now, G is the symmetric group of degree 2n,

the subgroup is the cyclic group of the same degree, and the conjugacy class

corresponds to the partition [2,2,...,2] of 2n. I wrote the function below to

do this but it doesn't seem to handle the n>5 cases very well, so it seems

that I need something more efficient -- I'd like to look at the 1<n<10 cases.

Is there a better way to do this?

GenerateOrbits := function(n) local

permutation,class,generator,group,orbits,representatives;

# permutation corresponding to partition [2,2,...,2] of 2n

permutation := PermList(List([1..2*n],x->x+Mod(x,2)-Mod(x+1,2)));

# conjugacy class of Sym(2n) corresponding to permutation

class := ConjugacyClass(SymmetricGroup(2*n),permutation);

Print("size of class : ",Size(class),"\n");

# cyclic permutation (1,2,3,...,2n)

generator := PermList(List([1..2*n],x->Mod(x,2*n)+1));

# cyclic group of order 2n

group := Group( generator );

# orbits of group on class

orbits := Orbits(group, Elements(class),function(d,g) return d^g; end);

Print("number of orbits : ",Size(orbits),"\n");

representatives := List(orbits,x->x[1]);

return representatives;

end;

Any suggestions are greatly appreciated.

Jacob Hirbawi

JcbHrb@CERF.net

> < [top]