Creating Finite Groups of Lie Type

Several functions are provided which construct various classical groups and other groups of Lie type. The effect of these functions is to define the group in terms of a set of generating matrices.

As shown by Chevalley, for each simple Lie algebra L over the complex field and for each finite field GF(q) there is an associated matrix group L(q). In general, these groups are perfect but not simple. To obtain the simple group, it is necessary to form the quotient by the centre. Similarly, as Steinberg, Ree and others have shown, if the associated Coxeter graph has an automorphism, of order t say, then there will be a `twisted' version sL(q) of L(q).

Generators for the series A, C, ()2A and ()2B are described in [Tay87]. Generators for the series B, D and ()2D are as given by Rylands and Taylor [RT98]. Generators for the exceptional groups of Lie type are described by Howlett, Rylands and Taylor in [HRT01].

Contents

Generic Creation Function

ChevalleyGroup(X, n, K: parameters) : MonStgElt, RngIntElt, FldFin -> GrpMat
ChevalleyGroup(X, n, q: parameters) : MonStgElt, RngIntElt, RngIntElt -> GrpMat
    Irreducible: BoolElt                Default: false
Construct a matrix group over the field K (or over GF(q)) which has the adjoint Chevalley group of Lie series X and Lie rank n as the quotient modulo scalar matrices. In most cases the group returned is the universal Chevalley group Xn(q); however, for series B, D and 2D the universal group is the spin group and the matrix group returned by ChevalleyGroup is Ω(2n + 1, q), Ω^ + (2n, q) or Ω^ - (2n, q).

For the twisted groups the meaning of the parameter q is consistent with the (abbreviated) notation in the `Atlas of Finite Groups' and in the monograph series `The Classification of the Finite Simple Groups' by Gorenstein, Lyons and Solomon. For a Chevalley group of rank n and type X with an automorphism of order t the Atlas defines the twisted Chevalley group ()tXn(q, qt) to be the set of elements of Xn(qt) fixed by the quotient of the twisting automorphism and the field automorphism induced by x |-> xq of GF(qt). In the Atlas the abbreviated notation for the twisted group is ()tXn(q) but in Carter [Car72] it is ()tXn(qt). The first signature of the intrinsic expects the field GF(qt) but the second signature expects the parameter q.

For example, for the series "2A", the group 2A_n(q) is SU(n + 1, q) but, in the first form of the signature, K must be the field GF(q2). Similarly the first form of the signature for the groups ()3D4(q) and ()2E6(q) requires the fields GF(q3) and GF(q2), respectively.

The possible series and the groups returned are:

"A": n≥0, An(q), the special linear group SL(n + 1, q).
"B": n≥1, Bn(q), the orthogonal group Ω(2n + 1, q).
"C": n≥1, Cn(q), the symplectic group Sp(2n, q).
"D": n≥1, Dn(q), the orthogonal group D_n(q) = Omega+(2n, q).

"E": n∈{ 6, 7, 8 }, the exceptional groups En(q). E6(q) is represented as a matrix group of degree 27. It is simple unless q ≡ 1 mod 3, in which case its centre has order 3. E7(q) is represented as a matrix group of degree 56. It is simple unless q ≡ 1 mod 2, in which case its centre has order 2. E8(q) is represented as a matrix group of degree 248.

"F": n = 4, the exceptional group F4(q) represented as a matrix group of degree 26. If q = 3k then this representation is reducible. An irreducible representation is not yet available.
"G": n = 2, the exceptional group G2(q) represented as a matrix group of degree 7. If q = 2k then this representation is reducible. An irreducible representation of degree 6 can be obtained by setting the parameter Irreducible := true.
"2A": n≥1, K = GF(q2), the special unitary group 2A_n(q) = SU(n + 1, q).
"2B": n = 2, K = GF(q), q = 22k + 1, the Suzuki group 2B_2(q) = Sz(q).
"2D": n≥1, K =GF(q), ()2Dn(q), the orthogonal group 2D_n(q) = Omega-(2n, q).
"3D": n = 4, K = GF(q3), the exceptional group 3D_4(q).
"2E": n = 6, K = GF(q2), the exceptional group 2E_6(q).
"2F": n = 4, K=GF(q), q = 22k + 1, the Ree group 2F_4(q), simple except when q = 2 when the derived group is simple and is returned by the function TitsGroup.
"2G": n = 2, K = GF(q), q = 32k + 1, the Ree group 2G_2(q), simple except when q = 3.

