Un simple cálculo de la BRECHA de rendimientos de respuestas. He utilizado este programa:
isNonInnerPowerAuto := function(G, k)
local gens, imgs, hom;
gens := GeneratorsOfGroup(G);
imgs := List(gens, x->x^k);
hom := GroupHomomorphismByImages(G, G, gens, imgs);
if hom = fail then return false; fi;
if not IsBijective(hom) then return false; fi;
if IsInnerAutomorphism(hom) then return false; fi;
return ForAll(G, g -> g^hom = g ^ k);
end;
for n in [6..127] do
if not IsPrimePowerInt(n) then continue; fi;
for i in [1..NrSmallGroups(n)] do
G := SmallGroup(n,i);
if IsAbelian(G) then continue; fi;
for k in [2..Exponent(G)-2] do
if isNonInnerPowerAuto(G,k) then
Print("for group ", IdGroup(G),", ",k, " is an auto, non-inner\n");
fi;
od;
od;
od;
Lo que resultó en esta salida:
for group [ 32, 5 ], 5 is an auto, non-inner
for group [ 32, 12 ], 5 is an auto, non-inner
for group [ 32, 17 ], 5 is an auto, non-inner
for group [ 32, 17 ], 13 is an auto, non-inner
for group [ 32, 38 ], 5 is an auto, non-inner
for group [ 64, 3 ], 5 is an auto, non-inner
for group [ 64, 4 ], 5 is an auto, non-inner
for group [ 64, 5 ], 5 is an auto, non-inner
for group [ 64, 17 ], 5 is an auto, non-inner
for group [ 64, 27 ], 5 is an auto, non-inner
for group [ 64, 27 ], 13 is an auto, non-inner
for group [ 64, 29 ], 5 is an auto, non-inner
for group [ 64, 29 ], 9 is an auto, non-inner
for group [ 64, 29 ], 13 is an auto, non-inner
for group [ 64, 30 ], 5 is an auto, non-inner
for group [ 64, 30 ], 13 is an auto, non-inner
for group [ 64, 31 ], 9 is an auto, non-inner
for group [ 64, 44 ], 5 is an auto, non-inner
for group [ 64, 44 ], 9 is an auto, non-inner
for group [ 64, 44 ], 13 is an auto, non-inner
for group [ 64, 51 ], 5 is an auto, non-inner
for group [ 64, 51 ], 9 is an auto, non-inner
for group [ 64, 51 ], 13 is an auto, non-inner
for group [ 64, 51 ], 21 is an auto, non-inner
for group [ 64, 51 ], 25 is an auto, non-inner
for group [ 64, 51 ], 29 is an auto, non-inner
for group [ 64, 86 ], 5 is an auto, non-inner
for group [ 64, 87 ], 5 is an auto, non-inner
for group [ 64, 89 ], 5 is an auto, non-inner
for group [ 64, 103 ], 5 is an auto, non-inner
for group [ 64, 105 ], 5 is an auto, non-inner
for group [ 64, 112 ], 5 is an auto, non-inner
for group [ 64, 114 ], 5 is an auto, non-inner
for group [ 64, 115 ], 5 is an auto, non-inner
for group [ 64, 116 ], 5 is an auto, non-inner
for group [ 64, 117 ], 5 is an auto, non-inner
for group [ 64, 126 ], 5 is an auto, non-inner
for group [ 64, 127 ], 5 is an auto, non-inner
for group [ 64, 184 ], 5 is an auto, non-inner
for group [ 64, 184 ], 13 is an auto, non-inner
for group [ 64, 185 ], 5 is an auto, non-inner
for group [ 64, 185 ], 9 is an auto, non-inner
for group [ 64, 185 ], 13 is an auto, non-inner
for group [ 64, 248 ], 5 is an auto, non-inner
for group [ 81, 3 ], 4 is an auto, non-inner
for group [ 81, 3 ], 7 is an auto, non-inner
for group [ 81, 4 ], 4 is an auto, non-inner
for group [ 81, 4 ], 7 is an auto, non-inner
for group [ 81, 6 ], 4 is an auto, non-inner
for group [ 81, 6 ], 7 is an auto, non-inner
for group [ 81, 6 ], 13 is an auto, non-inner
for group [ 81, 6 ], 16 is an auto, non-inner
for group [ 81, 6 ], 22 is an auto, non-inner
for group [ 81, 6 ], 25 is an auto, non-inner
for group [ 81, 14 ], 4 is an auto, non-inner
for group [ 81, 14 ], 7 is an auto, non-inner
El más pequeño de los ejemplos son de orden 32. Tenga en cuenta que $k$ es siempre coprime
para el orden del grupo, por lo que si se induce un automorphism, ciertamente, no es interior.
Para trabajar con cualquiera de ellos con la mano, usted puede pedir BRECHA para
una presentación:
gap> G := SmallGroup(32,5);
<pc group of size 32 with 5 generators>
gap> StructureDescription(G);
"(C8 x C2) : C2"
gap> gfp:=Image(IsomorphismFpGroup(G));
<fp group of size 32 on the generators [ F1, F2, F3, F4, F5 ]>
gap> RelatorsOfFpGroup(gfp);
[ F1^2*F4^-1, F2^-1*F1^-1*F2*F1*F3^-1, F3^-1*F1^-1*F3*F1, F4^-1*F1^-1*F4*F1,
F5^-1*F1^-1*F5*F1, F2^2, F3^-1*F2^-1*F3*F2, F4^-1*F2^-1*F4*F2,
F5^-1*F2^-1*F5*F2, F3^2, F4^-1*F3^-1*F4*F3, F5^-1*F3^-1*F5*F3, F4^2*F5^-1,
F5^-1*F4^-1*F5*F4, F5^2 ]
O, pida un poder-la conjugación de la presentación (esto omite trivial de la conjugación de las relaciones,
por ejemplo, g4^g3 = g4; mirar la documentación de PrintPcpPresentation
para los detalles; ah sí,
y tenga en cuenta que es parte de la policíclicos paquete, que es, sin embargo, se instala y
cargado por defecto de forma regular en una BRECHA de la instalación):
gap> PrintPcpPresentation(PcGroupToPcpGroup(G));
g1^2 = g4
g2^2 = id
g3^2 = id
g4^2 = g5
g5^2 = id
g2 ^ g1 = g2 * g3
O pedir una isomorfo permutación grupo (llevo dos, uno es el
regular la representación, una un poco más pequeña:
gap> H := Image(IsomorphismPermGroup(G));;
gap> SmallGeneratingSet(H);
[ (1,18,26,17,6,29,14,28)(2,13,30,23,10,3,20,31)(4,27,16,7,15,32,5,19)(8,24,22,
12,21,11,9,25), (1,24)(2,28)(3,15)(4,13)(5,31)(6,11)(7,21)(8,19)(9,32)(10,
17)(12,26)(14,25)(16,23)(18,30)(20,29)(22,27) ]
gap> SmallGeneratingSet(Image(SmallerDegreePermutationRepresentation(H)));
[ (1,2,4,7,5,8,11,14)(3,6,9,12,10,13,15,16), (2,6)(7,12)(8,13)(14,16),
(1,3)(2,6)(4,9)(5,10)(7,12)(8,13)(11,15)(14,16) ]