I need some help in GAP System

139 Views Asked by At

I am new to GAP system. I would like to find all groups of order $p^n$ with $\text{Aut}(G) \to \text{Aut}(G/\Phi(G))$ surjective.

$$\text{Aut}(G/Φ(G))=\text{GL}(L,p) \text{ and } G/Φ(G)= C^L× ......× C^L \text{ ($p$-times)}.$$


I'm trying to do that in GAP but i don't know how to find all groups. or is that true or not? As example the group is SmallGroup(n,p)

G:= SmallGroup(n,p);
StructureDescription(G);
A:= AutomorphismGroupPGroup(G);
l:= RankPGroup(G);
p:= PrimePGroup(G);

if Size(A) = Size(GL(n,l))*p^(l*(n-l)) then
    return true;




TestCondition := function( G, d, p )
    local A;

A := AutomorphismGroupPGroup(Factor(G, FrattiniSubgroup(G)));
if IsomorphismGroups(A, GL(d,p)) <> fail then
    return true;
else
    return false;
fi;
end;

for n in [1..100] do
    if IsPrimePowerInt(n) then
        for m in [1..NumberSmallGroups(n)] do
            if TestCondition(SmallGroup(n,m)) = true then
                # ...
            fi;
        od;
    fi;
od;
1

There are 1 best solutions below

4
On BEST ANSWER

Your condition test is quite expensive in testing for abstract isomorphism. It will be much cheaper to induce the matrix action on a basis of $G/\Phi(G)$ and check that the resulting group indeed is thew full GL. GAP code for this is:

TestCondition:=function(G)
local p,A,phi,pcgs,mats,m;
  p:=PrimePGroup(G);
  A:=AutomorphismGroup(G);
  phi:=FrattiniSubgroup(G);
  pcgs:=ModuloPcgs(G,phi);
  mats:=List(GeneratorsOfGroup(A),hom->
    List(pcgs,a->ExponentsOfPcElement(pcgs,ImagesRepresentative(hom,a))));
  m:=Group(mats*One(GF(p)));
  return Size(m)=Size(GL(Length(pcgs),p));
end;