[Next][Prev] [Right] [Left] [Up] [Index] [Root]

Constants Associated with Root Data

In this section we describe functions for a number of constants associated with root data. These constants are needed to define Lie algebras and groups of Lie type. We use the notation of [Car72], except that our constants are defined for right actions rather than left actions [CMT03].

SetExtraspecialSigns( R, s ) : RootDtm, . ->
Many of these constants depend on the choice of a sign for each nonsimple positive root [Car72, page 58]. This function allows the user to fix these signs for the root datum R by giving a sequence s of length NumPosRoots(R)-Rank(R) consisting of integers +1 or -1. It is also possible to set s= + 1 instead of a sequence of all +1 and s= - 1 instead of a sequence of all -1. In order to prevent errors in structures which depend on the root datum, these signs cannot be reset---an attempt to do so will cause an error message. If the extraspecial signs are required by another function and they have not already been set, they are set to +1.
LieConstant_p( R, r, s ) : RootDtm, RngIntElt, RngIntElt -> RngIntElt
The constant p_(rs) for the root datum R, i.e. the largest p such that alpha_s - palpha_r is a root. This is the same as LeftStringLength. We require that alpha_s != +-alpha_r.
LieConstant_q( R, r, s ) : RootDtm, RngIntElt, RngIntElt -> RngIntElt
The constant q_(rs) for the root datum R, i.e. the largest q such that alpha_s + qalpha_r is a root. This is the same as RightStringLength. We require that alpha_s != +-alpha_r.
CartanInteger( R, r, s) : RootDtm, RngIntElt, RngIntElt -> RngIntElt
The Cartan integer < alpha_r, alpha_s^star > for the root datum R.
LieConstant_N( R, r, s ) : RootDtm, RngIntElt, RngIntElt -> RngIntElt
The Lie algebra structure constant N_(rs) for the root datum R. We require that alpha_s != +-alpha_r.
LieConstant_epsilon( R, r, s ) : RootDtm, RngIntElt, RngIntElt -> RngIntElt
The constant epsilon_(rs)= Sign(N_(rs)) for the root datum R. We require that alpha_s != +-alpha_r.
LieConstant_M( R, r, s, i ) : RootDtm, RngIntElt, RngIntElt, RngIntElt -> RngIntElt
The constant M_(rsi)=(1/(i!))N_(rs_0) ... N_(rs_(i - 1)) where alpha_(s_i) = ialpha_r + alpha_s for the root datum R. We require that alpha_s != +-alpha_r.
LieConstant_C( R, i, j, r, s ) : RootDtm, RngIntElt, RngIntElt, RngIntElt, RngIntElt -> RngIntElt
The Lie group structure constant C_(ijrs) for the root datum R. We require that alpha_s != +-alpha_r and alpha_r + alpha_s in Phi.
LieConstant_eta( R, r, s ) : RootDtm, RngIntElt, RngIntElt -> RngIntElt
The constant

eta_(rs)= ( - 1)^(p_(rs)) frac(epsilon_(r, s - pr) ... epsilon_(r, s - r)) (epsilon_(r, s - pr) ... epsilon_(r, s + (q - p - 1)r))

for the root datum R. We require that alpha_s != +-alpha_r.

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 Construction of Lie Algebras.

Example RootDtm_consts (H80E19)

We check some standard formulas in the root datum of type F_4:

> 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.
p_(rs) is the length of the left string through alpha_s in the direction of alpha_r.

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

> LieConstant_q(R,r,s) eq #RightString(R,r,s);
true
4.
< alpha_s, alpha_r^star >=p_(rs) - q_(rs).

> CartanInteger(R,s,r) eq 
> LieConstant_p(R,r,s) - LieConstant_q(R,r,s);
true
5.
N_(rs) = epsilon_(rs)(p_(rs) + 1).

> LieConstant_N(R,r,s) eq
> LieConstant_epsilon(R,r,s) * ( LieConstant_p(R,r,s) + 1 );
true


 [Next][Prev] [Right] [Left] [Up] [Index] [Root]