Given an integer n >= 1, 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 case 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 on the support X.
elt< G | L > : GrpMat, List(RngElt) -> GrpMatElt
Given a matrix group G defined as a subgroup of GL(n, R), and the list L of expressions a_(ij) (1 <= i, j <= n), defining elements of the ring R, construct the n x n matrixUnless 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.[ a_{11} a_{12} ... a_{1n} ] [ a_{21} a_{22} ... a_{2n} ] [ ... ] [ a_{n1} a_{n2} ... a_{nn} ]
Given the sequence Q of expressions a_(ij) (1 <= i, j <= n), defining elements of the ring R, construct the n x n matrixThis 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.[ a_{11} a_{12} ... a_{1n} ] [ a_{21} a_{22} ... a_{2n} ] [ ... ] [ a_{n1} a_{n2} ... a_{nn} ]
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]
Given an n x n matrix g = (a_(ij)), 1 <= i, j <= n, where a_(ij) is an element of the ring R, construct the sequence[Next] [Prev] [Right] [Left] [Up] [Index] [Root][ a_(11), ..., a_(1n), a_(21), ..., a_(2n), ... a_(n1), ..., a_(nn)]
of n^2 elements of the ring R.