Techniques for computing with matrix groups are less well developed than those for permutation groups. In the case of finite matrix groups of moderate degree, a stabilizer chain representation of the group similar to that used for permutation groups is used (the BSGS representation). This method is available for a finite matrix group defined over a field, an Euclidean Domain or the Euclidean Ring Z/mZ. The key step in constructing a BSGS involves finding a orbit having reasonable length in the action of G on its natural module. In order to increase our chances of finding a short orbit we use the Murray-O'Brien strategy for selecting base points.
In the case of matrix groups defined over finite fields, a major research project is currently underway to develop algorithms for analyzing groups of larger degree (say up to one or two hundred). This approach takes Aschbacher's classification of the maximal subgroups of GL(n, q) as its starting point. The initial sections of this chapter describe machinery that depend upon the BSGS representation while the initial modules of the Aschbacher machinery are described in the final section (Decomposition of Groups of Large Degree).
Matrix groups over rings of characteristic zero may be created whether
they are infinite or not; such groups may then be tested for finiteness
by use of the function IsFinite. However, all other functions
determining structural properties of a group may only be applied to
finite groups.
The Support
Matrix groups may be defined over any ring. However, the structure algorithms
assume that the group is finite and defined over a field or Euclidean Domain.
The Category of Matrix Groups
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.
The Construction of a Matrix Group
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: