Let $G$ be a finite non-abelian $p$-group, where $p$ is a prime. An automorphism $\alpha$ of $G$ is called a class-preserving if for each $x\in G$, there exists an element $g_x\in G$ such that $\alpha(x)=g_x^{-1}xg_x$. An automorphism $\alpha$ of $G$ is called a $2$nd class-preserving if for each $x\in G$, there exists an element $g_x\in G'=[G,G]$ such that $\alpha(x)=g_x^{-1}xg_x$. Let $\mathrm{Aut_c}(G)$ and $\mathrm{Aut_c^2}(G)$ respectively denote the group of all class-preserving and $2$nd class-preserving automorphisms of $G$.
I have made a GAP program to find the structure of $\mathrm{Aut_c}(G)$ but I failed to make a GAP program to find the structure of $\mathrm{Aut_c^2}(G)$. The GAP program to find the structure of $\mathrm{Aut_c}(G)$ is following:
ClassPreservingAuts:= function(G)
local A,I,cc,gens,auts,a,ok,i,hom;
A:=AutomorphismGroup(G);
I:=InnerAutomorphismsAutomorphismGroup(A);
hom:=NaturalHomomorphismByNormalSubgroup(A,I);
cc:=ConjugacyClasses(G);
gens:=[];
auts:=Group([One(A)]);
# check for class preserving
for a in Elements(A) do
ok:=true;
# run through classes
i:=0;
while i<Length(cc) and ok=true do
i:=i+1;
if not (Representative(cc[i])^a in cc[i]) then
ok:=false;
fi;
od;
# a is class preserving
if ok=true and not (a in auts) then
Add (gens,a);
auts:= Group(gens);
#inng:=Image(hom(x));
#gens:=GeneratorsOfGroup(inng);
fi;
od;
return auts;
return auts/I;
return Size(auts)/Size(I);
end;
My question is the following:
Can anybody help me to make a GAP program to find the structure of $\mathrm{Aut_c^2}(G)$?
Your current test is
that will eliminate elements as not lying in the subgroup you want. We could phrase this alternatively (this is in fact what the
intest does) asthat is we are testing whether there is an element in
Gthat will conjugate the class representative in the same way as the automorphismadoes.This is now easily generalized. Add
at the start and change the test to
Finally -- it is not clear from your code whether you want to factor out the inner automorphisms -- you would factor out not all inner automorphisms, but only those induced by $G'$.