GAPでの共役類の軌道の計算。
拡張グループがあります $G=N{.}Q$ 、 $N$非アーベル。の軌道を計算するにはどうすればよいですか$Q$ の共役類について $N$ギャップで?たとえば、G =を取ります$S_5=A_5{:}2$。ギャップ入力「軌道$(2,A_5)$ 33の軌道を与える $C_2$ の要素について $A_5$。の軌道を計算するにはどうすればよいですか$C_2$ のクラスで $A_5$ ギャップで?
回答
2 ahulpke
あなたがグループを持っていると仮定して $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;