There are a number of constants associated with crystallographic root data which are used to define Lie algebras and groups of Lie type. In this section we describe functions for some such constants. We use the notation of [Car72].
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 determine these signs for the root datum RD by giving a sequence s of length NumPosRoots(RD)-Rank(RD) consisting of integers +1 or -1. It is also possible to give s= + 1 instead of a sequence of all +1 and s= - 1 instead of a sequence of all -1. To prevent errors in structures defined with a root datum, these signs can only be set once---an attempt to reset them will cause an error message. A call to any of the functions in this section will cause these constants to be set, if this has not already been done.
The constant p_(rs) for the root datum RD, ie. the largest p so that alpha_s - palpha_r is a root. We require that alpha_s != +-alpha_r.
The constant q_(rs) for the root datum RD, ie. the largest q so that alpha_s + qalpha_r is a root. We require that alpha_s != +-alpha_r.
The Cartan integerA_(rs)=p_(rs) - q_(rs)=< alpha_r, alpha_s^star >=frac(2(alpha_r, alpha_s))((alpha_s, alpha_s))
for the root datum RD.
The Lie algebra structure constant N_(rs) for the root datum RD. This is defined by the formula [e_r, e_s]=N_(rs)e_(r + s), where e_r is the basis element in the Lie algebra corresponding to the root alpha_r (described more fully in the chapter on Lie algebras). We require that alpha_s != +-alpha_r.
The constant epsilon_(rs)= Sign(N_(rs)) for the root datum RD. We require that alpha_s != +-alpha_r.
The constant M_(rsi)=(1/(i!))N_(rs_0) ... N_(rs_(i - 1)) for the root datum RD, where alpha_(s_i) = ialpha_r + alpha_s. We require that alpha_s != +-alpha_r.
The Lie group structure constant C_(ijrs) for the root datum RD. This is determined by the commutator formula [x_r(t), (x_s(u))] = prod_(i, j>0) x_(ialpha_r + jalpha_s)(C_(jisr)t^i( - u)^j) where x_r(t) is the root element in the group of Lie type corresponding to the root alpha_r and constant t (see Subsection The Steinberg presentation). We require that alpha_s != +-alpha_r and alpha_r + alpha_s in Phi.
The constanteta_(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 RD. We require that alpha_s != +-alpha_r.
Structure constants for the semisimple Lie algebra with the same Cartan type as RD (in the sparse format described in the chapter on Lie algebras).
> RD := RootDatum( "F4" ); > N := NumPosRoots( RD ); > r := Random( [1..N] ); > s := Random( [1..r-1] cat [r+1..r+N-1] cat [r+N+1..2*N] );
> C := CartanMatrix( RD ); > C[2,3] eq CartanInteger(RD,2,3); true
> LieConstant_p(RD,r,s) eq #LeftString(RD,r,s); true
> LieConstant_q(RD,r,s) eq #RightString(RD,r,s); true
> LieConstant_A(RD,r,s) eq > LieConstant_p(RD,r,s) - LieConstant_q(RD,r,s); true
> LieConstant_N(RD,r,s) eq > LieConstant_epsilon(RD,r,s) * ( LieConstant_p(RD,r,s) + 1 ); true
> str := [s] cat RightString(RD,r,s); i := #str-1; > LieConstant_M(RD,r,s,i) eq > &*[ LieConstant_N(RD,r,str[j]) : j in [1..i] ] / Factorial(i); true