Computing orbits of conjugacy classes in GAP.

106 Views Asked by At

I have an extension group $G=N{.}Q$ , $N$ nonabelian. How do I compute the orbits of $Q$ on the conjugacy classes of $N$ in GAP? For example, take G=$S_5=A_5{:}2$. The Gap input "Orbits$(2,A_5)$ will give 33 orbits of $C_2$ on the elements of $A_5$. How do I compute the orbits of $C_2$ on the classes of $A_5$ in GAP?

1

There are 1 best solutions below

2
On BEST ANSWER

Assuming that you have the group $G$ given concretely with a normal subgroup $N$, you could do so by defining your own function for the action (such functions always take an element $\omega$ of the domain and a group element $g$ and return $\omega^g$:

OnConjugacyClasses:=function(class,g)
  return ConjugacyClass(ActingDomain(class),Representative(class)^g);
end;

With this, you can then calculate orbits as usual. In your example:

gap> G:=SymmetricGroup(5);;
gap> N:=DerivedSubgroup(G);;
gap> cl:=ConjugacyClasses(N);
[ ()^G, (1,2)(3,4)^G, (1,2,3)^G, (1,2,3,4,5)^G, (1,2,3,5,4)^G ]
gap> OrbitsDomain(G,cl,OnConjugacyClasses);
[ [ ()^G ], [ (1,2)(3,4)^G ], [ (1,2,3)^G ], [ (1,2,3,4,5)^G, (1,2,3,5,4)^G ]
 ]

If you try so for larger groups, it might be faster, to also transfer information about the centralizer of the representative, if known:

OnConjugacyClasses:=function(class,g)
local cl;
  cl:=ConjugacyClass(ActingDomain(class),Representative(class)^g);
  if HasStabilizerOfExternalSet(class) then
    SetStabilizerOfExternalSet(cl,StabilizerOfExternalSet(class)^g);
  fi;
  return cl;
end;