A matrix group G may be defined over any ring R for which Magma
has a method for computing the inverse of a matrix. However, the
availability of machinery for determining structural information is
dependent upon the properties of the base ring R.
We distinguish several different cases.
- (i)
- If the ring R is a finite field then the group must be
finite. If the group has moderate degree and it is possible to find a
low dimensional subspace of the natural vector space for G whose
orbit under G has length bounded by a million or so, then it is
possible to construct a stabilizer chain representation for the group
similar to that used for permutation groups (the BSGS
representation [But76]). In order to increase
the chances of finding a short orbit the Murray-O'Brien
[MO95] strategy for selecting base points is used. The
availability of a BSGS representation allows the structure of the
group to be investigated in detail.
- (ii)
- If the coefficient ring R is a finite field but the
degree and size of the group are such that it is not possible to
construct a useful BSGS representation then the group may be
investigated using techniques based on a theorem of Aschbacher that
classifies the maximal subgroups of GL(n, q). This approach is under
intensive development by Leedham-Green, O'Brien and others. Code
implementing some parts is documented in Chapter ALMOST SIMPLE GROUPS.
- (iii)
- If the ring R is the Euclidean Ring Z/mZ, then
the group must be finite. If the group has moderate degree and it is
possible to find a vector in the natural R-module for G whose orbit
has length bounded by a million or so, then again it is possible to
compute structural information using the BSGS representation.
- (iv)
- If the ring R has infinite cardinality and satisfies
certain properties, Magma can sometimes determine whether the group is
finite or infinite. In particular, this can be done when R is the ring
of integers, the field of rational numbers, or an algebraic number field
(including cyclotomic and quadratic fields). If G is infinite, and has
not been created as a Lie group, then Magma currently provides little
beyond basic arithmetic on elements.
- (v)
- If the ring R has infinite cardinality but the group G
is finite and R is either a field or an Euclidean Domain then it may be
possible to construct a BSGS representation as above and thereby
undertake structural computation.
- (vi)
- If an (infinite) matrix group can be created as a Lie group
then machinery based on Lie Theory may be used to analyse the group.
The facilities for Lie groups are described in Chapter GROUPS OF LIE TYPE.
Matrix groups over rings of infinite cardinality may be created regardless
as to whether they are finite or not. If the coefficient ring R is
either the ring of integers, the rational field, a quadratic field,
a cyclotomic field, or a number field a matrix group may then be tested
for finiteness by use of the function
IsFinite. However, most
functions that determine structural properties of a group apply only
to finite groups.
Matrix groups may be defined over any ring for which Magma has a method for
computing matrix inverses. However, the structure algorithms assume that the
group is finite and is defined over either a field, an Euclidean Domain or the
Euclidean Ring Z/mZ.
The family of matrix groups over a particular ring R forms a category where
the objects are the matrix groups and the morphisms are group homomorphisms.
The collection of all matrix groups forms a family of categories indexed by
the category of rings. The Magma designation for this family of
categories of matrix groups is GrpMat.
A group of n x n matrices defined over the ring R is created as a
subgroup of the general linear group GL(n, R). Thus the construction of
a general matrix group is a two step process:
- (i)
- The appropriate general linear group, GL(n, R), is constructed;
- (ii)
- The required group G is then defined as a subgroup of GL(n, R).
For convenience, a constructor
MatrixGroup< ... >, which combines
these two steps, is provided.
V2.28, 13 July 2023