Skip to content

Commit

Permalink
Add HallSubgroup fallback method
Browse files Browse the repository at this point in the history
This allows computing Hall subgroups for arbitrary finite groups
via an isomorphism into a permutation group.
  • Loading branch information
fingolfin authored and markuspf committed Jan 9, 2019
1 parent ff3e8ce commit 1625605
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 0 deletions.
16 changes: 16 additions & 0 deletions lib/grp.gi
Original file line number Diff line number Diff line change
Expand Up @@ -3207,6 +3207,22 @@ InstallMethod( HallSubgroupOp,
end );


#############################################################################
##
#M HallSubgroupOp( <G>, <pi> ) . . . . . . . . . . . . . for a finite group
##
InstallMethod( HallSubgroupOp,
"fallback method for a finite group",
[ IsGroup and IsFinite, IsList ],
function( G, pi )
local iso, H;

iso := IsomorphismPermGroup( G );
H := HallSubgroup( ImagesSource( iso ), pi );
return PreImagesSet(iso, H);
end );


#############################################################################
##
#M NormalHallSubgroupsFromSylows( <G> )
Expand Down
13 changes: 13 additions & 0 deletions tst/testinstall/opers/HallSubgroup.tst
Original file line number Diff line number Diff line change
Expand Up @@ -16,4 +16,17 @@ gap> G := Group([ [ [ Z(2)^0, 0*Z(2), 0*Z(2) ],
> [ Z(2)^0, 0*Z(2), 0*Z(2) ] ] ]);;
gap> List(HallSubgroup(G, [2,3]), IdGroup);
[ [ 24, 12 ], [ 24, 12 ] ]

#
gap> G:=PerfectGroup(60,1);
A5
gap> IsFpGroup(G);
true
gap> H:=HallSubgroup(G,[2,3]);;
gap> Size(H);
12
gap> GeneratorsOfGroup(H);
[ b, a*b^-1*a*b*a^-1 ]

#
gap> STOP_TEST("HallSubgroup.tst", 1);

0 comments on commit 1625605

Please sign in to comment.