The Orders of the Chevalley Groups

ChevalleyOrderPolynomial(type, n: parameters) : MonStgElt, RngIntElt -> RngUPolElt
The orders of the universal Chevalley groups Xn(q) and ()tXn(q) are polynomials in q. For the twisted groups of types ()2An, ()3D4 and ()2E6 the parameter q is the order of the fixed field of the Frobenius automorphism.

Other versions of Chevalley groups are quotients of universal Chevalley groups modulo a subgroup of the centre.

FactoredChevalleyGroupOrder(type, n, F: parameters) : MonStgElt, RngIntElt, FldFin -> RngIntEltFact
FactoredChevalleyGroupOrder(type, n, q: parameters) : MonStgElt, RngIntElt, RngIntElt -> RngIntEltFact
    Proof: BoolElt                      Default: true
    Version: MonStgElt                  Default: em "Default"
ChevalleyGroupOrder(type, n, F: parameters) : MonStgElt, RngIntElt, FldFin -> RngIntEltFact
ChevalleyGroupOrder(type, n, q: parameters) : MonStgElt, RngIntElt, RngIntElt -> RngIntEltFact
    Version: MonStgElt                  Default: em "Default"
The (factored) order of the Chevalley group of a given type and rank over the field F (or GF(q)). The default is the order of the group returned by ChevalleyGroup, which except for types Bn, Dn and ()2Dn is the universal group. The orders of the universal and adjoint Chevalley group can be obtained by setting the parameter Version to Universal or Adjoint. In the factored version the value of Proof is passed to the Magma's factorisation function (q.v.).

Classical Groups

Magma offers several functions to construct the classical groups. For most of these functions, it is possible to specify the particular group by giving one of the following combinations of arguments:

(i)
The degree n and the coefficient field K of the desired matrix group;
(ii)
The degree n of the desired matrix group and a prime power q which relates the group to the appropriate Lie algebra. With the exception of the unitary groups (which will be defined over GF(q2)), the resulting group will be defined over GF(q); or,
(iii)
A full vector space V = Kn on which the desired matrix group should act naturally.
Linear Groups
GeneralLinearGroup(n, q) : RngIntElt, RngIntElt -> GrpMat
GeneralLinearGroup(n, K) : RngIntElt, FldFin -> GrpMat
GeneralLinearGroup(V) : ModTupRng -> GrpMat
GL(n, q) : RngIntElt, RngIntElt -> GrpMat
GL(n, K) : RngIntElt, FldFin -> GrpMat
GL(V) : ModTupRng -> GrpMat
Here n is a positive integer, q is the power of a prime, K is a finite field GF(q), and V is an n-dimensional vector space over K. This function constructs the general linear group GL(n, q) (resp. GL(n, K), GL(V)) in terms of generating matrices. The intrinsic name may be abbreviated to GL.
SpecialLinearGroup(n, q) : RngIntElt, RngIntElt -> GrpMat
SpecialLinearGroup(n, K) : RngIntElt, FldFin -> GrpMat
SpecialLinearGroup(V) : ModTupRng -> GrpMat
SL(n, q) : RngIntElt, RngIntElt -> GrpMat
SL(n, K) : RngIntElt, FldFin -> GrpMat
SL(V) : ModTupRng -> GrpMat
Here n is a positive integer, q is the power of a prime, K is a finite field GF(q), and V is an n-dimensional vector space over K. This function constructs the special linear group SL(n, q) (resp. SL(n, K), SL(V)), namely the group of n x n matrices of determinant 1, in terms of generating matrices. The intrinsic name may be abbreviated to SL.
AffineGeneralLinearGroup(GrpMat, n, q) : Cat, RngIntElt, RngIntElt -> GrpMat
AffineGeneralLinearGroup(GrpMat, n, K) : Cat, RngIntElt, FldFin -> GrpMat
AffineGeneralLinearGroup(GrpMat, V) : Cat, ModTupRng -> GrpMat
AffineGeneralLinearGroup(E) : GrpPerm -> GrpPerm
AGL(GrpMat, n, q) : Cat, RngIntElt, RngIntElt -> GrpMat
AGL(GrpMat, n, K) : Cat, RngIntElt, FldFin -> GrpMat
AGL(GrpMat, V) : Cat, ModTupRng -> GrpMat
AGL(E) : GrpPerm -> GrpPerm
Here n is a positive integer greater than or equal to 2, q is the power of a prime, K is a finite field GF(q), and V is an n-dimensional vector space over K. This function constructs the affine general linear group AGL(n, q) (resp. AGL(n, K), AGL(V)) as a subgroup of GL(n + 1, K). If the category name GrpMat is omitted the affine group will be returned as a permutation group. The intrinsic name may be abbreviated to AGL.

