GAP has the command ConjugacyClassesSubgroups which gives a list of the conjugacy classes of a finite group $G$. Is there a way I can specify further what types of subgroups GAP reports? For instance, can I ask GAP to only list conjugacy classes of subgroups of a certain order or isomorphism type?

I'm interested in computing $p$-groups, and I'm hoping to cut down on computation time by instructing GAP to ignore all other subgroups.

Magma has parameters like OrderEqual and OrderDividing when computing subgroups. I'm looking for a similar function with GAP.

  • 2
    $\begingroup$ You could try doing something like finding a Sylow $p$-subgroup $P$, then finding maximal subgroups of $P$, then testing these for conjugacy in $G$ and keeping only one representative in each $G$-class, then finding all of their maximal subgroups, etc. $\endgroup$
    – Derek Holt
    Aug 6, 2013 at 7:54
  • 1
    $\begingroup$ Another sneaky method uses the table of marks library in GAP. Some kind soul computed the subgroup lattice and wrote down the answer. However, I personally have not learned to use it effectively. $\endgroup$ Aug 6, 2013 at 15:17

1 Answer 1


First, you may find helpful some functions like NormalSubgroups, IsomorphicSubgroups etc. which are listed in "How do I get the subgroups of my group?" entry from the GAP F.A.Q. There are also further functions not listed there, such as RepresentativesPerfectSubgroups, RepresentativesSimpleSubgroups, ConjugacyClassesMaximalSubgroups - see Chapter "Groups" from the GAP manual for more functions with the similar semantics.

Regarding p-subgroups, the manual entry for IsomorphicSubgroups suggests the same approach as in the Derek Holt's comment above: "To find p-subgroups it is often faster to compute the subgroup lattice of the Sylow subgroup".

Furthermore, LatticeByCyclicExtension and SubgroupsSolvableGroup accept optional arguments which allow to put restrictions on computed subgroups. In the latter case functions SizeConsiderFunction and ExactSizeConsiderFunction may be used. All four functions mentioned in this paragraph are documented in the Chapter "Groups", type e.g. ?SubgroupsSolvableGroup to see their descriptions in GAP.

As for tables of marks mentioned by Jack Schmidt, see Chapter "Tables of Marks" and in particular Section "Accessing Subgroups via Tables of Marks" - but that will work only for groups whose tables are contained in the tables of marks library.


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .