7 votos

Algoritmo del producto semidirecto GAP

¿Puede alguien orientarme, o incluso explicar aquí, el algoritmo que utiliza GAP para calcular el producto semidirecto de dos grupos de permutación que da como resultado otro grupo de permutación?

EJEMPLO:

gap> C3:=Grupo Cíclico(IsPermGroup,3);
Grupo([ (1,2,3) ])
gap> C7:=CyclicGroup(IsPermGroup,7);
Grupo([ (1,2,3,4,5,6,7) ])
gap> A:=AutomorfismoGrupo(C7);
< grupo con 1 generadores >
gap> elts := Elementos(A);
[ IdentityMapping( Group([ (1,2,3,4,5,6,7) ]),
[ (1,2,3,4,5,6,7) ] -> [ (1,3,5,7,2,4,6) ],
[ (1,2,3,4,5,6,7) ] -> [ (1,4,7,3,6,2,5) ],
[ (1,2,3,4,5,6,7) ] -> [ (1,5,2,6,3,7,4) ],
[ (1,2,3,4,5,6,7) ] -> [ (1,6,4,2,7,5,3) ],
[ (1,2,3,4,5,6,7) ] -> [ (1,7,6,5,4,3,2) ] ]
gap> sigma := elts[2];
[ (1,2,3,4,5,6,7) ] -> [ (1,3,5,7,2,4,6) ]
gap> sigma^3;
[ (1,2,3,4,5,6,7) ] -> [ (1,2,3,4,5,6,7) ]
gap> map := GroupHomorphismByImages(C3, A, GeneratorsOfGroup(C3), [sigma]);
[ (1,2,3) ] -> [ [ (1,2,3,4,5,6,7) ] -> [ (1,3,5,7,2,4,6) ] ]
gap> SDP := SemidirectProduct(C3, map, C7);
Grupo([ (2,3,5)(4,7,6), (1,2,3,4,5,6,7) ])

4voto

Jonik Puntos 7937

El código está en la línea 919 de lib/gprdperm.gi y es muy fácil de entender.

Reescribe el subgrupo normal en su acción regular (así $K$ actuando en $|K|$ puntos), y entonces, por supuesto, el subgrupo del complemento actúa sobre el subgrupo normal dando el producto semidirecto de $H/C_H(K)$ con $K$ . Si $C_H(K) \neq 1$ y luego hace la cosa del producto subdirecto con $H$ de la representante original: es decir $H \ltimes K$ actúa sobre $X \dot\cup K$ donde $H$ actúa sobre $X$ como siempre, $K$ centraliza $X$ y $H,K$ tienen la acción descrita anteriormente sobre $K$ .

En particular, este método es poco práctico con $S_{20} como subgrupo normal.

Si $K$ actúa sobre $Y$ y $|H|$ es pequeño, entonces $H \ltimes K$ puede actuar sobre $H \times Y$ también, pero esto no está implementado.

Hay un método especial implementado en la línea 961 para atrapar un buen caso: si $K$ actúa sobre $Y$ y si la acción de $H$ en $K$ se eleva a un homomorfismo de $H$ a $\operatorname{Sym}(Y)$ , entonces se puede ver $H$ de forma más compacta como un subgrupo de $\operatorname{Sym}(X \dot\cup Y)$ . No se garantiza el éxito de este método aunque se aplique si $C_{\operatorname{Sym}(Y)}(K)$ es grande, ya que el método para comprobar si el homomorfismo se levanta es simplemente elegir una sección al azar y ver si es un homomorfismo.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X