.. _SectRDRel:

.. _related-structures:

Related Structures
==================

In this section functions for creating other structures from a root datum are
briefly listed. See the appropriate chapters of the Handbook for more details.

.. magma:function:: RootSystem(R)
   :input_types: RootDtm
   :output_types: RootSys
   :label: RootSystem_RootDtm

   The root system corresponding to the root datum :math:`R`. See
   Chapter :ref:`ChapRootSys`.

.. magma:function:: CoxeterGroup(grpcat, R)
   :input_types: Cat, RootDtm
   :output_types: grpcat
   :label: CoxeterGroup_Cat_RootDtm

   The Coxeter group (of type ``grpcat``) of a root datum :math:`R`. There are
   variations of this signature. The first argument can be ``GrpMat``,
   ``GrpPermCox``, ``GrpPerm``, ``GrpFPCox`` or ``GrpFP`` and the second argument
   can be a root system or root datum. (See
   Chapter :ref:`ChapGrpCox`.) If the first argument is ``GrpFPCox``
   the braid group and pure braid group can be computed from the Coxeter group
   using the commands in Section :ref:`SectGrpCoxBraid`.

.. magma:function:: CoxeterGroup(R)
   :input_types: RootDtm
   :output_types: GrpPermCox
   :label: CoxeterGroup_RootDtm

.. magma:function:: WeylGroup(R)
   :input_types: RootDtm
   :output_types: GrpPermCox
   :label: WeylGroup_RootDtm

The permutation Coxeter group with root datum :math:`R`. See
Chapter :ref:`ChapGrpPermCox`.

.. magma:function:: CoxeterGroup(GrpPermCox, R)
   :input_types: Cat, RootDtm
   :output_types: GrpPermCox
   :label: CoxeterGroup_Cat_RootDtm_2

.. magma:function:: ReflectionGroup(R)
   :input_types: RootDtm
   :output_types: GrpMat
   :label: ReflectionGroup_RootDtm

   The reflection group of the root datum :math:`R`. See
   Chapter :ref:`ChapGrpRfl`.

.. magma:function:: LieAlgebraHomorphism(phi,k)
   :input_types: Map, Rng
   :output_types: AlgLie
   :label: LieAlgebraHomorphism_Map_Rng

   The homomorphism of reductive Lie algebras over the ring :math:`k` corresponding
   to the root datum morphism :math:`\phi`. See
   Chapter :ref:`ChapAlgLie`.

.. magma:function:: LieAlgebra(R, k)
   :input_types: RootDtm, Rng
   :output_types: AlgLie
   :label: LieAlgebra_RootDtm_Rng

   The reductive Lie algebra over the ring :math:`k` with root datum :math:`R`. See
   Chapter :ref:`ChapAlgLie`.

.. magma:function:: GroupOfLieType(R, k)
   :input_types: RootDtm, Rng
   :output_types: GrpLie
   :label: GroupOfLieType_RootDtm_Rng

   The group of Lie type over the ring :math:`k` with root datum :math:`R`. See
   Chapter :ref:`ChapGrpLie`.

.. magma:function:: GroupOfLieTypeHomomorphism(phi, k)
   :input_types: Map, Rng
   :output_types: GrpLie
   :label: GroupOfLieTypeHomomorphism_Map_Rng

   The algebraic homomorphism of groups of Lie type over the ring :math:`k`
   corresponding to the root datum morphism :math:`\phi`. See
   Chapter :ref:`ChapGrpLie`.

.. magma:example:: Example: Related
   :label: Related

   .. code-block:: magma

      > R := RootDatum("b3");
      > SemisimpleType(LieAlgebra(R, Rationals()));
      B3
      > #CoxeterGroup(R);
      48
      %%a> assert $1 eq 48;
      > GroupOfLieType(R, Rationals());
      \$: Group of Lie type B3 over Rational Field
