Skip to content

Commit

Permalink
Use NormalizerViaRadical for suitable permutation groups (#5512)
Browse files Browse the repository at this point in the history
  • Loading branch information
hulpke authored Sep 29, 2023
1 parent b2c306d commit 7781d0d
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 1 deletion.
2 changes: 1 addition & 1 deletion doc/tut/group.xml
Original file line number Diff line number Diff line change
Expand Up @@ -150,7 +150,7 @@ whose image is the factor group.
<Example><![CDATA[
gap> hom := NaturalHomomorphismByNormalSubgroup( norm, elab );
[ (2,3)(6,7), (3,4)(7,8), (3,5)(4,6), (5,7)(6,8), (5,6)(7,8),
(1,2)(3,4)(5,6)(7,8), (1,3)(2,4)(5,7)(6,8), (1,5)(2,6)(3,7)(4,8)
(1,2)(3,4)(5,6)(7,8), (1,3)(2,4)(5,7)(6,8), (1,6)(2,5)(3,8)(4,7)
] -> [ (1,2)(5,6), (2,3)(6,7), (2,4)(3,5), (4,6)(5,7), (4,5)(6,7),
(), (), () ]
gap> f := Image( hom );
Expand Down
9 changes: 9 additions & 0 deletions lib/stbcbckt.gi
Original file line number Diff line number Diff line change
Expand Up @@ -2671,13 +2671,22 @@ Eh, Lh, Nh,G0;
L := arg[ 3 ];
issub:=fail;
elif IsSubset( G, E ) then
if Size(G)=Size(E) then
return G;
fi;
L := E;
issub:=true;
else
L := TrivialSubgroup( G );
issub:=false;;
fi;

if issub and HasFittingFreeLiftSetup(G) and NrMovedPoints(G)>1000
# radical is at lest 3rd root of |G| -- avoid smallish radical
and Size(FittingFreeLiftSetup(G).radical)^3>Size(G) then
return NormalizerViaRadical(G,E);
fi;

mpG:=MovedPoints(GeneratorsOfGroup(G));
mpE:=MovedPoints(GeneratorsOfGroup(E));
if IsSubset(mpG,mpE) and not IsTransitive(G,mpG) then
Expand Down

0 comments on commit 7781d0d

Please sign in to comment.