Finite Groups
Magma is a world-leading system for finite group computation - Schreier-Sims, conjugacy classes, Sylow subgroups, maximal subgroups, and automorphism groups of permutation and matrix groups.
Contributors
Group Theory: Finite Groups
A variation of the Product Replacement Algorithm for generating random elements of a group due to Henrik Bäärnhielm and Charles Leedham-Green has been coded with their assistance.
A Small Groups database containing all groups having order at most 2000, excluding order 1024, has been made available by Hans Ulrich Besche (Aachen), Bettina Eick (Braunschweig), and Eamonn O'Brien (Auckland). This library incorporates "directly" the libraries of 2-groups of order dividing 256 and the 3-groups of order dividing 729, which were prepared and distributed at various intervals by Mike Newman (ANU) and Eamonn O'Brien and various assistants, the first release dating from 1987.
The Small Groups database was augmented in Magma V2.14 (2007) by code that can enumerate all groups of any square-free order. This code was developed by Bettina Eick (Braunschweig) and Eamonn O'Brien (Auckland).
The calculation of automorphism groups (for permutation and matrix groups) and determining group isomorphism is performed by code written by Derek Holt (Warwick).
Lifting-style algorithms have been developed by Derek Holt (Warwick) for computing structural information in groups given in terms of the composition tree data structure. The operations include centralisers, conjugacy classes, normalizers, subgroup conjugacy and maximal subgroups.
The routine for computing the subgroup lattice of a group (as distinct from the list of all conjugacy classes of subgroups) is based on code written by Dimitri Leemans (Brussels).
John Brownie contributed to the Handbook's coverage of group theory.
Group Theory: Finite Simple Groups
See also the subsection Group Theory: Matrix Groups Defined Over Finite Fields.
Constructive recognition of quasi-simple groups belonging to the Suzuki and two Ree families have been implemented by Hendrik Bäärnhielm (QMUL). The package includes code for constructing their Sylow p-subgroups and maximal subgroups.
The maximal subgroups of all classical groups having degree not exceeding 12 have been constructed and implemented in Magma by John Bray (QMUL), Derek Holt (Warwick) and Colva Roney-Dougal (St Andrews).
Peter Brooksbank (Bucknell) implemented a Magma version of his algorithm for performing constructive black-box recognition of low-dimensional symplectic and unitary groups. He also gave the Magma group permission to base its implementation of the Kantor–Seress algorithm for black-box recognition of linear groups on his GAP implementation.
A method for constructing the natural K[G]-module for a classical group G from one of bounded degree has been implemented by Brian Corr and Eamonn O'Brien (both Auckland).
A new implementation of code for the constructive recognition of orthogonal groups in even characteristic was developed by Heiko Dietrich (Monash).
Michael Downward and Eamonn O'Brien (boh Auckland) provided functions to access much of the data in the on-line ATLAS of Finite Group Representations for the sporadic groups. A function to select "good" base points for sporadic groups was provided by Eamonn and Robert Wilson (QMUL).
Magma includes a database of almost-simple groups defined on standard generators. The database was originally conceived by Derek Holt (Warwick) with a major extension by Volker Gebhardt (Magma) and sporadic additions by Bill Unger (Magma).
A Monte Carlo algorithm to determine the defining characteristic of a quasisimple group of Lie type has been contributed by Martin Liebeck (Imperial) and Eamonn O'Brien (Auckland).
The package for recognizing large degree classical groups over finite fields was designed and implemented by Alice Niemeyer (Perth) and Cheryl Praeger (Perth). It has been extended to include 2-dimensional linear groups by Eamonn O'Brien (Auckland).
Code, provided by Eamonn O'Brien (Auckland) in 2015, constructs standard generators for matrix and permutation representations of classical groups defined over finite fields.
Eamonn O'Brien (Auckland) has provided implementations of constructive recognition algorithms for the matrix groups (P)SL(2,q) and (P)SL(3,q).
Improved algorithms, based on work of Peter Brooksbank, were provided by Eamonn O'Brien (Auckland) in 2015 for recognising SU(3,q), SU(4,q) and Sp(4,q).
A new implementation of an algorithm that writes an arbitrary element of a classical group in terms of its standard generators was provided by Csaba Schneider (Universidade Federal de Minas Gerais).
A package for constructing the Sylow p-subgroups of the classical groups has been implemented by Mark Stather (Warwick).
Generators in the natural representation of a finite group of Lie type were constructed and implemented by Don Taylor (Sydney) with some assistance from Leanne Rylands (Western Sydney).
Algorithms and code for computing conjugacy classes and testing conjugacy in the symplectic and orthogonal groups over finite fields were developed by Don Taylor (Sydney). This code was first exported in Magma V2.22 (2016).
Robert Wilson (QMUL) has made available the data contained in the on-line ATLAS of Finite Group Representations for use in a Magma database of permutation and matrix representations for finite simple groups.
Group Theory: Matrix Groups Defined Over Characteristic 0 Rings
A package developed by Alla Detinko (Galway), Dane Flannery (Galway) and Eamonn O'Brien (Auckland) determines whether a matrix group defined over a number field or rational function field is finite. The package was installed in Magma V2.16 (2009).
A package, "Infinite", has been developed by Alla Detinko (Galway), Dane Flannery (Galway) and Eamonn O'Brien (Auckland) for computing with groups defined over number fields, or (rational) function fields in zero or positive characteristic.
An algorithm for determining the conjugacy of any pair of matrices in GL(2,ℤ) was developed and implemented by David Husert (University of Paderborn). In particular, this allows the conjugacy of elements having infinite order to be determined.
Markus Kirschmer (RWTH, Aachen) has provided a package for computing with finite subgroups of GL(n,ℤ). A Magma database of the maximal finite irreducible subgroups of Sp2n(ℚ) for 1 ≤ i ≤ 11 has also been made available by Markus.
A much improved algorithm for computing the normaliser or centraliser of a finite subgroup of GL(n,ℤ) has been implemented by Markus Kirschmer (Aachen). Markus has also implemented an algorithm that tests finite subgroups for conjugacy.
A database of the maximal finite irreducible subgroups of Sp2n(ℚ) for 1 ≤ i ≤ 11 constructed by Markus Kirschmer (Aachen) was installed in Magma 2.16 (2009).
Procedures to list irreducible (soluble) subgroups of GL(2,q) and GL(3,q) for arbitrary q have been provided by Dane Flannery (Galway) and Eamonn O'Brien (Auckland).
A Monte Carlo algorithm for non-constructive recognition of simple groups has been contributed by Gunter Malle (Kaiserslautern) and Eamonn O'Brien (Auckland). This procedure includes the algorithm of Babai et al. to name a quasisimple group of Lie type.
Magma incorporates a database of the maximal finite rational subgroups of GL(n,ℚ) up to dimension 31. This database was constructed by Gabriele Nebe (Aachen) and Wilhelm Plesken (Aachen). A database of quaternionic matrix groups constructed by Gabriele is also included.
Group Theory: Matrix Groups Defined Over Finite Fields
See also the subsection Group Theory: Finite Simple Groups.
The Composition Tree (CT) package developed by Henrik Bäärnhielm (Auckland), Derek Holt (Warwick), Charles Leedham-Green (QMUL) and Eamonn O'Brien (Auckland), working with numerous collaborators, was first released in Magma V2.17 (2010). This package is designed for computing structural information for large matrix groups defined over a finite field. Upgrades were released in V2.18 (2011), V2.19 (2012), V2.20 (2013), V2.21 (2014) and V2.22 (2016)
Code which computes the normaliser of a subgroup of a general linear group defined over a finite field, using a theorem of Aschbacher rather than backtrack search, has been provided by Hannah Coutts (St Andrews).
A function that determines whether a matrix group G (defined over a finite field) is the normaliser of an extraspecial group in the case where the degree of G is an odd prime uses the new Monte Carlo algorithm of Alice Niemeyer (Perth) and has been implemented in Magma by Eamonn O'Brien (Auckland).
Eamonn O'Brien (Auckland) has contributed a Magma implementation of algorithms for determining the Aschbacher category of a subgroup of GL(n,q).
A fast algorithm for determining subgroup conjugacy based on Aschbacher's theorem classifying the maximal subgroups of a linear group has been designed and implemented by Colva Roney-Dougal (Sydney).
Group Theory: Permutation Groups
A new implementation of the algorithm of Jambor et al. (2013) for the constructive black box recognition of alternating and symmetric groups was installed in Magma V2.20 (2013), The implementation was undertaken by Jonathan Conder (Auckland) and Sebastian Jambor (Auckland).
Derek Holt (Warwick) has implemented the Magma version of the Bratus/Pak algorithm for black-box recognition of the symmetric and alternating groups.
Derek Holt (Warwick) has constructed a table of irreducible representations of quasisimple groups (up to degree 100). Some representations were contributed by Allan Steel, Volker Gebhardt and Bill Unger (all Magma).
Alexander Hulpke (Colorado State) has made available his database of all transitive permutation groups of degree up to 30. This incorporates the earlier database of Greg Butler (Concordia) and John McKay (Concordia) containing all transitive groups of degree up to 15.
A table containing all primitive groups having degree less than 2,500 has been provided by Colva Roney-Dougal (St Andrews). The groups of degree up to 1,000 were done jointly with Bill Unger (Magma).
A table containing all primitive groups having degrees in the range 2,500 to 4,095 has been provided by Hannah Coutts, Martyn Quick and Colva Roney-Dougal (all at St Andrews).
Colva Roney-Dougal (St Andrews) has implemented the Beals et al. algorithm for performing black-box recognition on the symmetric and alternating groups.
A Magma database has been constructed from the permutation and matrix representations contained in the on-line ATLAS of Finite Group Representations with the assistance of its main author Robert Wilson (QMUL, London).
Group Theory: Soluble Groups
The soluble quotient algorithm in Magma was designed and implemented by Herbert Brückner (Aachen).
Code producing descriptions of the groups of order p4, p5, p6, and p7 for p > 3 were contributed by Boris Girnat, Robert McKibbin, Mike Newman, Eamonn O'Brien, and Michael Vaughan-Lee.
A new approach to the more efficient calculation of the automorphism group of a finite soluble group has been developed and implemented by David Howden (Warwick). A slight variation of the algorithm is used to test isomorphism.
Most of the algorithms for p-groups and many of the algorithms implemented in Magma for finite soluble groups are largely due to Charles Leedham-Green (QMUL, London).
The NQ program of Werner Nickel (Darmstadt) is used to compute nilpotent quotients of finitely presented groups. Version 2.2 of NQ was installed in Magma V2.14 (2007) by Bill Unger (Magma) and Michael Vaughan-Lee (Oxford).
The p-quotient program, developed by Eamonn O'Brien (Auckland) based on earlier work by George Havas (Queensland) and Mike Newman (ANU), provides a key facility for studying p-groups in Magma. Eamonn's extensions in Magma of this package for generating p-groups, computing automorphism groups of p-groups, and deciding isomorphism of p-groups are also included. He has contributed software to count certain classes of p-groups and to construct central extensions of soluble groups.
The package for classifying metacyclic p-groups has been developed by Eamonn O'Brien (Auckland) and Michael Vaughan-Lee (Oxford).
Code to produce the groups of order 38 has been provided by Michael Vaughan-Lee (Oxford).