For each finite non-abelian simple group S, we designate a specific standard copy of S. The standard copy has a designated set of standard generators. For example, the standard copy of Alt(n) is on n points; its standard generators are (1, 2, 3) and either of (3, ..., n) or (1, 2)(3, ..., n) according to the parity of n. For a projective representation, the standard copy is the quotient of a matrix group by its scalar subgroup. For example, the standard copy of PSL(n, q) is the quotient of SL(n, q) by its scalar subgroup.
To compute in a copy G of S, we first construct effective isomorphisms between G and its standard copy. We do this by finding generators in G that correspond to the standard generators of S under an isomorphism. More formally, a constructive recognition algorithm for a non-abelian simple group G (possibly with decorations) solves the following problem: construct an isomorphism φfrom G to a standard copy S of G, such that φ(g) can be computed efficiently for every g ∈G. This is done by constructing standard generators in both G and its standard copy S.
A rewriting algorithm for G solves the constructive membership problem: given g ∈U ≥G = < X >, decide whether or not g ∈G, and if so express g as an SLP in X. (Here U is the generic overgroup of G, such as GL(d, q) or Sym(n).) The rewriting algorithm is used to make the isomorphism between S and G effective. To compute the image of an arbitrary element s of S in G, we first write s as an SLP in the standard generators of S and then evaluate the SLP in the copy of the standard generators in G.
To verify that the homomorphism from S to G is an isomorphism, we can evaluate in G a standard presentation for S on its standard generators. If the copy of the standard generators in G satisfy the presentation, then we have proved that we have an isomorphism.
For a detailed discussion of these topics, see [O'B11], [LGO09].
This intrinsic produces the standard generators of Leedham-Green and O'Brien for the quasisimple classical group of specified type in dimension d over field of size q. The type is designated by the argument "type" which must be one of the strings "SL", "Sp", "SU", "Omega", "Omega-", or "Omega+". The standard generators defined a specific copy of a classical group and are defined in [LGO09] and [DLLGO].
Case: MonStgElt Default: "unknown"
Randomiser: GrpRandProc Default:
The argument G must be a matrix group defined over a finite field such that G = < X > is conjugate to a quasisimple classical group in its natural representation in dimension at least 2. The intrinsic constructs a copy ( S) in G of the generators defined by StandardGenerators. If G is quasisimple and classical, then the function returns true, the standard generators ( S), and SLPs for these in X; otherwise it returns false.If the user has available the information returned by the intrinsic ClassicalType (G), this can be supplied using the optional parameter Case.
The parameter Randomiser allows the user to specify the random process that is be used to construct random elements and the SLPs returned for the standard generators are in the word group of this process. The default value of Randomiser is RandomProcessWithWords(G).
The implementations for even and odd characteristic were developed by Heiko Dietrich and Eamonn O'Brien respectively.
The argument G must be a matrix group defined over a finite field and G is assumed to be conjugate to a classical group in its natural representation. It is also assumed that the intrinsic ClassicalConstructiveRecognition has been applied to G. For g ∈G, the intrinsic writes g as an SLP in the standard generators ( S) of G, and returns true and the SLP; otherwise it returns false.
Projective: BoolElt Default: false
Given the specification type, d, q of a quasisimple group G, this intrinsic constructs a presentation on the standard generators for G. The string type must be one of "SL", "Sp", "SU", "Omega", "Omega-", or "Omega+" while d is the dimension and q is the cardinality of the finite field. The presentations are described in [LGO]. The relations are returned as SLPs together with the parent SLPGroup.If the parameter Projective is set to true, the intrinsic constructs a presentation for the corresponding projective group.
As our first illustration, we produce standard generators for SL(4, 52):
> S := ClassicalStandardGenerators ("SL", 4, 5^2); > S; [ [ 0 1 0 0] [ 4 0 0 0] [ 0 0 1 0] [ 0 0 0 1], [ 0 0 0 1] [ 4 0 0 0] [ 0 4 0 0] [ 0 0 4 0], [ 1 1 0 0] [ 0 1 0 0] [ 0 0 1 0] [ 0 0 0 1], [ $.1 0 0 0] [ 0 $.1^23 0 0] [ 0 0 1 0] [ 0 0 0 1] ]
We now perform constructive recognition on SL(6, 53):
> G := SL (6, 5^3); > f, S, W := ClassicalConstructiveRecognition (G); > f; true > S; [ [ $.1^26 $.1^49 $.1^46 $.1^3 $.1^103 $.1^107] [ $.1^39 $.1^7 $.1^5 $.1^53 $.1^89 $.1^63] [ $.1^20 $.1^103 $.1^68 $.1^22 $.1^23 $.1^60] [ 3 $.1^32 $.1^28 $.1^60 3 4] [ $.1^61 $.1^32 $.1^95 0 $.1^65 $.1] [ $.1^21 $.1 $.1^50 $.1^40 $.1^22 $.1^49], [ $.1^40 $.1^111 $.1^122 $.1^72 $.1^48 $.1^87] [ $.1^59 $.1^72 $.1^42 $.1^65 $.1^59 $.1^17] [$.1^114 $.1^4 $.1^109 $.1^24 $.1^73 $.1^60] [ $.1^49 $.1^87 $.1^122 $.1^51 $.1^19 4] [ $.1^18 $.1^27 $.1^43 $.1^51 $.1^103 $.1^82] [ $.1^66 $.1^28 $.1^16 $.1^38 4 $.1^88], [ 1 $.1^90 $.1^111 $.1^20 $.1^67 $.1^12] [ 0 $.1^86 $.1^25 $.1^58 $.1^105 $.1^50] [ 0 $.1^73 $.1^45 $.1^3 $.1^50 $.1^119] [ 0 $.1^96 $.1^117 $.1^3 $.1^73 $.1^18] [ 0 $.1^29 $.1^50 $.1^83 $.1^15 $.1^75] [ 0 $.1^18 $.1^39 $.1^72 $.1^119 $.1^13], [ $.1^59 $.1^28 $.1^2 $.1^71 $.1^72 $.1^109] [$.1^107 $.1^63 $.1^113 $.1^51 $.1^32 $.1^5] [ $.1^52 $.1^107 $.1^104 $.1^19 $.1^73 $.1^121] [ $.1^75 $.1^81 $.1^66 $.1^121 $.1^29 0] [ $.1^8 $.1^33 $.1^121 4 $.1^43 $.1^35] [$.1^121 $.1^6 0 $.1^2 $.1^65 $.1^2] ]
Note that W is list of SLPs expressing S in terms of defining generators of G.
> S eq Evaluate (W, [G.i: i in [1..Ngens (G)]]); true
We next express a random element of G as a SLP in S and then check that the standard generators satisfy the standard presentation,
> g := Random (G); > f, w := ClassicalElementToWord (G, g); > Evaluate (w, S) eq g; true > > P, R := ClassicalStandardPresentation ("SL", 6, 5^3); > Set (Evaluate (R, S)); { [ 1 0 0 0 0 0] [ 0 1 0 0 0 0] [ 0 0 1 0 0 0] [ 0 0 0 1 0 0] [ 0 0 0 0 1 0] [ 0 0 0 0 0 1] }
We perform constructive recognition on a random conjugate of Sp(10, 36) and again check that the standard generators satisfy the standard presentation.
> G := RandomConjugate (Sp (10, 3^6)); > f, S, W := ClassicalConstructiveRecognition (G); > f; true
The return variable W is list of SLPs expressing S in terms of defining generators of G.
> S eq Evaluate (W, [G.i: i in [1..Ngens (G)]]); true > > g := Random (G); > f, w := ClassicalElementToWord (G, g); > Evaluate (w, S) eq g; true > > P, R := ClassicalStandardPresentation ("Sp", 10, 3^6); > Set (Evaluate (R, S)); { [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 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] [0 0 0 0 0 0 0 0 0 1] }
As our final demonstration we perform constructive recognition with Ω - (16, 26).
> G := RandomConjugate (OmegaMinus (16, 2^6)); > f, S, W := ClassicalConstructiveRecognition (G); > f; true
A random element of G is expressed as an SLP in S:
> g := Random (G); > f, w := ClassicalElementToWord (G, g); > Evaluate (w, S) eq g; true