Calculando órbitas de classes de conjugação em GAP.

Aug 16 2020

Eu tenho um grupo de extensão $G=N{.}Q$ , $N$nonabelian. Como faço para calcular as órbitas de$Q$ nas classes de conjugação de $N$no GAP? Por exemplo, tome G =$S_5=A_5{:}2$. A entrada Gap "Órbitas$(2,A_5)$ dará 33 órbitas de $C_2$ nos elementos de $A_5$. Como faço para calcular as órbitas de$C_2$ nas aulas de $A_5$ no GAP?

Respostas

2 ahulpke Aug 16 2020 at 15:58

Supondo que você tenha o grupo $G$ dado concretamente com um subgrupo normal $N$, você poderia fazer isso definindo sua própria função para a ação (tais funções sempre levam um elemento $\omega$ do domínio e um elemento de grupo $g$ e retorno $\omega^g$:

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

Com isso, você pode calcular as órbitas normalmente. No seu exemplo:

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 ]
 ]

Se você tentar para grupos maiores, pode ser mais rápido, também transferir informações sobre o centralizador do representante, se conhecido:

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;