Calculando órbitas de classes de conjugação em GAP.
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
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;