.. _SectCartanRelated:

.. _related:

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

In this section functions for creating other structures from Coxeter matrices,
Coxeter graphs, Cartan matrices, Dynkin diagrams, and Cartan names are listed.
The reader is referred to the appropriate sections of the Handbook for more
details.

.. magma:function:: RootSystem(M)
   :input_types: AlgMatElt
   :output_types: RootSys
   :label: RootSystem_AlgMatElt

.. magma:function:: RootSystem(G)
   :input_types: GrphUnd
   :output_types: RootSys
   :label: RootSystem_GrphUnd

.. magma:function:: RootSystem(C)
   :input_types: AlgMatElt
   :output_types: RootSys
   :label: RootSystem_AlgMatElt_2

.. magma:function:: RootSystem(D)
   :input_types: GrphDir
   :output_types: RootSys
   :label: RootSystem_GrphDir

.. magma:function:: RootSystem(N)
   :input_types: MonStgElt
   :output_types: RootSys
   :label: RootSystem_MonStgElt

   The finite root system of a Coxeter matrix :math:`M`, Coxeter graph :math:`G`,
   Cartan matrix :math:`C`, Dynkin digraph :math:`D`, or Cartan name given by the
   string :math:`N`. If the corresponding Coxeter group is infinite, an error is
   flagged. See Chapter :ref:`ChapRootSys`.

.. magma:function:: RootDatum(C)
   :input_types: AlgMatElt
   :output_types: RootDtm
   :label: RootDatum_AlgMatElt

.. magma:function:: RootDatum(M)
   :input_types: AlgMatElt
   :output_types: RootDtm
   :label: RootDatum_AlgMatElt_2

.. magma:function:: RootDatum(G)
   :input_types: GrphUnd
   :output_types: RootDtm
   :label: RootDatum_GrphUnd

.. magma:function:: RootDatum(D)
   :input_types: GrphDir
   :output_types: RootDtm
   :label: RootDatum_GrphDir

.. magma:function:: RootDatum(N)
   :input_types: MonStgElt
   :output_types: RootDtm
   :label: RootDatum_MonStgElt

   The finite root datum of a crystallographic Cartan matrix :math:`C`, Coxeter
   matrix :math:`M`, Coxeter graph :math:`G`, Dynkin digraph :math:`D`, or Cartan
   name given by the string :math:`N`. If the corresponding Coxeter group is
   infinite, an error is flagged. See Chapter :ref:`ChapRootDtm`.

.. magma:function:: CoxeterGroup(grpcat, M)
   :input_types: Cat, AlgMatElt
   :output_types: grpcat
   :label: CoxeterGroup_Cat_AlgMatElt

.. magma:function:: CoxeterGroup(grpcat, G)
   :input_types: Cat, GrphUnd
   :output_types: grpcat
   :label: CoxeterGroup_Cat_GrphUnd

.. magma:function:: CoxeterGroup(grpcat, D)
   :input_types: Cat, GrphDir
   :output_types: grpcat
   :label: CoxeterGroup_Cat_GrphDir

.. magma:function:: CoxeterGroup(grpcat, N)
   :input_types: Cat, MonStgElt
   :output_types: grpcat
   :label: CoxeterGroup_Cat_MonStgElt

The Coxeter group in the category given by the first argument, which can be (a
reflection group), , ``GrpFP`` (a finitely presented group), or ``GrpPerm`` (a
permutation group).

The second argument can be a Coxeter matrix, a Cartan matrix, a Coxeter graph, a
Dynkin digraph, or a Cartan name given by a string.

If the first argument is or ``GrpPerm`` and the corresponding Coxeter group is
infinite, an error is flagged. See Chapter :ref:`ChapGrpCox`.

.. magma:function:: CoxeterGroup(M)
   :input_types: AlgMatElt
   :output_types: Grp
   :label: CoxeterGroup_AlgMatElt

.. magma:function:: CoxeterGroup(C)
   :input_types: AlgMatElt
   :output_types: Grp
   :label: CoxeterGroup_AlgMatElt_2

.. magma:function:: CoxeterGroup(G)
   :input_types: GrphUnd
   :output_types: Grp
   :label: CoxeterGroup_GrphUnd

.. magma:function:: CoxeterGroup(D)
   :input_types: GrphDir
   :output_types: Grp
   :label: CoxeterGroup_GrphDir