If E is a regular elementary abelian permutation group the function constructs the affine general linear group of E, regarded as a vector space over the field GF(p), where p is the exponent of E.

AffineSpecialLinearGroup(GrpMat, n, q) : Cat, RngIntElt, RngIntElt -> GrpMat
AffineSpecialLinearGroup(GrpMat, n, K) : Cat, RngIntElt, FldFin -> GrpMat
AffineSpecialLinearGroup(GrpMat, V) : Cat, ModTupRng -> GrpMat
ASL(GrpMat, n, q) : Cat, RngIntElt, RngIntElt -> GrpMat
ASL(GrpMat, n, K) : Cat, RngIntElt, FldFin -> GrpMat
ASL(GrpMat, V) : Cat, ModTupRng -> GrpMat
Here n is a positive integer greater than or equal to 2, q is the power of a prime, K is a finite field GF(q), and V is an n-dimensional vector space over K. This function constructs the affine special linear group ASL(n, q) (resp. ASL(n, K), ASL(V)) as a subgroup of SL(n + 1, K). If the category name GrpMat is omitted, the affine group will be returned as a permutation group. The intrinsic name may be abbreviated to ASL.
Unitary Groups
ConformalUnitaryGroup(n, q) : RngIntElt, RngIntElt -> GrpMat
ConformalUnitaryGroup(n, K) : RngIntElt, FldFin -> GrpMat
ConformalUnitaryGroup(V): ModTupRng -> GrpMat
CU(n, q) : RngIntElt, RngIntElt -> GrpMat
CU(n, K) : RngIntElt, FldFin -> GrpMat
CU(V): ModTupRng -> GrpMat
Here n ≥2 is a positive integer, q is the power of a prime, K is the finite field GF(q2), and V is the n-dimensional vector space over K. This function constructs the conformal unitary group CU(n, q) (resp. CU(n, K), CU(V)) in terms of generating matrices. It preserves the standard hermitian form up to a non-zero scalar multiple. The intrinsic name may be abbreviated to CU.
GeneralUnitaryGroup(n, q) : RngIntElt, RngIntElt -> GrpMat
GeneralUnitaryGroup(n, K) : RngIntElt, FldFin -> GrpMat
GeneralUnitaryGroup(V): ModTupRng -> GrpMat
GU(n, q) : RngIntElt, RngIntElt -> GrpMat
GU(n, K) : RngIntElt, FldFin -> GrpMat
GU(V): ModTupRng -> GrpMat
Here n ≥2 is a positive integer, q is the power of a prime, K is the finite field GF(q2), and V is the n-dimensional vector space over K. This function constructs the general unitary group GU(n, q) (resp. GU(n, K), GU(V)) in terms of generating matrices. It preserves the standard hermitian form. The intrinsic name may be abbreviated to GU.
SpecialUnitaryGroup(n, q) : RngIntElt, RngIntElt -> GrpMat
SpecialUnitaryGroup(n, K) : RngIntElt, FldFin -> GrpMat
SpecialUnitaryGroup(V): ModTupRng -> GrpMat
SU(n, q) : RngIntElt, RngIntElt -> GrpMat
SU(n, K) : RngIntElt, FldFin -> GrpMat
SU(V): ModTupRng -> GrpMat
Here n is an integer greater than or equal to 2, q is the power of a prime, K is the finite field GF(q2), and V is the n-dimensional vector space over K. This function constructs the special unitary group SU(n, q) (resp. SU(n, K), SU(V)) in terms of generating matrices. The intrinsic name may be abbreviated to SU.
ConformalSpecialUnitaryGroup(n, q) : RngIntElt, RngIntElt -> GrpMat
CSU(n, q) : RngIntElt, RngIntElt -> GrpMat
For an integer n≥2 and a prime power q, this function constructs the normaliser of the special unitary group SU(n, q) in SL(n, q2). The intrinsic name may be abbreviated to CSU.
Symplectic Groups
ConformalSymplecticGroup(n, q) : RngIntElt, RngIntElt -> GrpMat
ConformalSymplecticGroup(n, K) : RngIntElt, FldFin -> GrpMat
ConformalSymplecticGroup(V) : ModTupRng -> GrpMat
CSp(n, q) : RngIntElt, RngIntElt -> GrpMat
CSp(n, K) : RngIntElt, FldFin -> GrpMat
CSp(V) : ModTupRng -> GrpMat
Here n is an even integer greater than or equal to 4, q is the power of a prime, K is the finite field GF(q), and V is the n-dimensional vector space over K. This function constructs the conformal symplectic group CSp(n, q) (resp. CSp(n, K), CSp(V)) in terms of generating matrices. It preserves the standard alternating form up to a non-zero scalar multiple. The intrinsic name may be abbreviated to CSp.
SymplecticGroup(n, q) : RngIntElt, RngIntElt -> GrpMat
SymplecticGroup(n, K) : RngIntElt, FldFin -> GrpMat
SymplecticGroup(V) : ModTupRng -> GrpMat
Sp(n, q) : RngIntElt, RngIntElt -> GrpMat
Sp(n, K) : RngIntElt, FldFin -> GrpMat
Sp(V) : ModTupRng -> GrpMat
Here n is an even integer greater than or equal to 4, q is the power of a prime, K is the finite field GF(q), and V is the n-dimensional vector space over K. This function constructs the symplectic group Sp(n, q) (resp. Sp(n, K), Sp(V)) in terms of generating matrices. It preserves the standard alternating form up. The intrinsic name may be abbreviated to Sp.
Orthogonal and Spin Groups
ConformalOrthogonalGroup(n, q) : RngIntElt, RngIntElt -> GrpMat
ConformalOrthogonalGroup(n, K) : RngIntElt, FldFin -> GrpMat
ConformalOrthogonalGroup(V): ModTupRng -> GrpMat
CO(n, q) : RngIntElt, RngIntElt -> GrpMat
CO(n, K) : RngIntElt, FldFin -> GrpMat
CO(V): ModTupRng -> GrpMat
Here n is an odd integer greater than or equal to 3, q is the power of a prime, K is the finite field GF(q), and V is the n-dimensional vector space over K. This function constructs the conformal orthogonal group CO(n, q) (resp. CO(n, K), CO(V)) in terms of generating matrices. It preserves the standard quadratic form up to a non-zero scalar multiple. The intrinsic name may be abbreviated to CO.
GeneralOrthogonalGroup(n, q) : RngIntElt, RngIntElt -> GrpMat
GeneralOrthogonalGroup(n, K) : RngIntElt, FldFin -> GrpMat
GeneralOrthogonalGroup(V): ModTupRng -> GrpMat
GO(n, q) : RngIntElt, RngIntElt -> GrpMat
GO(n, K) : RngIntElt, FldFin -> GrpMat
GO(V): ModTupRng -> GrpMat
Here n is an odd integer greater than or equal to 3, q is the power of a prime, K is the finite field GF(q), and V is the n-dimensional vector space over K. This function constructs the general orthogonal group GO(n, q) (resp. GO(n, K), GO(V)) in terms of generating matrices. It preserves the standard quadratic form. The intrinsic name may be abbreviated to GO.
SpecialOrthogonalGroup(n, q) : RngIntElt, RngIntElt -> GrpMat
SpecialOrthogonalGroup(n, K) : RngIntElt, FldFin -> GrpMat
SpecialOrthogonalGroup(V): ModTupRng -> GrpMat
SO(n, q) : RngIntElt, RngIntElt -> GrpMat
SO(n, K) : RngIntElt, FldFin -> GrpMat
SO(V): ModTupRng -> GrpMat
Here n is an odd integer greater than or equal to 3, q is the power of a prime, K is the finite field GF(q), and V is the n-dimensional vector space over K. This function constructs the special orthogonal group SO(n, q) (resp. SO(n, K), SO(V)) in terms of generating matrices. The intrinsic name may be abbreviated to SO. In characteristic 2 the group coincides with the general orthogonal group.
ConformalSpecialOrthogonalGroup(n, q) : RngIntElt, RngIntElt -> GrpMat
CSO(n, q) : RngIntElt, RngIntElt -> GrpMat
For an odd integer n≥3 and a prime power q, this function constructs the normaliser of the special orthogonal group SO(n, q) in SL(n, q). The intrinsic name may be abbreviated to CSO.
ConformalOrthogonalGroupPlus(n, q) : RngIntElt, RngIntElt -> GrpMat
ConformalOrthogonalGroupPlus(n, K) : RngIntElt, FldFin -> GrpMat
ConformalOrthogonalGroupPlus(V): ModTupRng -> GrpMat
COPlus(n, q) : RngIntElt, RngIntElt -> GrpMat
COPlus(n, K) : RngIntElt, FldFin -> GrpMat
COPlus(V): ModTupRng -> GrpMat
Here n is an even integer greater than or equal to 2, q is the power of a prime, K is the finite field GF(q), and V is the n-dimensional vector space over K. This function constructs the conformal orthogonal group CO^ + (n, q) (resp. CO^ + (n, K), CO^ + (V)) in terms of generating matrices. It preserves the standard quadratic form up to a non-zero scalar multiple. The intrinsic name may be abbreviated to COPlus.
GeneralOrthogonalGroupPlus(n, q) : RngIntElt, RngIntElt -> GrpMat
GeneralOrthogonalGroupPlus(n, K) : RngIntElt, FldFin -> GrpMat
GeneralOrthogonalGroupPlus(V): ModTupRng -> GrpMat
GOPlus(n, q) : RngIntElt, RngIntElt -> GrpMat
GOPlus(n, K) : RngIntElt, FldFin -> GrpMat
GOPlus(V): ModTupRng -> GrpMat
Here n is an even integer greater than or equal to 2, q is the power of a prime, K is the finite field GF(q), and V is the n-dimensional vector space over K. This function constructs the general orthogonal group GO^ + (n, q) (resp. GO^ + (n, K), GO^ + (V)) in terms of generating matrices. It preserves the standard quadratic form. The intrinsic name may be abbreviated to GOPlus.
SpecialOrthogonalGroupPlus(n, q) : RngIntElt, RngIntElt -> GrpMat
SpecialOrthogonalGroupPlus(n, K) : RngIntElt, FldFin -> GrpMat
SpecialOrthogonalGroupPlus(V): ModTupRng -> GrpMat
SOPlus(n, q) : RngIntElt, RngIntElt -> GrpMat
SOPlus(n, K) : RngIntElt, FldFin -> GrpMat
SOPlus(V): ModTupRng -> GrpMat
Here n is an even integer greater than or equal to 2, q is the power of a prime, K is the finite field GF(q), and V is the n-dimensional vector space over K. This function constructs the special orthogonal group SO^ + (n, q) (resp. SO^ + (n, K), SO^ + (V)) in terms of generating matrices. The intrinsic name may be abbreviated to SOPlus. In characteristic 2 the group coincides with GOPlus and is not the kernel of the Dickson invariant.
ConformalSpecialOrthogonalGroupPlus(n, q) : RngIntElt, RngIntElt -> GrpMat
CSOPlus(n, q) : RngIntElt, RngIntElt -> GrpMat
For an odd integer n≥3 and a prime power q, this function constructs the normaliser of the special orthogonal group SO^ + (n, q) in SL(n, q). The intrinsic name may be abbreviated to CSOPlus.
ConformalOrthogonalGroupMinus(n, q) : RngIntElt, RngIntElt -> GrpMat
ConformalOrthogonalGroupMinus(n, K) : RngIntElt, FldFin -> GrpMat
ConformalOrthogonalGroupMinus(V): ModTupRng -> GrpMat
COMinus(n, q) : RngIntElt, RngIntElt -> GrpMat
COMinus(n, K) : RngIntElt, FldFin -> GrpMat
COMinus(V): ModTupRng -> GrpMat
Here n is an even integer greater than or equal to 2, q is the power of a prime, K is the finite field GF(q), and V is the n-dimensional vector space over K. This function constructs the conformal orthogonal group CO^ - (n, q) (resp. CO^ - (n, K), CO^ - (V)) in terms of generating matrices. It preserves the standard quadratic form (of Minus type) up to a non-zero scalar multiple. The intrinsic name may be abbreviated to COMinus.
GeneralOrthogonalGroupMinus(n, q) : RngIntElt, RngIntElt -> GrpMat
GeneralOrthogonalGroupMinus(n, K) : RngIntElt, FldFin -> GrpMat
GeneralOrthogonalGroupMinus(V): ModTupRng -> GrpMat
GOMinus(n, q) : RngIntElt, RngIntElt -> GrpMat
GOMinus(n, K) : RngIntElt, FldFin -> GrpMat
GOMinus(V): ModTupRng -> GrpMat
Here n is an even integer greater than or equal to 2, q is the power of a prime, K is the finite field GF(q), and V is the n-dimensional vector space over K. This function constructs the general orthogonal group GO^ - (n, q) (resp. GO^ - (n, K), GO^ - (V)) in terms of generating matrices. It preserves the standard quadratic form (of Minus type). The intrinsic name may be abbreviated to GOMinus.
SpecialOrthogonalGroupMinus(n, q) : RngIntElt, RngIntElt -> GrpMat
SpecialOrthogonalGroupMinus(n, K) : RngIntElt, FldFin -> GrpMat
SpecialOrthogonalGroupMinus(V): ModTupRng -> GrpMat
SOMinus(n, q) : RngIntElt, RngIntElt -> GrpMat
SOMinus(n, K) : RngIntElt, FldFin -> GrpMat
SOMinus(V): ModTupRng -> GrpMat
Here n is an even integer greater than or equal to 2, q is the power of a prime, K is the finite field GF(q), and V is the n-dimensional vector space over K. This function constructs the special orthogonal group SO^ - (n, q) (resp. SO^ - (n, K), SO^ - (V)) in terms of generating matrices. The intrinsic name may be abbreviated to SOMinus. In characteristic 2 the group coincides with GOMinus and is not the kernel of the Dickson invariant.
ConformalSpecialOrthogonalGroupMinus(n, q) : RngIntElt, RngIntElt -> GrpMat
CSOMinus(n, q) : RngIntElt, RngIntElt -> GrpMat
For an odd integer n≥3 and a prime power q, this function constructs the normaliser of the special orthogonal group SO^ - (n, q) in SL(n, q). The intrinsic name may be abbreviated to CSOMinus.
Omega(n, q) : RngIntElt, RngIntElt -> GrpMat
Omega(n, K) : RngIntElt, FldFin -> GrpMat
Omega(V): ModTupRng -> GrpMat
Here n is an odd integer greater than or equal to 3, q is a power of a prime, K is the finite field GF(q), and V is the n-dimensional vector space over K. This function constructs the orthogonal group Ω(n, K) (resp. Ω(n, K), Ω(V)) in terms of two generating matrices. If q is odd, the group Ω(n, K) is the kernel of the spinor norm map on SO(n, K)); if q is even, it is the kernel of the Dickson invariant.
OmegaPlus(n, q) : RngIntElt, RngIntElt -> GrpMat
OmegaPlus(n, K) : RngIntElt, FldFin -> GrpMat
OmegaPlus(V): ModTupRng -> GrpMat
Here n is an even integer greater than or equal to 2, q is a power of a prime, K is the finite field GF(q), and V is the n-dimensional vector space over K. This function constructs the orthogonal group Ω^ + (n, q) (resp. Ω^ + (n, K), Ω^ + (V)) in terms of two generating matrices. If q is odd, the group Ω^ + (n, K) is the kernel of the spinor norm map on SO^ + (n, K). If q is even, it is the kernel of the Dickson invariant.
OmegaMinus(n, q) : RngIntElt, RngIntElt -> GrpMat
OmegaMinus(n, K) : RngIntElt, FldFin -> GrpMat
OmegaMinus(V): ModTupRng -> GrpMat
Here n is an even integer greater than or equal to 2, q is a power of a prime, K is the finite field GF(q), and V is the n-dimensional vector space over K. This function constructs the orthogonal group Ω^ - (n, q) (resp. Ω^ - (n, K), Ω^ - (V)) in terms of two generating matrices. If q is odd, the group Ω^ - (n, K) is the kernel of the spinor norm map on SO^ - (n, K). If q is even, it is the kernel of the Dickson invariant.
Spin(n, q) : RngIntElt, RngIntElt -> GrpMat
Spin(n, K) : RngIntElt, FldFin -> GrpMat
Spin(V): ModTupRng -> GrpMat
Here n is an odd integer greater than or equal to 1, q is the power of a prime, K is the finite field GF(q), and V is the n-dimensional vector space over K. This function constructs the spin group Spin(n, K) (resp. Spin(n, K), Spin(V)).
SpinPlus(n, q) : RngIntElt, RngIntElt -> GrpMat
SpinPlus(n, K) : RngIntElt, FldFin -> GrpMat
SpinPlus(V): ModTupRng -> GrpMat
Here n is an even integer greater than or equal to 2, q is the power of a prime, K is the finite field GF(q), and V is the n-dimensional vector space over K. This function constructs the spin group Spin^ + (n, K) (resp. Spin^ + (n, K), Spin^ + (V)).
SpinMinus(n, q) : RngIntElt, RngIntElt -> GrpMat
SpinMinus(n, K) : RngIntElt, FldFin -> GrpMat
SpinMinus(V): ModTupRng -> GrpMat
Here n is an even integer greater than or equal to 4, q is the power of a prime, K is the finite field GF(q), and V is the n-dimensional vector space over K. This function constructs the spin group Spin^ - (n, K) (resp. Spin^ - (n, K), Spin^ - (V)).

