Magma includes a database of the maximal finite irreducible subgroups of Sp2n(Q) for 1≤i ≤11 up to conjugacy in GL2n(Q). This collection is due to Markus Kirschmer [Kir09]. This section defines the interface to that database.
To avoid non-integral entries, the stored matrix groups do not fix the standard skewsymmetric form but some other nondegenerate skewsymmetric form. The example below illustrates how to construct a conjugate matrix group which fixes the standard skewsymmetric form.
A particular entry of the database can be specified in one of two ways. Firstly, a number in the range 1 to the size of the database can be given. Alternatively, the desired dimension can be provided, together with a number in the range 1 to the number of entries of that dimension.
Each entry can be accessed either as a matrix group or as a lattice with a pair of forms. If accessed as a matrix group, the order and base are set on return.
This function returns a database object which contains information about the database.
Returns the largest dimension of any entry stored in the database. It is an error to refer to larger dimensions in the database.
Returns the number of entries stored in the database.
Returns the number of entries stored in the database of dimension d.
Returns the i-th entry from the database D as a matrix group.
Returns a lattice L and a sequence S of two integral forms such that the automorphism group of L with respect to S equals Group(DB, i). The first form in S is the gram matrix of L and the second form is skewsymmetric. The sequence S is normalized as described in the appendix of [Kir09] to simplify the recognition of the matrix group.
Returns a string which describes the construction of the i-th entry of the database D.
Returns the i-th entry of dimension d in the database D as a matrix group.
Returns a lattice L and a sequence S of forms corresponding to the i-th entry of dimension d in the database D.
Returns a string which describes the construction of the i-th entry of dimension d in the database D.
> DB := SymplecticMatrixGroupDatabase(); > NumberOfGroups(DB, 16); 91 > G := Group(DB, 16, 1); > G : Minimal; MatrixGroup(16, Integer Ring) of order 2^21 * 3^4 * 5^2The group G does not fix the standard skewsymmetic form. But it can be conjugated to do so.
> _, S := Lattice(DB, 16, 1); > T := TransformForm(Matrix(Rationals(), S[2]), "symplectic"); > H := ChangeRing(G, Rationals())^(GL(16,Rationals()) ! T); > J := SymplecticForm(16, Rationals()); > forall{h: h in Generators(H) | h * J * Transpose(h) eq J}; true