Given an integer n ≥1 and a ring R, create the generic matrix group, i.e. the general linear group GL(n, R). Initially, only a structure table is created for GL(n, R), so that, in particular, generators are not defined. This function is normally used to provide a context for the creation of elements and subgroups of GL(n, R). If structural computation is attempted with the group created by GeneralLinearGroup(n, R), then generators will be created where possible. At present, this is only permitted in the cases in which R is a finite field.
> K<w> := FiniteField(4); > GL34 := GeneralLinearGroup(3, K); > GL34; GL(3, GF(2, 2))
Throughout this subsection we shall assume that the matrix group G is defined over the ring R.
Given a matrix group G defined as a subgroup of GL(n, R), and the list L of expressions aij (1 ≤i, j ≤n), defining elements of the ring R, construct the n x n matrix[ a_{11} a_{12} ... a_{1n} ] [ a_{21} a_{22} ... a_{2n} ] [ ... ] [ a_{n1} a_{n2} ... a_{nn} ]Unless G is known to be the generic matrix group of degree n, the matrix will be tested for membership of G, and if g is not an element of G, the function will fail. If g does lie in G, g will have G as its parent. Since the membership test may involve constructing a base and strong generating set for G, this constructor may occasionally be very costly. Hence a matrix g should be defined as an element of a subgroup of the generic group only when membership of G is required by subsequent operations involving g.
Given the sequence Q of expressions aij (1 ≤i, j ≤n), defining elements of the ring R, construct the n x n matrix[ a_{11} a_{12} ... a_{1n} ] [ a_{21} a_{22} ... a_{2n} ] [ ... ] [ a_{n1} a_{n2} ... a_{nn} ]This matrix will have G as its parent structure. As in the case of the elt-constructor, the operation will fail if g is not an element of G, and the same observations concerning the cost of membership testing apply.
Given an n x n matrix g = (aij), 1 ≤i, j ≤n, where aij is an element of the ring R, construct the sequence[ a11, ..., a1n, a21, ..., a2n, ... an1, ..., ann]
of n2 elements of the ring R.
Construct the identity matrix in the matrix group G.
> K<w> := FiniteField(4); > GL34 := GeneralLinearGroup(3, K); > x := elt<GL34 | w,0,1, 0,1,0, 1,0,1 >; > x; [w 0 1] [0 1 0] [1 0 1] > y := GL34 ! [w,0,1, 0,1,0, 1,0,1]; > y; [w 0 1] [0 1 0] [1 0 1] > GL34 ! 1; [1 0 0] [0 1 0] [0 0 1]
Construct the matrix group G of degree n over the ring R generated by the matrices defined by the list L. A term of the list L must be an object of one of the following types:Each element or group specified by the list must belong to the same generic matrix group. The group G will be constructed as a subgroup of some group which contains each of the elements and groups specified in the list.
- (a)
- A sequence of n2 elements of R defining a matrix of GL(n, R);
- (b)
- A set or sequence of sequences of type (a);
- (c)
- An element of GL(n, R);
- (d)
- A set or sequence of elements of GL(n, R);
- (e)
- A subgroup of GL(n, R);
- (f)
- A set or sequence of subgroups of GL(n, R).
The generators of G consist of the elements specified by the terms of the list L together with the stored generators for groups specified by terms of the list. Repetitions of an element and occurrences of the identity element are removed.
The MatrixGroup constructor is shorthand for the two statements:
GL := GeneralLinearGroup(n, R);
G := sub< GL | L >;
where sub< ... > is the subgroup constructor described in the next subsection.
> K<w> := FiniteField(4); > H := MatrixGroup< 3, K | [1,w,0, 0,1,0, 1,w^2,1], [w,0,0, 0,1,0, 0,0,w] >; > H; MatrixGroup(3, GF(2, 2)) Generators: [ 1 w 0] [ 0 1 0] [ 1 w^2 1] [w 0 0] [0 1 0] [0 0 w] > Order(H); 96
> GLSyl := function(n, K) > R := MatrixRing(K, n); > e := func< i, j | MatrixUnit(R, i, j) >; > return MatrixGroup< n, K | { R!1 + a*e(i,j) : a in K, j in [i+1], > i in [1 .. n - 1] | a ne 0 } >; > end function; > T := GLSyl(3, GF(8)); > FactoredOrder(T); [ <2, 9> ] > FactoredOrder(GL(3, GF(8))); [ <2, 9>, <3, 2>, <7, 3>, <73, 1> ]
Given a matrix group G with base ring R, construct a new matrix group H with base ring S derived from G by coercing entries of the generators of G from R into S.
Given a matrix group G with base ring R, construct a new matrix group H with base ring S derived from G by applying f to the entries of the generators of G.
Given a matrix group G with base ring K, a finite field, and S a subfield of K, construct the matrix group H with base ring S obtained by restricting the scalars of the components of elements of G into S, together with the restriction map from G onto H.
Given a matrix group G with base ring K, a finite field, and L an extension of K, construct the matrix group H with base ring L obtained by lifting the components of elements of G into L, together with the inclusion homomorphism from G into H.
A square non-singular matrix may be defined as an element of any of the following structures:
Transfer the matrix g from a group into a matrix ring R.
Transfer the matrix r from a ring into a matrix group G.
Transfer the matrix g from a group into a matrix module M.
Transfer the matrix m from a module into a matrix group G.
The functions in this group provide access to basic information stored for a matrix group G.
The i-th defining generator for the matrix group G. A negative subscript indicates that the inverse of the generator is to be created. The 0th generator G.0 is Identity(G).
The degree of the matrix group G.
A set containing the defining generators for the matrix group G.
The number of defining generators for the matrix group G.
The coefficient ring for the matrix group G.
Given a matrix group G of degree n defined over a ring R, return the space R(n), where the action is multiplication by elements of R, i.e. scalar action.
Given a matrix group G of degree n defined over a field K, return the space K(n), where the action is multiplication by elements of K, i.e. scalar action.
The natural R[G]-module for the matrix group G.
The generic group containing the matrix group G, i.e. the general linear group in which G is naturally embedded.
The power structure for the group G (the set consisting of all matrix groups).