Exceptional Groups

Suzuki Groups

The Suzuki groups are specified slightly differently, as the degree of the group is always four. Thus for this family of groups, the possible combinations of arguments are:

(i)
A finite field K = GF(22m + 1), over which the resulting matrix group is defined;
(ii)
An integer q = 22m + 1, corresponding to the field K = GF(q) over which the resulting matrix group is defined; or,
(iii)
A vector space V = K4 where K = GF(22m + 1) on which the resulting matrix group acts naturally. which the resulting
SuzukiGroup(q) : RngIntElt -> GrpMat
SuzukiGroup(K) : FldFin -> GrpMat
SuzukiGroup(V) : ModTupRng -> GrpMat
Here q is a prime power of the form 22n + 1, K is the finite field GF(q), and V is the 4-dimensional vector space over K. This function constructs the Suzuki simple group Sz(q) (resp. Sz(K), Sz(V)) in terms of two generating matrices. The intrinsic name may be abbreviated to Sz.

Example GrpASim_Symplectic (H71E1)

We create the 10-dimensional symplectic group over GF(8):
> F<u> := FiniteField(8);
> G := SymplecticGroup(10, F);
> G;
MatrixGroup(10, GF(2, 3))
Generators:
[  u   0   0   0   0   0   0   0   0   0]
[  0   1   0   0   0   0   0   0   0   0]
[  0   0   1   0   0   0   0   0   0   0]
[  0   0   0   1   0   0   0   0   0   0]
[  0   0   0   0   u   0   0   0   0   0]
[  0   0   0   0   0   u   0   0   0   0]
[  0   0   0   0   0   0   1   0   0   0]
[  0   0   0   0   0   0   0   1   0   0]
[  0   0   0   0   0   0   0   0   1   0]
[  0   0   0   0   0   0   0   0   0 u^6]
[0 0 0 1 1 1 0 0 0 0]
[1 0 0 0 0 0 0 0 0 0]
[0 1 0 0 0 0 0 0 0 0]
[0 0 1 0 0 0 0 0 0 0]
[0 0 0 1 0 0 0 0 0 0]
[0 0 0 0 1 0 1 0 0 0]
[0 0 0 0 0 0 0 1 0 0]
[0 0 0 0 0 0 0 0 1 0]
[0 0 0 0 0 0 0 0 0 1]
[0 0 0 0 1 0 0 0 0 0]

