.. _SectRDConst: .. _constants-root-datum: 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 :cite:`Carter-small` will be used, except that the constants are defined for right actions rather than left actions :cite:`CohenMurrayTaylor`. .. magma:function:: ExtraspecialPairs(R) :input_types: RootDtm :output_types: SeqEnum :label: ExtraspecialPairs_RootDtm The sequence of extraspecial pairs of the root datum :math:`R` (see :raw-latex:`\cite[page 58]{Carter-small}`). That is the sequence :math:`[(r_i,s_i)]_{i=1}^{N-n}` where :math:`r_i` is minimal such that :math:`\alpha_{r_i}+\alpha_{s_i}=\alpha_{i+n}` (:math:`n` is the rank of :math:`R` and :math:`N` is the number of positive roots). .. magma:function:: NumExtraspecialPairs(R) :input_types: RootDtm :output_types: SeqEnum :label: NumExtraspecialPairs_RootDtm The number of extraspecial pairs of the root datum :math:`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. .. magma:function:: ExtraspecialPair(R,r) :input_types: RootDtm, RngIntElt :output_types: SeqEnum :label: ExtraspecialPair_RootDtm_RngIntElt The extraspecial pair of the :math:`r`\ th root in the root datum :math:`R`. That is the pair :math:`(s,t)` where :math:`s` is minimal such that :math:`\alpha_{s}+\alpha_{t}=\alpha_{r}`. .. magma:function:: ExtraspecialSigns(R) :input_types: RootDtm :output_types: [] :label: ExtraspecialSigns_RootDtm Return the sequence of extraspecial signs of the root datum :math:`R`. .. magma:function:: LieConstant\_p(R, r, s) :input_types: RootDtm, RngIntElt, RngIntElt :output_types: RngIntElt The constant :math:`p_{rs}` for the root datum :math:`R`, i.e. the largest :math:`p` such that :math:`\alpha_s-p\alpha_r` is a root. This is the same as . The condition :math:`\alpha_s\ne\pm\alpha_r` must be satisfied. .. magma:function:: LieConstant\_q(R, r, s) :input_types: RootDtm, RngIntElt, RngIntElt :output_types: RngIntElt The constant :math:`q_{rs}` for the root datum :math:`R`, i.e. the largest :math:`q` such that :math:`\alpha_s+q\alpha_r` is a root. This is the same as . The condition :math:`\alpha_s\ne\pm\alpha_r` must be satisfied. .. magma:function:: CartanInteger(R, r, s) :input_types: RootDtm, RngIntElt, RngIntElt :output_types: RngIntElt :label: CartanInteger_RootDtm_RngIntElt_RngIntElt The Cartan integer :math:`\langle\alpha_r,\alpha_s^\star\rangle` for the root datum :math:`R`. .. magma:function:: LieConstant\_N(R, r, s) :input_types: RootDtm, RngIntElt, RngIntElt :output_types: RngIntElt The Lie algebra structure constant :math:`N_{rs}` for the root datum :math:`R`. The condition :math:`\alpha_s\ne\pm\alpha_r` must be satisfied. .. magma:function:: LieConstant\_epsilon(R, r, s) :input_types: RootDtm, RngIntElt, RngIntElt :output_types: RngIntElt The constant :math:`\epsilon_{rs}= \hbox{Sign}(N_{rs})` for the root datum :math:`R`. The condition :math:`\alpha_s\ne\pm\alpha_r` must be satisfied. .. magma:function:: LieConstant\_M(R, r, s, i) :input_types: RootDtm, RngIntElt, RngIntElt, RngIntElt :output_types: RngIntElt The constant :math:`M_{rsi}={1\over{i!}}N_{s_0r}\cdots N_{s_{i-1}r}` where :math:`\alpha_{s_i} = i\alpha_r+\alpha_s` for the root datum :math:`R`. The condition :math:`\alpha_s\ne\pm\alpha_r` must be satisfied. .. magma:function:: LieConstant\_C(R, i, j, r, s) :input_types: RootDtm, RngIntElt, RngIntElt, RngIntElt, RngIntElt :output_types: RngIntElt The Lie group structure constant :math:`C_{ijrs}` for the root datum :math:`R`. The conditions :math:`\alpha_s\ne\pm\alpha_r` and :math:`\alpha_r+\alpha_s\in\Phi` must be satisfied. .. magma:function:: LieConstant\_eta(R, r, s) :input_types: RootDtm, RngIntElt, RngIntElt :output_types: RngIntElt The constant .. math:: \eta_{rs}= (-1)^{p_{rs}} {\epsilon_{r,s-pr}\cdots \epsilon_{r,s-r}\over \epsilon_{r,s-pr}\cdots \epsilon_{r,s+(q-p-1)r}} for the root datum :math:`R`. The condition :math:`\alpha_s\ne\pm\alpha_r` must be satisfied. .. magma:function:: StructureConstants(R) :input_types: RootDtm :output_types: RngIntElt :label: StructureConstants_RootDtm The Lie algebra structure constants for the reductive Lie algebra with root datum :math:`R` in the sparse format described in Section :ref:`SectAlgLieConstr`. .. magma:example:: Example: consts :label: consts The code below verifies some standard formulas in the root datum of type :math:`F_4`: 1. Agreement of the Cartan matrix with the Cartan integers. 2. :math:`p_{rs}` is the length of the left string through :math:`\alpha_s` in the direction of :math:`\alpha_r`. 3. :math:`q_{rs}` is the length of the right string through :math:`\alpha_s` in the direction of :math:`\alpha_r`. 4. :math:`\langle\alpha_s,\alpha_r^\star\rangle=p_{rs}-q_{rs}`. 5. :math:`N_{rs} = \epsilon_{rs}(p_{rs}+1)`. .. code-block:: magma > 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 %%a> assert $1; > LieConstant_p(R,r,s) eq #LeftString(R,r,s); true %%a> assert $1; > LieConstant_q(R,r,s) eq #RightString(R,r,s); true %%a> assert $1; > CartanInteger(R,s,r) eq > LieConstant_p(R,r,s) - LieConstant_q(R,r,s); true %%a> assert $1; > LieConstant_N(R,r,s) eq > LieConstant_epsilon(R,r,s) * (LieConstant_p(R,r,s) + 1); true %%a> assert $1;