Constants Associated with Root Data

In this section functions for a number of constants associated with root data will be described. These constants are needed to define Lie algebras and groups of Lie type. The notation of [Car72] will be used, except that the constants are defined for right actions rather than left actions [CMT04].

ExtraspecialPairs(R) : RootDtm -> SeqEnum
The sequence of extraspecial pairs of the root datum R (see [Car72, page 58]). That is the sequence [(ri, si)]i=1N - n where ri is minimal such that αri + αsii + n (n is the rank of R and N is the number of positive roots).
NumExtraspecialPairs(R) : RootDtm -> SeqEnum
The number of extraspecial pairs of the root datum R. This function doesn't actually compute the extraspecial pairs, thus is much more efficient than calling #ExtraspecialPairs(R) in case extraspecial pairs are not yet computed.
ExtraspecialPair(R,r) : RootDtm, RngIntElt -> SeqEnum
The extraspecial pair of the rth root in the root datum R. That is the pair (s, t) where s is minimal such that αs + αtr.
ExtraspecialSigns(R) : RootDtm -> []
Return the sequence of extraspecial signs of the root datum R.
LieConstant_p(R, r, s) : RootDtm, RngIntElt, RngIntElt -> RngIntElt
The constant prs for the root datum R, i.e. the largest p such that αs - pαr is a root. This is the same as LeftStringLength. The condition αs≠∓αr must be satisfied.
LieConstant_q(R, r, s) : RootDtm, RngIntElt, RngIntElt -> RngIntElt
The constant qrs for the root datum R, i.e. the largest q such that αs + qαr is a root. This is the same as RightStringLength. The condition αs≠∓αr must be satisfied.
CartanInteger(R, r, s) : RootDtm, RngIntElt, RngIntElt -> RngIntElt
The Cartan integer < αr, αsstar > for the root datum R.
LieConstant_N(R, r, s) : RootDtm, RngIntElt, RngIntElt -> RngIntElt
The Lie algebra structure constant Nrs for the root datum R. The condition αs≠∓αr must be satisfied.
LieConstant_epsilon(R, r, s) : RootDtm, RngIntElt, RngIntElt -> RngIntElt
The constant εrs= Sign(Nrs) for the root datum R. The condition αs≠∓αr must be satisfied.
LieConstant_M(R, r, s, i) : RootDtm, RngIntElt, RngIntElt, RngIntElt -> RngIntElt
The constant Mrsi=(1/(i!))Ns0r ... N_(si - 1r) where αsi = iαr + αs for the root datum R. The condition αs≠∓αr must be satisfied.
LieConstant_C(R, i, j, r, s) : RootDtm, RngIntElt, RngIntElt, RngIntElt, RngIntElt -> RngIntElt
The Lie group structure constant Cijrs for the root datum R. The conditions αs≠∓αr and αr + αs∈Φ must be satisfied.
LieConstant_eta(R, r, s) : RootDtm, RngIntElt, RngIntElt -> RngIntElt
The constant

ηrs= ( - 1)prsr, s - pr ... εr, s - rr, s - pr ... εr, s + (q - p - 1)r)

for the root datum R. The condition αs≠∓αr must be satisfied.

StructureConstants(R) : RootDtm -> RngIntElt
The Lie algebra structure constants for the reductive Lie algebra with root datum R in the sparse format described in Section Constructors for Lie Algebras.

Example RootDtm_consts (H104E32)

The code below verifies some standard formulas in the root datum of type F4:
> R := RootDatum("F4");
> N := NumPosRoots(R);
> r := Random([1..N]);
> s := Random([1..r-1] cat [r+1..r+N-1] cat [r+N+1..2*N]);
1.
Agreement of the Cartan matrix with the Cartan integers.

> C := CartanMatrix(R);
> C[2,3] eq CartanInteger(R,2,3);
true
2.
prs is the length of the left string through αs in the direction of αr.

> LieConstant_p(R,r,s) eq #LeftString(R,r,s);
true
3.
qrs is the length of the right string through αs in the direction of αr.

> LieConstant_q(R,r,s) eq #RightString(R,r,s);
true
4.
< αs, αrstar >=prs - qrs.

> CartanInteger(R,s,r) eq
> LieConstant_p(R,r,s) - LieConstant_q(R,r,s);
true
5.
Nrs = εrs(prs + 1).

> LieConstant_N(R,r,s) eq
> LieConstant_epsilon(R,r,s) * (LieConstant_p(R,r,s) + 1);
true
V2.28, 13 July 2023