.. magma:function:: CoxeterGroup(N)
   :input_types: MonStgElt
   :output_types: Grp
   :label: CoxeterGroup_MonStgElt

The Coxeter group of a Coxeter matrix, a Cartan matrix, Coxeter graph, a Dynkin
digraph or the Cartan name given by a string. If the resulting Coxeter group is
finite, it is returned as a permutation group; otherwise it is returned as a
finitely presented group.

.. magma:function:: ReflectionGroup(M)
   :input_types: AlgMatElt
   :output_types: GrpMat
   :label: ReflectionGroup_AlgMatElt

.. magma:function:: ReflectionGroup(G)
   :input_types: GrphUnd
   :output_types: GrpMat
   :label: ReflectionGroup_GrphUnd

.. magma:function:: ReflectionGroup(C)
   :input_types: AlgMatElt
   :output_types: GrpMat
   :label: ReflectionGroup_AlgMatElt_2

.. magma:function:: ReflectionGroup(D)
   :input_types: GrphDir
   :output_types: GrpMat
   :label: ReflectionGroup_GrphDir

.. magma:function:: ReflectionGroup(N)
   :input_types: MonStgElt
   :output_types: GrpMat
   :label: ReflectionGroup_MonStgElt

   The reflection group of a Coxeter matrix :math:`M`, Coxeter graph :math:`G`,
   Cartan matrix :math:`C`, Dynkin digraph :math:`D`, or Cartan name given by the
   string :math:`N`. See Chapter :ref:`ChapGrpRfl`.

.. magma:function:: LieAlgebra(C, k)
   :input_types: AlgMatElt, Rng
   :output_types: AlgLie
   :label: LieAlgebra_AlgMatElt_Rng

.. magma:function:: LieAlgebra(D, k)
   :input_types: GrphDir, Rng
   :output_types: AlgLie
   :label: LieAlgebra_GrphDir_Rng

.. magma:function:: LieAlgebra(N, k)
   :input_types: MonStgElt, Rng
   :output_types: AlgLie
   :label: LieAlgebra_MonStgElt_Rng
   :parameters: Isogeny : Any : ``Ad"

   The Lie algebra over the ring :math:`k` of a crystallographic Cartan matrix
   :math:`C`, Dynkin digraph :math:`D`, or Cartan name given by the string
   :math:`N`. The Lie algebra is constructed from a root datum with the given
   ``Isogeny`` (see Subsection :ref:`SubsectRDIsogeny`). If the
   corresponding Coxeter group is infinite, an error is flagged. See
   Chapter :ref:`ChapAlgLie`.

.. magma:function:: MatrixLieAlgebra(C, k)
   :input_types: AlgMatElt, Rng
   :output_types: AlgLie
   :label: MatrixLieAlgebra_AlgMatElt_Rng

.. magma:function:: MatrixLieAlgebra(D, k)
   :input_types: GrphDir, Rng
   :output_types: AlgLie
   :label: MatrixLieAlgebra_GrphDir_Rng

.. magma:function:: MatrixLieAlgebra(N, k)
   :input_types: MonStgElt, Rng
   :output_types: AlgLie
   :label: MatrixLieAlgebra_MonStgElt_Rng

   The Lie algebra over the ring :math:`k` of a crystallographic Cartan matrix
   :math:`C`, Dynkin digraph :math:`D`, or Cartan name given by the string
   :math:`N`. If the corresponding Coxeter group is infinite, an error is flagged.
   See Chapter :ref:`ChapAlgLie`.

.. magma:function:: GroupOfLieType(C, k)
   :input_types: AlgMatElt, Rng
   :output_types: GrpLie
   :label: GroupOfLieType_AlgMatElt_Rng

.. magma:function:: GroupOfLieType(D, k)
   :input_types: GrphDir, Rng
   :output_types: GrpLie
   :label: GroupOfLieType_GrphDir_Rng

.. magma:function:: GroupOfLieType(N, k)
   :input_types: MonStgElt, Rng
   :output_types: GrpLie
   :label: GroupOfLieType_MonStgElt_Rng

   The group of Lie type over the ring :math:`k` of a crystallographic Cartan
   matrix :math:`C`, Dynkin digraph :math:`D`, or Cartan name given by the string
   :math:`N`. If the corresponding Coxeter group is infinite, an error is flagged.
   See Chapter :ref:`ChapGrpLie`.
