The following optional parameters are common to most of the intrinsics described in this section:
var Normalising: BoolElt Default: true The flag Normalising determines whether elements will be automatically converted to Bruhat form. This flag is automatically set to false if the group is defined over a nonfield.
var Isogeny: BoolElt Default: "Ad" var Signs: Any Default: 1
The optional parameters Isogeny and Signs can take the values described in Section Constructing Root Data.
var Method: MonStgElt Default: "Default"
The method to be used for operations with unipotent elements. See [CHM08] for more details on the algorithms. Possible values are
Isogeny: BoolElt Default: "Ad"
Signs: Any Default: 1
Normalising: BoolElt Default: true
Method: MonStgElt Default: "Default"
Construct the group of Lie type with Cartan name given by the string N (see Section Finite and Affine Coxeter Groups) over the ring k.
Isogeny: BoolElt Default: "Ad"
Signs: Any Default: 1
Normalising: BoolElt Default: true
Method: MonStgElt Default: "Default"
Construct the group of Lie type with Cartan name given by the string N (see Section Finite and Affine Coxeter Groups) over the finite field of order q.
Normalising: BoolElt Default: true
Method: MonStgElt Default: "Default"
Construct the group of Lie type with Weyl group W over the ring k. The group W must be a finite Coxeter group, given either as a permutation group or as a reflection group.
Normalising: BoolElt Default: true
Method: MonStgElt Default: "Default"
Construct the group of Lie type with Weyl group W over the finite field of order q. The group W must be a finite Coxeter group, given either as a permutation group or as a reflection group.
Normalising: BoolElt Default: true
Method: MonStgElt Default: "Default"
Construct the group of Lie type with root datum R over the ring k.
Normalising: BoolElt Default: true
Method: MonStgElt Default: "Default"
Construct the group of Lie type with root datum R over the finite field of order q.
Isogeny: BoolElt Default: "Ad"
Signs: Any Default: 1
Normalising: BoolElt Default: true
Method: MonStgElt Default: "Default"
Construct the group of Lie type with Cartan matrix C or Dynkin digraph D, over the ring k.
Isogeny: BoolElt Default: "Ad"
Signs: Any Default: 1
Normalising: BoolElt Default: true
Method: MonStgElt Default: "Default"
Construct the group of Lie type with Cartan matrix C or Dynkin digraph D, over the finite field of order q.
Isogeny: BoolElt Default: "Ad"
Signs: Any Default: 1
Normalising: BoolElt Default: true
Method: MonStgElt Default: "Default"
Construct the simple group of Lie type with Cartan name Xn over the ring k, where the Cartan name is given by the string X and integer n (see also Section Finite and Affine Coxeter Groups).
Isogeny: BoolElt Default: "Ad"
Signs: Any Default: 1
Normalising: BoolElt Default: true
Method: MonStgElt Default: "Default"
Construct the simple group of Lie type with name Xn over the finite field of order q, where the Cartan name is given by the string X and integer n (see also Section Finite and Affine Coxeter Groups).
The group of Lie type corresponding to the Lie algebra L. The Lie algebra must be the algebraic (i.e., it must correspond to some group), and Magma must be able to determine that it is algebraic.
Returns the value of the flag Normalising of the group of Lie type G.
> G := GroupOfLieType("E8", 2); > G; G: Group of Lie type E8 over Finite field of size 2
If G is a linear algebraic group defined over the field k and L is the algebraic closure of k, then the group Γ := Gal(L:k) acts on G in the usual way and G becomes a Γ-group in the sense of the Section Finite Group Cohomology and Aut(G), the group of algebraic automorphisms of G also becomes a Γ-group.
Now the twisted forms of G are in one-to-one correspondence to the 1-cocycles of Γ on Aut(G) and the forms are conjugate if and only if the cocycles are cohomologous.
For practical purposes it is sufficient to compute the cohomology of Gal(K:k) on AutK(G) for some finite Galois field extension of k, where AutK(G) is the group of K-algebraic automorphisms of G.
These functions are based on [Hal05].
Returns the group of Lie type G as a Γ-group with Γ=Gal(K:k), where K is the base field of G. The field k must be a subfield of K.
Returns the group A = AutK(G) of automorphisms of the group of Lie type G as a Γ-group with Γ=Gal(K:k), where K is the base field of G. The field k must be a subfield of K.
Given the group of Lie type G or the group A of its automorphisms as a Γ-group, return Γ=Gal(K:k) together with the map m from the abstract Galois group Γ into the set of field automorphisms, such that m(γ) is the actual field automorphism for every γ∈Γ.
GBAl: MonStgElt Default: "Walk"
Printeqs: BoolElt Default: false
The analogue to ExtendCocycle. Given a cocycle c in H1(Γ, A/A0), where A = AutK(G) and Γ=Gal(K:k), extend the cocycle to a cocycle in H1(Γ, A). The optional parameter GBAl can be used to set the algorithm used for computing the Gr{öbner bases. The parameter Printeqs may be used to print out the polynomials whose Gr{öbner bases are computed. The current implementation only works for finite fields.
GBAl: MonStgElt Default: "Walk"
Printeqs: BoolElt Default: false
Recompute: BoolElt Default: false
Computes the Galois cohomology H1(Γ, AutK(G)), where A is the automorphism group of G as a Γ-group returned by GammaGroup and Γ=Gal(K:k). The optional parameter GBAl can be used to set the algorithm used for computing the Gr{öbner bases. The parameter Printeqs may be used to print out the polynomials whose Gr{öbner bases are computed. And Recompute may be used to recompute the Galois cohomology. The current implementation only works for finite fields.
Returns true if and only if the element x of a group of Lie type is contained in the twisted form of its parent defined by the cocycle c.
> q := 5; > k := GF(q); > K := GF(q^2); > > G := GroupOfLieType( "A3", K : Isogeny:="SC" ); > A := AutomorphismGroup(G); > > AGRP := GammaGroup( k, A ); > Gamma,m := ActingGroup(AGRP); > Gamma; Symmetric group Gamma acting on a set of cardinality 2 Order = 2 (1, 2) > m; Mapping from: GrpPerm: Gamma to Set of all maps from GF(5^2) to GF(5^2) given by a rule [no inverse] > action := GammaAction(AGRP); > > time GaloisCohomology(AGRP); [ [ One-Cocycle defined by [ Automorphism of $: Group of Lie type A3 over Finite field of size 5^2 given by: Mapping from: $: Group of Lie type to $: Group of Lie type Composition of Mapping from: $: Group of Lie type to $: Group of Lie type given by a rule and Mapping from: $: Group of Lie type to $: Group of Lie type given by a rule Decomposition: Mapping from: GF(5^2) to GF(5^2) Composition of Mapping from: GF(5^2) to GF(5^2) given by a rule and Mapping from: GF(5^2) to GF(5^2) given by a rule, Id($), 1 ] ], [ One-Cocycle defined by [ Automorphism of $: Group of Lie type A3 over Finite field of size 5^2 given by: Mapping from: $: Group of Lie type to $: Group of Lie type Composition of Mapping from: $: Group of Lie type to $: Group of Lie type given by a rule and Mapping from: $: Group of Lie type to $: Group of Lie type given by a rule Decomposition: Mapping from: GF(5^2) to GF(5^2) Composition of Mapping from: GF(5^2) to GF(5^2) given by a rule and Mapping from: GF(5^2) to GF(5^2) given by a rule, (1, 3), 1 ] ] ] Time: 0.470Now create the trivial cocycle:
> TrivialOneCocycle( AGRP ); One-Cocycle defined by [ Automorphism of $: Group of Lie type A3 over Finite field of size 5^2 given by: Mapping from: $: Group of Lie type to $: Group of Lie type given by a rule Decomposition: Mapping from: GF(5^2) to GF(5^2) given by a rule, Id($), 1 ] >And now the cocycle defining the group ()2A3(5) and check for two elements if they are contained in ()2A3(5):
> c := OneCocycle( AGRP, [GraphAutomorphism(G, Sym(3)!(1,3))] ); > > x := Random(G); > IsInTwistedForm( x, c ); false > > x := elt< G | <1,y>, <3,y @ m(Gamma.1)> > where y is Random(K); > IsInTwistedForm( x, c ); true >
The description of the twisted groups of Lie type is based on the extended root data, as described in the Section Extended Root Data. These functions are mainly based on [Hal05].
Given the cocycle c on the group of automorphisms of a split group of Lie type G, return the twisted form of G, defined by that cocycle.
Normalising: BoolElt Default: true
Method: MonStgElt Default: "Default"
The twisted group of Lie type defined over the field k with coefficients in the field K corresponding to the twisted root datum R.
Normalising: BoolElt Default: true
Method: MonStgElt Default: "Default"
The twisted group of Lie type defined over the finite field of order q with coefficients in the finite field of order r (where r is a power of q) corresponding to the twisted root datum R.
The twisted simply connected group of Lie type t and rank r defined over the finite field of order q.
> G := TwistedGroupOfLieType("3D",4,5); > G; G: Twisted group of Lie type 3D4,2 over GF(5) with entries over GF(5^3) > R := RootDatum(G); > R; R: Twisted simply connected root datum of dimension 4 of type 3D4,2
The coefficient ring of the (twisted) group of Lie type G, that is the base ring of the untwisted overgroup of G.
The ring over which the (twisted) group of Lie type G is defined. If G is split, this is the same as the base ring of G.
The untwisted overgroup, inside which the twisted group of Lie type G was constructed.
> R := RootDatum("A3" : Twist := 2); > G := TwistedGroupOfLieType(R,5,25); > G; G: Twisted group of Lie type 2A3,2 over GF(5) with entries over GF(5^2) > BaseRing(G); Finite field of size 5^2 > DefRing(G); Finite field of size 5 > UntwistedOvergroup(G); Group of Lie type A3 over GF(5^2)
The relative root element corresponding to the relative root δ of the twisted group of Lie type G and the field elements given by the sequence t. This is the element uδ(t) in [Hal05, (4.5)].
> q := 5; k := GF(q); K := GF(q^2); > > G := GroupOfLieType( "A3", K ); > A := AutomorphismGroup(G); > > AGRP := GammaGroup( k, A ); > c := OneCocycle( AGRP, [GraphAutomorphism(G, Sym(3)!(1,3))] ); > > T := TwistedGroupOfLieType(c); > T eq TwistedGroupOfLieType(RootDatum("A3":Twist:=2),k,K); true > G eq UntwistedOvergroup(T); true > > x := Random(G); x in T; false > > x := RelativeRootElement(T,2,[Random(K)]); x; x1($.1^22) x3($.1^14) > x in T; true