.. _SectLieIntroGrpCox:

.. _groups:

Coxeter and Reflection Groups
=============================

Three different methods are provided for computing with a Coxeter group: the
Coxeter presentation, the permutation representation on roots, or a reflection
representation.

For most purposes, the presentation will be the most useful of these
descriptions. The standard normal form is used for elements (the
lexicographically least word of minimal length). Robert Howlett has implemented
his highly efficient method for normalising and multiplying elements, based on
ideas from :cite:`BrinkHowlett93`.

If the Coxeter group is finite, it is often better to use the permutation
representation. Note that elements are represented as permutations on the set of
roots. This is not the minimal degree representation, but is more useful in many
cases.

Finally, Coxeter groups can be represented as a reflection group over the reals
(in practice over a number field, since the reals are not infinite precision).
Although functions are provided for creating reflection groups over an arbitrary
field, fewer facilities are available for such groups. In addition, functions
are provided to construct all the finite *complex* reflection groups.

Efficient functions are provided for converting between these three forms of
Coxeter group.

This is described in Chapters :ref:`ChapGrpCox`
and :ref:`ChapGrpRfl`.
