‣ MatrixByEntries( field, nrRows, nrCols, entries ) | ( function ) |
Return a nrRows by nrCols matrix with entries over the field field which are given by the list entries in the following way: If entries is a list of three-element lists [i, j, a], then the entry in position (i, j) will be set to a (and to zero if entries does not contain a list [i, j, a] with some arbitrary a); if this is not the case and entries is a list of length nrRows * nrCols, the elements of entries will be written into the matrix row by row.
‣ AntidiagonalMat( entries, field ) | ( function ) |
Return an antidiagonal matrix M with entries as specified by the argument entries in the following way:
If entries is a list, the entries of M are, from top right to bottom left, the entries of that list.
If entries is an integer, the entries of M are all ones and the number of them is entries.
‣ AntidiagonalHalfOneMat( d, field ) | ( function ) |
Return an antidiagonal d by d matrix over the given field, with the first half of the entries on the antidiagonal equal to one, the reaming half equal to minus one. Note that d must be even.
‣ RotateMat( A ) | ( function ) |
Return the matrix B which is the rotation of A by 180 degrees. This is equivalent to multiplying A by the correctly sized matrices of the form AntiDiag(1, ..., 1) from the left and right respectively, but rotation is more efficient than matrix multiplication.
‣ MatrixGroup( F, gens ) | ( function ) |
Return a matrix group G generated by the matrices in gens, regarded as matrices over the field F. The generators are stored as immutable matrices; over small fields (with at most 256 elements) this yields compressed matrices that store the base field, but not over larger fields. Consequently, the attribute DefaultFieldOfMatrixGroup (Reference: DefaultFieldOfMatrixGroup) of the resulting group is not necessarily equal to F and may in fact be a proper subfield when the entries lie in a smaller field.
‣ MatrixGroupWithSize( F, gens, size ) | ( function ) |
Return a matrix group over the field F generated by the matrices from the list gens and set its size to size. Except for additionally setting the group's size, this does the same as MatrixGroup (5.2-1).
This section provides functions to construct explicit generating sets for classical groups, namely orthogonal and linear groups over finite fields, as used in [HR05] and [HR10].
‣ GeneratorsOfOrthogonalGroup( epsilon, n, q ) | ( function ) |
Returns: a record with components generatorsOfSO, D and E.
Constructs generators for the orthogonal groups with the properties listed in [HR05, Lemma 2.4]. Construction as in [Ron04, Lemma 2.4].
‣ StandardGeneratorsOfOrthogonalGroup( epsilon, n, q ) | ( function ) |
Returns: a record with components generatorsOfOmega, S, G and D.
Constructs standard generators generatorsOfOmega, S, G, D for the orthogonal groups with respect to our standard form as used in [HR10], with the following properties:
generatorsOfOmega generate \Omega^\varepsilon_n(q)
generatorsOfOmega and S generate {\rm SO}_n(q)
generatorsOfOmega and G generate {\rm GO}_n(q)
the spinor norm of G is 1
D generates {\rm CO}^\varepsilon_n(q) modulo {\rm GO}^\varepsilon_n(q).
Construction as in Theorem 3.9 loc. cit.
‣ AlternativeGeneratorsOfOrthogonalGroup( n, q, squareDiscriminant ) | ( function ) |
Returns: a record with components generatorsOfOmega, S, G and D.
Constructs standard generators generatorsOfOmega, S, G, D for the orthogonal groups with respect to our diagonal form of given discriminant as used in [HR10].
The generators satisfy exactly the same properties as those returned by StandardGeneratorsOfOrthogonalGroup (5.3-2), except that they are constructed with respect to a diagonal form (rather than the standard form used there).
Note that the parameter \varepsilon is uniquely determined by n, q and squareDiscriminant.
Construction as in Theorem 3.9 loc. cit.
q must be odd.
‣ StandardGeneratorsOfLinearGroup( n, q ) | ( function ) |
Returns: a record with components L1, L2 and L3.
Constructs standard generators L1, L2, L3 as used in [HR10] with the following properties (analogous to Theorem 3.11 loc. cit.):
L1 and L2 generate {\rm GL}_n(q).
L1 and L3 generate {\rm SL}_n(q).
all matrix entries lie in \{0, \pm 1, \pm \zeta^{\pm 1}\}, where \zeta is a primitive element of \mathbb{F}_q.
If q is odd, L1 and L2^2 generate the unique subgroup of index 2 in {\rm GL}_n(q), often denoted \frac{1}{2} {\rm GL}_n(q).
The construction is taken from [Tay87].
This section provides functions to compute the orders of various classical groups over finite fields, using the information collected in [BHR13].
‣ SizeSp( n, q ) | ( function ) |
Returns: the size of the group Sp( n , q ), according to [BHR13, Theorem 1.6.22].
‣ SizePSp( n, q ) | ( function ) |
Returns: the size of the group PSp( n , q ), according to [BHR13, Table 1.3].
‣ SizeSU( n, q ) | ( function ) |
Returns: the size of the group SU( n , q ), according to [BHR13, Theorem 1.6.22].
‣ SizePSU( n, q ) | ( function ) |
Returns: the size of the group PSU( n , q ), according to [BHR13, Table 1.3].
‣ SizeGU( n, q ) | ( function ) |
Returns: the size of the group GU( n , q ), according to [BHR13, Table 1.3].
‣ SizeGO( epsilon, n, q ) | ( function ) |
Returns: the size of the group GO( epsilon, n , q ), according to [BHR13, Theorem 1.6.22].
‣ SizeSO( epsilon, n, q ) | ( function ) |
Returns: the size of the group SO( epsilon, n , q ), according to [BHR13, Table 1.3].
‣ SizeOmega( epsilon, n, q ) | ( function ) |
Returns: the size of the group Omega( epsilon, n , q ), according to [BHR13, Table 1.3].
generated by GAPDoc2HTML