Skip to content

melissa-maths/MonsterSubgroups

Repository files navigation

Explicit Construction of the Maximal Subgroups of the Monster

This code complements the paper of the same name by Heiko Dietrich, Melissa Lee, Anthony Pisani, and Tomasz Popiel. It contains the computational components of the proofs, including generators for the 45 (out of 46) maximal subgroups of the Monster constructed, along with extensive annotations. Computations are performed using the mmgroup package, for which a brief guide is provided in the notebook subgroups.ipynb. See also the official documentation.

Several auxiliary functions and variables, mostly imported from the accompanying file helpers.py, are used repeatedly throughout the notebook. The code for all proofs is otherwise independent: after running an initialising cell, one can begin execution at any subsection. Logical interdependence is indicated by appropriate references in the textual annotations, with recurring variables defined in each subsection where they appear.

Sample GAP code for verifying some of the claims made in the paper is included in the file extras.g. Alternative generating sets for certain maximal subgroups, which may be preferred in some applications, are provided as a supplementary notebook subgroups_alt.ipynb.

Database of results

For ease of use, we also offer a Python library GetGeneratorsOfSubgroupInM.py that supports direct access to some of the subgroups of the Monster constructed. It currently provides three methods; see also example usage:

ListKeys(family=""): List the names (including aliases) for supported subgroups. An optional argument family with a value of A5, max, or maximal (all case-insensitive) may be provided to restrict output to the appropriate class of subgroups.

A5(name)
Maximal(name, usenew=True): Retrieve generators for an instance of the conjugacy class name of subgroups of the Monster. Names are case- and space-insensitive, and can be obtained using ListKeys; in general, maximal subgroups can be accessed using ATLAS-style shape descriptions or labels of the form N(simple subgroup), while classes of A5 are labelled as in Norton (1998). The optional argument usenew is a boolean indicating whether or not to return an alternative generating set from subgroups_alt.ipynb where available (default yes/true).

Example Usage

import GetGeneratorsOfSubgroupsInM
GetGeneratorsOfSubgroupsInM.ListKeys() # Print all valid keys
GetGeneratorsOfSubgroupsInM.A5("BBB") # Return generators for a type BBB A5 in M
GetGeneratorsOfSubgroupsInM.Maximal("N(3A)") # Return generators a maximal subgroup of M with structure 3.Fi (i.e. a 3A element normaliser)
GetGeneratorsOfSubgroupsInM.Maximal("L(2,19)", False) # Return the exact generators described in the paper for a maximal subgroup of M with structure L(2,19) [= PSL(2,19)]

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors