
TL;DR
This paper presents a practical method for identifying all intermediate subgroups between two given subgroups in a group, leveraging existing tools for conjugacy, cosets, and maximal subgroups, when the number of such subgroups is manageable.
Contribution
It introduces a new approach for computing the lattice of intermediate subgroups, extending existing subgroup analysis techniques.
Findings
Effective in cases with a manageable number of intermediate subgroups
Utilizes conjugacy, double cosets, and maximal subgroup computations
Facilitates subgroup lattice determination in group theory
Abstract
This article describes a practical approach for determining the lattice of subgroups U < V < G between given subgroups U and G, provided the total number of such subgroups is not too large. It builds on existing functionality for element conjugacy, double cosets and maximal subgroups.
| Index | # | ||||
|---|---|---|---|---|---|
| 2.6 | 2.8 | ||||
| 52 | 0.8 | ||||
| 5.7 | 2 | ||||
| 1.4 | 1.9 | ||||
| 6 | 2.2 | ||||
| 2.3 | 1 | ||||
| 28 | 4 | ||||
| 2 | 1 | ||||
| 4.5 | 3.1 | ||||
| 0.2 | 1.5 | ||||
| 231 | 191 | ||||
| 254 | 1.3 | ||||
| 0.2 | 5 |
| Degree | Index | # | |||
|---|---|---|---|---|---|
| 0.5 | |||||
| 8 | |||||
| 9 | |||||
| 12 | |||||
| 6 | |||||
| 297 | |||||
| 418 | |||||
| 129 | |||||
| 316 | |||||
| 310 | |||||
| 168 | |||||
| 100 | |||||
| 3305 |
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Finding Intermediate Subgroups
Alexander Hulpke
Department of Mathematics
Colorado State University
1874 Campus Delivery
Fort Collins, CO, 80523-1874, USA
Abstract
This article describes a practical approach for determining the lattice of subgroups between given subgroups and , provided the total number of such subgroups is not too large. It builds on existing functionality for element conjugacy, double cosets and maximal subgroups.
1 Introduction
The question of determining the subgroups of a given finite group (possibly up to conjugacy) has been of interest since the earliest days of computational group theory [Neu60] with current algorithms [Hul99, CCH01, Hul13] being able to work easily for groups of order several million. A fundamental difficulty however is presented if the group has a large number of subgroups, overwhelming available storage.
This limitation indicates the need for more specific algorithms that determine only part of the subgroup lattice of a group. Beyond specific subgroups (such as Sylow- or Hall-), the main result in this direction is that of maximal subgroups [EH01, CH04]. Such a calculation can be iterated to yield subgroups of small index [CHSS05].
(The case of minimal subgroups is simply that of conjugacy classes of elements of prime order and thus is solved.)
In this paper we will consider the related question of intermediate subgroups, that is given a group and a subgroup , we aim to determine all subgroups (or, in some cases, one if it exists), as well as inclusions amongst these subgroups.
In some situations, for example if , or if is cyclic of small prime order, this amounts to determining a significant part of a subgroup lattice of (a factor of) and most likely the best approach will be simply to calculate all subgroups and then to filter for the desired candidates. We thus shall implicitly assume that we are in a situation in which the number of intermediate subgroups is small.
Such functionality has numerous applications, in some cases requiring all intermediate subgroups, in others only one. To name just a few of them:
- •
Birkhoff’s question on the possibility of representing finite lattices as intervals in congruence lattices has been of long standing interest in universal algebra, starting with [GS63]. Subsequently, [PP80] reduced the problem to that of realizing a finite lattice as interval in a finite subgroup lattice, prompting significant investigation of this question interest [Pálf95, Wat96, Sha03, Asc08]. With no positive answer for even small lattices — figure 1 depicts the smallest lattice that is not know to occur as interval in a finite subgroup lattice — researchers have tried to gain insight by trying experimentally to to realize particular cases on the computer [DeM12]. This requires an algorithm for intermediate subgroups.
- •
When representing a transversal of right cosets in permutation groups, the standard approach of reduction to stabilizers [DM88] can, but does not have to, reduce the storage requirements. An example of such a situation is the transversal of a (cyclic) 11-Sylow subgroup . This subgroup is transitive and any proper subgroup trivial, thus transition to a stabilizer would require handling every group element at some point.
Instead, utilizing the intermediate subgroup reduces storage requirements from the index of down to coset representatives.
- •
Double cosets, in particular in permutation groups, are a basic tool of combinatorial enumeration as they describe how a group orbit splits up under reduction to a subgroup. The standard approach [Lau82, Sch90] utilizes a chain of intermediate subgroups, reducing iteratively the calculation of \lower 0.86108pt\hbox{A}\kern-1.00006pt{\setminus}\kern-1.00006pt\raise 0.86108pt\hbox{G}\kern-1.00006pt{/}\kern-1.00006pt\lower 0.86108pt\hbox{B} to \lower 0.86108pt\hbox{A_{1}}\kern-1.00006pt{\setminus}\kern-1.00006pt\raise 0.86108pt\hbox{G}\kern-1.00006pt{/}\kern-1.00006pt\lower 0.86108pt\hbox{B} for and action of on cosets of . Knowledge of intermediate subgroups roughly logarithmizes the cost of calculations.
- •
For infinite matrix groups, proving a subgroup to be of finite index of a subgroup (such as in [LR11]) often reduces to a coset enumeration. For huge indices this is infeasible for memory reasons. If the expected index has been calculated [DFH17] through a subgroup in a suitable finite quotient of the group, an intermediate subgroup can be used to first rewrite the presentation to (the pre-image of) , thus opening the possibility for a smaller index coset enumeration.
- •
The following observation however indicates that the determination of intermediate subgroups should be expected to be hard in general: When computing stabilizers under group actions, often a small number of Schreier generators (which – by the birthday paradox – should arise after enumerating roughly the square root of the orbit length) will generate the full stabilizer, but this is only proven after enumerating a significant part (typically , where is the smallest prime divisor of the stabilizer index) of the orbit, thus establishing that the stabilizer indeed cannot be larger.
Knowledge of intermediate subgroups would allow verification of this fact, thus establishing the stabilizer with less effort by showing that no subgroup above the presumptive stabilizer in fact stabilizes.
Now assume that are given, and we want to enumerate the subgroups . A basic approach follows from the observation that these subgroups correspond to block systems for the action of on the cosets of . If \left[\vphantom{\hbox{{G{:}U}^{\prime}}}G{:}U\right] is small (in practice not more than a few hundred), it is possible to determine the permutation representation on the cosets explicitly. One then can utilize a block-finding algorithm [BS92] as a tool for finding all intermediate subgroups. This however becomes impractical if the index gets larger, as the examples below indicate.
2 A maximal subgroups based approach
Instead, we shall rely on existing algorithms for maximal subgroups [CH04, EH01] to find (conjugates of) subgroups lying below and above .
(An alternative dual approach would be to utilize minimal supergroups, but an algorithm for these does not yet exist.)
A second tool will be routines to determine element centralizers and test for element conjugacy.
Finally, the approach itself involves the calculation of double cosets. When using this routine as a tool as part of a double coset computation (as suggested in the introduction) there thus is a priori the potential of an infinite recursion. This will be in general avoided by the fact that the required double coset calculations involve strictly smaller subgroups; however in a general purpose routine this needs to be checked for.
This approach produces a new algorithm , that takes as input two groups and returns as output a list of the intermediate subgroups , as well as the maximality inclusions amongst all subgroups .
The main tool for this calculation will be a further new algorithm:
(which we shall describe later) takes as arguments a group and and returns a list of the -conjugates of containing , that is the subgroups for , together with the respective conjugating element .
2.1 Intermediate Subgroups Algorithm
The algorithm takes as input the groups and returns a list of intermediate subgroups (including ), as well as a list of maximality inclusion relations amongst these subgroups,
Initialize ; let . 2. 2.
While there is a subgroup that has not been processed, perform the following steps for , otherwise end and return and . 3. 3.
If \left[\vphantom{\hbox{{T{:}U}^{\prime}}}T{:}U\right] is prime, record as a maximality relation in , mark as processed, and go back to step 2. 4. 4.
Determine a list of -representatives of the maximal subgroups of whose order is a multiple of . 5. 5.
For each subgroup , let (that is the -conjugates of containing ). Add every subgroup to (unless it is already in the list), and add the maximality relations to . 6. 6.
If all sets were empty, add the maximality relation to . 7. 7.
Mark as processed, and go back to step 2.
If only one intermediate subgroup (or a maximality test) is required, the calculation can stop in step 5 once a single subgroup has been found.
Proof.
To see the correctness of this algorithm we notice that the only subgroups added to are intermediate, and that a maximality relation is only recorded if a subgroup is contained maximally in another. The algorithm thus returns a list of intermediate subgroups and valid maximality relations.
To show completeness of the lists returned, consider an intermediate subgroup . If is maximal in it will be found as maximal subgroup of in step 5.
Otherwise there will be subgroups in which is contained maximally. By induction over the index in we may assume that these subgroups are included in . Then is obtained as a subgroup in in step 5, and for each such subgroup the maximality inclusion is recorded in .
The same argument shows that any maximality relation amongst the subgroups with be recorded in . ∎
We note a few places of possible improvements:
In step 4, we note that if is a permutation group, we can furthermore restrict to those subgroups whose orbit lengths on the permutation domain can be partitioned by those of . This gives a significant speedup in case of “generic” larger groups such as .
In the course of the calculation several subgroups in may have been obtained as conjugates of the same group. In this situation the maximal subgroup calculation in step 4 can transfer the list of (representatives of) maximal subgroup representative from one subgroup to another (as appropriate conjugates).
The cost of this algorithm is roughly proportional to the number of intermediate subgroups, as every subgroup gets processed in the same way. While it would be possible to carry partial information about maximal subgroups through the iteration, this will not change the asymptotic behavior.
The implicit assumption of few intermediate subgroups thus makes this approach feasible. As the examples in section 3 show, the method is feasible also in practice.
2.2 Embedded Conjugates:
To describe the the required subroutine, we consider first the following, related, problem: Given a group and two subgroups , we are seeking to find all conjugates (that is representatives up to -conjugacy thereof), and for each conjugate subgroup a conjugating elements .
If the -orbit of , that is \left[\vphantom{\hbox{{G{:}N_{G}(B)}^{\prime}}}G{:}N_{G}(B)\right] is small, we can simply determine this orbit up to -conjugacy, parameterized by double cosets \lower 0.86108pt\hbox{N_{G}(B)}\kern-1.00006pt{\setminus}\kern-1.00006pt\raise 0.86108pt\hbox{G}\kern-1.00006pt{/}\kern-1.00006pt\lower 0.86108pt\hbox{A}, and test which conjugates of lie in .
If is a permutation group, it also might be possible to use a backtrack search, similar to that of a normalizer calculation [Leo97, The97], to find elements that conjugate into . Since the groups are of different order, however, existing refinements would not be available, and the search therefore could easily degenerate into testing all double cosets as just described. We thus have not investigated such an approach further.
For all other cases, we use an approach that is motivated by the generic isomorphism search routine [HEO05, §9.3.1],[Hul96, V.5], reducing conjugation of subgroups to conjugation of elements:
Suppose that . Any element conjugating into must (this is necessary and sufficient) map all of the to elements of and these images must lie in conjugacy classes of .
This yields the following algorithm, whose input is a -element generating sequence of , together with the groups and .
At the start we precompute for each index a list of those -conjugacy classes . We can do this based on a list of conjugacy classes of and explicit element conjugacy tests.
If is empty for any , we know that cannot be conjugated into .
In the case of a large and small it is often possible to select generators with particular properties, say of prime order, which allows to limit the conjugacy classes of which are required, in the example of prime order it would be the classes intersecting a Sylow subgroup.
We now describe the main part of the algorithm, which is a recursive depth first routine that takes as parameters an index , a conjugating element such that for all , and a subgroup .
This routine is called once as . It collects the result pairs in a global list that is initialized to an empty list at the start.
The routine then proceeds as follows:
If (that is all generators are mapped already) store in , and return. 2. 2.
Otherwise, let and set . 3. 3.
For every class , let be a set of representatives of the -classes that partition . These representatives can be obtained by conjugating a fixed representative with representatives of the double cosets \lower 0.86108pt\hbox{C_{A}(y)}\kern-1.00006pt{\setminus}\kern-1.00006pt\raise 0.86108pt\hbox{A}\kern-1.00006pt{/}\kern-1.00006pt\lower 0.86108pt\hbox{D}. 4. 4.
For every representative , test whether there is such that . If so, call recursively . 5. 5.
Iterate until all for all classes have been tested. Afterwards return.
If (and thus ) is small in step 3, the number of double cosets could be large. In this case it could be worth to instead consider -conjugates of , up to -conjugacy (parameterized by the double cosets \lower 0.86108pt\hbox{C_{C}(x)}\kern-1.00006pt{\setminus}\kern-1.00006pt\raise 0.86108pt\hbox{C}\kern-1.00006pt{/}\kern-1.00006pt\lower 0.86108pt\hbox{D}) and test which conjugates lie in .
Lemma 2.1**.**
When the call to returns, the list contains pairs such that and every conjugate will be -conjugate to a subgroup that arises in .
Proof.
We first observe that whenever is called, we have that for every . Thus the only results stored in step 1 satisfy that for every , that is as required.
We also note that at stage of the calculation a recursive call for level is done with a first argument centralizing .
Thus at every stage of the calculation we have that for , and therefore the conjugating element is only modified by a factor in . Thus the images for remain fixed in stage .
Now assume that for some element . Then for all . Thus there exists such that is the chosen representative of one of the classes in .
We similarly can define elements , in the following way: Let and let be a set of representatives of the classes of elements of , then define such that is one of the chosen representatives. (Clearly we must have that will lie in one of the classes in .)
This shows (choosing the in step 3 as representatives) that for all there exists such that
[TABLE]
for one of the conjugating elements given in . In particular with , proving the claim. ∎
To find all conjugates of within we finally form the -orbits of the subgroups in . Note that we do not guarantee that the subgroups on are not conjugate (or even different). In such a case there must be elements of that normalize an embedded subgroup and induce automorphisms. The potential for this happening can be checked for a priori by \left[\vphantom{\hbox{{N_{G}(B){:}C_{G}(B)}^{\prime}}}N_{G}(B){:}C_{G}(B)\right].
In studying the algorithm, the reader will notice that the inclusion is simply a consequence of the fact that . We thus could replace with a larger subgroup , normalizing such as , by initializing the classes with the -classes within that intersect with and assigning in step 2.
A call to the produces a list of subgroups, such that every conjugate is -conjugate to one of the subgroups in the list. Conjugacy tests then can be used to obtain representatives of the -classes.
2.3 Embedding conjugates
We now consider the dual problem of determining conjugates of a subgroup that contain a given subgroup. This will be implemented by the routine that has been referred to already above.
We have that if and only if . This duality can be translated to double cosets, where the double cosets \lower 0.86108pt\hbox{N_{G}(A)}\kern-1.00006pt{\setminus}\kern-1.00006pt\raise 0.86108pt\hbox{G}\kern-1.00006pt{/}\kern-1.00006pt\lower 0.86108pt\hbox{N_{G}(B)} are given as sets of inverses of the double cosets \lower 0.86108pt\hbox{N_{G}(B)}\kern-1.00006pt{\setminus}\kern-1.00006pt\raise 0.86108pt\hbox{G}\kern-1.00006pt{/}\kern-1.00006pt\lower 0.86108pt\hbox{N_{G}(A)}. Thus inverting representatives for one set of double cosets yields representatives for the other.
The double cosets \lower 0.86108pt\hbox{N_{G}(A)}\kern-1.00006pt{\setminus}\kern-1.00006pt\raise 0.86108pt\hbox{G}\kern-1.00006pt{/}\kern-1.00006pt\lower 0.86108pt\hbox{N_{G}(B)} correspond to -orbits on the -conjugates of ; the double cosets \lower 0.86108pt\hbox{N_{G}(B)}\kern-1.00006pt{\setminus}\kern-1.00006pt\raise 0.86108pt\hbox{G}\kern-1.00006pt{/}\kern-1.00006pt\lower 0.86108pt\hbox{N_{G}(A)} to orbits on conjugates of . Together this shows:
Lemma 2.2**.**
Let be a set of elements such that the set groups contains representatives of the -classes of conjugates . Then the set of subgroups contains representatives of the -orbits of conjugates .
A set of such elements satisfying the former condition was obtained in the previous section. This gives the following algorithm :
Let . 2. 2.
Select a generating set of . For each let be a list of the -conjugacy classes that partition . 3. 3.
Set and call . 4. 4.
Let . 5. 5.
Return the union of the orbits of the elements of .
It would be easy to also keep track of conjugating elements for the subgroups in .
3 Examples
The algorithm, as described, has been implemented by the author in GAP [GAP16] and will be available as part of the 4.9 release (through significantly improved performance of the operation IntermediateSubgroups).
We indicate the performance of the algorithm in a number of examples, in particular in comparison to the old, block-based, method discussed at the end of the first section. The examples have been chosen primarily for being easily reproducible (without a need to list explicit generators) cases of non-maximal subgroups with a moderate number of intermediate subgroups.
While the algorithm per se does not make assumptions about the way the group is represented, most of the examples were chosen as permutation groups as for these groups the practically usable implementations in GAP of the underlying routines, in particular element conjugacy and double cosets, perform more smoothly than for matrix groups.
For polycyclic groups the number of intermediate subgroups in general larger.
In the following examples, the notation indicates a -Sylow subgroup.
If a subgroup is given by a structure this implies that there is a unique such subgroup up to automorphisms. If there are two such subgroups the different cases will be distinguished as #1 and #2.
counts the number of proper intermediate subgroups (i.e.
excluding and ). is the runtime in seconds on a 3.7 GHz 2013 MacPro with ample memory.
When maximal subgroups of simple groups were required, all examples utilized a lookup, such a calculation thus did not contribute significantly to the overall runtime.
Table 1 shows comparative timings to the old (block-based) algorithm. The timings indicate that for indices larger than a few hundred the new method is universally superior to the old one, while for smaller indices the naive block-based approach works faster. We have not examined examples with indices smaller than hundred, as these often involve maximal subgroups or factor groups of significantly smaller order.
The solvable groups given in the last lines are maximal subgroups of , respectively , given by a pc presentation.
Table 2 gives examples for some cases of significantly larger index for which the old algorithm would not terminate within reasonable time, thus only timings for the new method are given.
As expected, the timings show that the cost is dominated by the number of subgroups to be found rather than permutation degree.
As an illustration of use, consider the case of a -Sylow subgroup of . The GAP calculation:
gap> g:=SimpleGroup("Co3");;s:=SylowSubgroup(g,2); <permutation group of size 1024 with 10 generators> gap> int:=IntermediateSubgroups(g,s); rec( inclusions := [[0, 1], [0, 2], [0, 3], [0, 4], [1, 7], [1, 8], [1, 10], [2, 5], [2, 10], [3, 5], [3, 6], [3, 7], [4, 6], [4, 8], [5, 9], [5, 12], [6, 9], [6, 11], [7, 11], [7, 12], [8, 11], [9, 13], [10, 12], [11, 13], [12, 13] ], subgroups := [<permutation group of size 3072 with 9 generators>, [ ... a list of 12 subgroups ] gap> List(int.subgroups,Size); [ 3072,3072,3072,3072,9216,9216,21504,21504,27648,46080, 322560,2903040 ]
returns the subgroups lying between and , numbered to , as well as a list of maximal inclusion relations that is depicted in figure 2.
Acknowledgement
The author’s work has been supported in part by Simons’ Foundation Collaboration Grant 244502.
The reference list from the paper itself. Each links out to its DOI / PubMed record.
- 1[Asc 08] Michael Aschbacher. On intervals in subgroup lattices of finite groups. J. Amer. Math. Soc. , 21(3):809–830, 2008.
- 2[BS 92] Robert Beals and Ákos Seress. Structure forest and composition factors for small base groups in nearly linear time. In Proceedings of the 24 th superscript 24 th 24^{\rm th} ACM Symposium on Theory of Computing , pages 116–125. ACM Press, 1992.
- 3[CCH 01] John Cannon, Bruce Cox, and Derek Holt. Computing the subgroup lattice of a permutation group. J. Symbolic Comput. , 31(1/2):149–161, 2001.
- 4[CH 04] John Cannon and Derek Holt. Computing maximal subgroups of finite groups. J. Symbolic Comput. , 37(5):589–609, 2004.
- 5[CHSS 05] John J. Cannon, Derek F. Holt, Michael Slattery, and Allan K. Steel. Computing subgroups of bounded index in a finite group. J. Symbolic Comput. , 40(2):1013–1022, 2005.
- 6[De M 12] Willian J. De Meo. Congruence Lattices of Finite Algebras . Ph D thesis, The University of Hawai’i at Mānoa, 2012.
- 7[DFH 17] A. S. Detinko, D. L. Flannery, and A. Hulpke. Zariski density and computing in arithmetic groups. Math. Comp. , accepted 2017. https://doi.org/10.1090/mcom/3236.
- 8[DM 88] John D. Dixon and Abdul Majeed. Coset representatives for permutation groups. Portugal. Math. , 45(1):61–68, 1988.
