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].
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 + αsi=αi + n (n is the rank of R and N is the number of positive roots).
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.
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 + αt=αr.
Return the sequence of extraspecial signs of the root datum R.
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.
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.
The Cartan integer < αr, αsstar > for the root datum R.
The Lie algebra structure constant Nrs for the root datum R. The condition αs≠∓αr must be satisfied.
The constant εrs= Sign(Nrs) for the root datum R. The condition αs≠∓αr must be satisfied.
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.
The Lie group structure constant Cijrs for the root datum R. The conditions αs≠∓αr and αr + αs∈Φ must be satisfied.
The constantηrs= ( - 1)prs (εr, s - pr ... εr, s - r/εr, s - pr ... εr, s + (q - p - 1)r)
for the root datum R. The condition αs≠∓αr must be satisfied.
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.
> 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]);
> C := CartanMatrix(R); > C[2,3] eq CartanInteger(R,2,3); true
> LieConstant_p(R,r,s) eq #LeftString(R,r,s); true
> LieConstant_q(R,r,s) eq #RightString(R,r,s); true
> CartanInteger(R,s,r) eq > LieConstant_p(R,r,s) - LieConstant_q(R,r,s); true
> LieConstant_N(R,r,s) eq > LieConstant_epsilon(R,r,s) * (LieConstant_p(R,r,s) + 1); true