Calcolo delle orbite delle classi di coniugazione in GAP.

Aug 16 2020

Ho un gruppo di interni $G=N{.}Q$ , $N$nonabelian. Come calcolo le orbite di$Q$ sulle classi di coniugazione di $N$in GAP? Ad esempio, prendi G =$S_5=A_5{:}2$. L'input di Gap "Orbits$(2,A_5)$ darà 33 orbite di $C_2$ sugli elementi di $A_5$. Come calcolo le orbite di$C_2$ sulle classi di $A_5$ in GAP?

Risposte

2 ahulpke Aug 16 2020 at 15:58

Supponendo che tu abbia il gruppo $G$ dato concretamente con un sottogruppo normale $N$, puoi farlo definendo la tua funzione per l'azione (tali funzioni accettano sempre un elemento $\omega$ del dominio e un elemento del gruppo $g$ e ritorno $\omega^g$:

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

Con questo, puoi quindi calcolare le orbite come al solito. Nel tuo esempio:

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 lo provi per gruppi più grandi, potrebbe essere più veloce trasferire anche le informazioni sul centralizzatore del rappresentante, se noto:

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;