Example GrpASim_Suzuki (H71E2)

We create the Suzuki group over GF(128):
> F<w> := FiniteField(128);
> V := VectorSpace(F, 4);
> S := SuzukiGroup(V);
> S;
MatrixGroup(4, GF(2, 7))
Generators:
[0 0 0 1]
[0 0 1 0]
[0 1 0 0]
[1 0 0 0]
[  w^8     0     0     0]
[    0 w^120     0     0]
[    0     0   w^7     0]
[    0     0     0 w^119]
[   1    0    0    0]
[ w^8    1    0    0]
[   0    w    1    0]
[w^17  w^9  w^8    1]
> Order(S);
34093383680
> FactoredOrder(S);
[ <2, 14>, <5, 1>, <29, 1>, <113, 1>, <127, 1> ]
Small Ree Groups

The Ree groups ((2)G2(q)) are given in an irreducible matrix representation of degree seven. The possible combinations of arguments are:

(i)
A finite field K = GF(32m + 1) with m > 0, over which the matrix group is defined.

(ii)
An integer q = 32m + 1 with m > 0, corresponding to the field K = GF(q) over which the group is defined; or,

(iii)
A vector space V = K7 where K = GF(32m + 1) with m > 0, on which the matrix group acts naturally.

ReeGroup(q) : RngIntElt -> GrpMat
ReeGroup(K) : FldFin -> GrpMat
ReeGroup(V) : ModTupRng -> GrpMat
Here q is a prime power of the form q = 32m + 1 with m > 0, K is the finite field GF(q), and V is the 7-dimensional vector space over K. This function constructs the Ree group (2)G2(q) (resp. (2)G2(K), (2)G2(V)) in terms of standard generating matrices. The intrinsic name may be abbreviated to Ree.
Large Ree Groups

The Ree groups ((2)F4(q)) are given in an irreducible matrix representation of degree twenty-six. The possible combinations of arguments are:

(i)
A finite field K = GF(22m + 1) with m > 0, over which the matrix group is defined.

(ii)
An integer q = 22m + 1 with m > 0, corresponding to the field K = GF(q) over which the group is defined; or,

(iii)
A vector space V = K26 where K = GF(22m + 1) with m > 0, on which the matrix group acts naturally.

LargeReeGroup(q) : RngIntElt -> GrpMat
LargeReeGroup(K) : FldFin -> GrpMat
LargeReeGroup(V) : ModTupRng -> GrpMat
Here q is a prime power of the form q = 22m + 1 with m > 0, K is the finite field GF(q), and V is the 26-dimensional vector space over K. This function constructs the Ree group (2)F4(q) (resp. (2)F4(K), (2)F4(V)) in terms of standard generating matrices. The intrinsic name may be abbreviated to LargeRee.
V2.28, 13 July 2023