8

I want to know an example of a small order non-abelian $p$-group $G$ with a power automorphism which is not inner, i.e. an automorphism of the form $g\mapsto g^k$ for all $g\in G$, but non-inner.

In the examples I was initially considering, the maps were $g\mapsto g^{-1}$ which will never be automorphisms of non-abelian groups.

Any good example of this? Thanks for interest.

Max Horn
  • 2,306
p Groups
  • 10,458
  • 1
    In $D_8$, $g\mapsto g^3$ is a power automorphism, but it is inner. For $Q_8$, $g\mapsto g^3$ is not an automorphism (since $i\mapsto -i, j\mapsto -j$, but by this $k$ should map to $-k$; while $k=ij\mapsto (-i)(-j)=ij=k$, contradiction. – p Groups Jan 11 '16 at 07:30
  • 1
    Sorry, a mistake in previous comment. Dihedral group has no power automorphism except identity: for if $g\mapsto g^k$ is a power automorphism of dihedral group, then $k$ should be odd (since order of reflection and its $k$-th power should be same). Then all the reflections should be fixed under power automorphism, since odd power of reflection is itself. Once all reflections are fixed, the automorphism should be identity, since they generate dihedral group. – p Groups Jan 11 '16 at 07:44
  • Here is an example of "power automorphism". Let $G=C_{p^2}\rtimes C_p=\langle x,y\colon x^{p^2}, y^p, yxy^{-1}=x^{1+p}\rangle$. As $p>2$, it can be checked that $(ab)^p=a^pb^p$ for all $a,b\in G$. Consider map $g\mapsto g^{1+p}$. This is clearly $1-1$, and $(hk)^{1+p}=(hk).(hk)^p=hk.h^pk^p$ and since $g^p\in Z(G)$ for all $g$, so $(hk)^{1+p}=hk.h^pk^p=h.h^p.k.k^p=h^{1+p}k^{1+p}.$ So $g\mapsto g^{1+p}$ is automorphism. But this automorphism agrres with conjugation by $y$ on the generators $x,y$, hence this power automorphism is inner automorphism . – p Groups Jan 11 '16 at 11:50
  • https://math.stackexchange.com/q/1132336/688539 – Clemens Bartholdy Mar 10 '22 at 00:53

1 Answers1

4

A simple GAP computation yields answers. I used this program:

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;

Which resulted in this output:

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

The smallest examples are of order 32. Note that $k$ is always coprime to the group order, so if it induces an automorphism, it is certainly not inner.

To work with any of them by hand, you can ask GAP for a presentation:

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 ]

Or, ask for a power-conjugation presentation (this omits trivial conjugation relations, e.g. g4^g3 = g4; look at the documentation of PrintPcpPresentation for details; ah yeah, and note that it is part of the polycyclic package, which is, however, installed and loaded by default in a regular GAP installation):

gap> PrintPcpPresentation(PcGroupToPcpGroup(G));
g1^2 = g4
g2^2 = id
g3^2 = id
g4^2 = g5
g5^2 = id
g2 ^ g1 = g2 * g3

Or ask for an isomorphic permutation group (I give two, one is the regular representation, one a somewhat smaller one:

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) ]
Max Horn
  • 2,306