diff --git a/lib/morpheus.gi b/lib/morpheus.gi index 3569b1b529..4c81c4c2d0 100644 --- a/lib/morpheus.gi +++ b/lib/morpheus.gi @@ -2491,7 +2491,9 @@ local A; #LoadPackage("autpgrp"); # try to load the package if it exists A:=AutomorphismGroupNilpotentGroup(G); elif IsSolvableGroup(G) then - if HasIsFrattiniFree(G) and IsFrattiniFree(G) then + # AutomorphismGroupFrattFreeGroup needs a pcgs for subgroups of G, which + # is not available for example for finitely presented groups + if CanEasilyComputePcgs(G) and IsFrattiniFree(G) then A:=AutomorphismGroupFrattFreeGroup(G); else # currently autactbase does not work well, as the representation might diff --git a/tst/testinstall/opers/AutomorphismGroup.tst b/tst/testinstall/opers/AutomorphismGroup.tst index 6bce34f984..c45f635051 100644 --- a/tst/testinstall/opers/AutomorphismGroup.tst +++ b/tst/testinstall/opers/AutomorphismGroup.tst @@ -24,8 +24,22 @@ true # solvable group gap> G:=DihedralGroup(100); +gap> IsFrattiniFree(G); +false gap> AutomorphismGroup(G); +# solvable Frattini-free groups, handled by AutomorphismGroupFrattFreeGroup +gap> G:=SymmetricGroup(4);; +gap> IsFrattiniFree(G); +true +gap> Size(AutomorphismGroup(G)); +24 +gap> Size(AutomorphismGroup(SymmetricGroup(IsPcGroup,4))); +24 +gap> G:=Group((1,2,3,4,5),(2,3,5,4));; # Frobenius group of order 20 +gap> Size(AutomorphismGroup(G)); +20 + # gap> STOP_TEST("AutomorphismGroup.tst");