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 sequence of n^2 elements of R defining a matrix of GL(n, R);
- A set or sequence of sequences of type (a);
- An element of GL(n, R);
- A set or sequence of elements of GL(n, R);
- A subgroup of GL(n, R);
- 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 the matrix group G, construct the subgroup H of G generated by the elements specified by the list L, where L is a list of one or more items of the following types:Each element or group specified by the list must belong to the same generic matrix group. The subgroup H will be constructed as a subgroup of some group which contains each of the elements and groups specified in the list.
- A sequence of n integers defining a matrix of G;
- A set or sequence of sequences of type (a);
- An element of G;
- A set or sequence of elements of G;
- A subgroup of G;
- A set or sequence of subgroups of G.
The generators of H 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.
Given the matrix group G, construct the subgroup H of G that is the normal closure of the subgroup H generated by the elements specified by the list L, where the possibilities for L are the same as for the sub-constructor.
> GL42 := GeneralLinearGroup(4, GF(2)); > Ominus42 := sub< GL42 | [1,0,0,0, 1,1,0,1, 1,0,1,0, 0,0,0,1 ], > [0,1,0,0, 1,0,0,0, 0,0,1,0, 0,0,0,1 ], > [0,1,0,0, 1,0,0,0, 0,0,1,0, 0,0,1,1 ] >; > Order(Ominus42); 120 > H := sub< Ominus42 | $.1, $.3 >; print Order(H); 10 > N := ncl< Ominus42 | $.1, $.3 >; > Order(N); 60
Given the matrix group G, construct the quotient group Q = G/N, where N is the normal closure of the subgroup of G generated by the elements specified by L. The clause L is a list of one or more items of the following types:Each element or group specified by the list must belong to the same generic matrix group. The function returns
- A sequence of n integers defining a matrix of G;
- A set or sequence of sequences of type (a);
- An element of G;
- A set or sequence of elements of G;
- A subgroup of G;
- A set or sequence of subgroups of G.
Currently in Magma, the quotient group is constructed in its regular representation, so that the application of this operator is restricted to the case where the index of N in G is a few thousand.
- the quotient group Q, and
- the natural homomorphism f: G -> Q.
Given a normal subgroup N of the matrix group G, construct the quotient of G by N. Currently in Magma, the quotient group is constructed in its regular representation, so that the application of this operator is restricted to the case where the index of N in G is a few thousand.
> G := MatrixGroup< 3, GF(5) | [0,1,0, 1,0,0, 0,0,1], [0,1,0, 0,0,1, 1,0,0 ], > [2,0,0, 0,1,0, 0,0,1] >; > Order(G); 384 > Q, f := quo< G | G.2 >; > Q; Permutation group Q of degree 8 Order = 8 = 2^3 (1, 2)(3, 4)(5, 6)(7, 8) (1, 3, 5, 7)(2, 4, 6, 8) > IsAbelian(Q); true > AbelianInvariants(Q); [ 4, 2 ]