Вычисление орбит классов сопряженности в GAP.

Aug 16 2020

У меня есть группа расширений $G=N{.}Q$ , $N$неабелевский. Как вычислить орбиты$Q$ на классах сопряженности $N$в GAP? Например, возьмем G =$S_5=A_5{:}2$. Вход Gap "Орбиты$(2,A_5)$ даст 33 орбиты $C_2$ на элементах $A_5$. Как вычислить орбиты$C_2$ на занятиях $A_5$ в GAP?

Ответы

2 ahulpke Aug 16 2020 at 15:58

Предполагая, что у вас есть группа $G$ конкретно с нормальной подгруппой $N$, вы можете сделать это, определив свою собственную функцию для действия (такие функции всегда принимают элемент $\omega$ домена и элемента группы $g$ и вернуться $\omega^g$:

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

Таким образом, вы можете рассчитывать орбиты как обычно. В вашем примере:

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

Если вы попробуете так для больших групп, возможно, будет быстрее также передать информацию о централизаторе представителя, если он известен:

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;