Tengo un grupo de extensión G=N.Q , N noabeliano. ¿Cómo puedo calcular las órbitas de Q en las clases de conjugación de N en GAP? Por ejemplo, tomemos G= S5=A5:2 . La entrada Gap "Orbits (2,A5) dará 33 órbitas de C2 sobre los elementos de A5 . ¿Cómo puedo calcular las órbitas de C2 sobre las clases de A5 en GAP?
Respuesta
¿Demasiados anuncios?Suponiendo que tenga el grupo G dado concretamente con un subgrupo normal N podría hacerlo definiendo su propia función para la acción (estas funciones siempre toman un elemento ω del dominio y un elemento del grupo g y devolver ωg :
OnConjugacyClasses:=function(class,g)
return ConjugacyClass(ActingDomain(class),Representative(class)^g);
end;
Con esto, puedes calcular las órbitas como de costumbre. En tu ejemplo:
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 ]
]
Si lo intenta para grupos más grandes, podría ser más rápido, transferir también información sobre el centralizador del representante, si se conoce:
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;