.. _SectRSIntro:

.. _introduction:

Introduction
============

This chapter describes Magma functions for computing with finite real root
systems. A root system describes the reflections in a reflection group
(Chapter :ref:`ChapGrpRfl`). Root systems are essential in the
theories of finite Coxeter groups (Chapter :ref:`ChapGrpCox`) and
Lie algebras (Chapter :ref:`ChapAlgLie`). See
:cite:`BourbakiLie` for more details on the theory of root systems.
The closely related concept of a root datum is discussed in
Chapter :ref:`ChapRootDtm`.

.. _SubsectRSRfl:

.. _refl:

Reflections
-----------

Let :math:`X` and :math:`Y` be vector spaces over a field :math:`k` with
bilinear pairing :math:`\langle\circ,\circ\rangle:X\times Y\rightarrow k` that
identifies :math:`Y` with the dual of :math:`X`. Given nonzero
:math:`\alpha\in X` and :math:`\alpha^\star\in Y`, the linear map
:math:`s_\alpha:X\rightarrow X` is defined by

.. math:: x s_\alpha= x - \langle x,\alpha^\star\rangle\alpha

and the linear map :math:`s_\alpha^\star:Y\rightarrow Y` by

.. math:: y s_\alpha^\star= y - \langle\alpha,y \rangle\alpha^\star.

These maps are called *reflections* if one of the following equivalent
properties hold: :math:`\langle\alpha,\alpha^\star\rangle=2`;
:math:`{s_\alpha}^2=1`;
:math:`\langle xs_\alpha,ys_\alpha^\star\rangle = \langle x,y\rangle` for all
:math:`x\in X` and :math:`y\in Y`; :math:`\alpha s_\alpha=-\alpha`. The mapping
:math:`s_\alpha^\star` is also called a *coreflection*: this just means it is a
reflection defined on :math:`Y` instead of :math:`X`. “ functions for computing
with reflections are described in Section :ref:`SectRefGrpRfl`.

If :math:`X` has an inner product, then we can take :math:`Y=X` and use the
inner product as our pairing. In , we generally take :math:`X=Y` to be a row
space, with the bilinear pairing given by the standard inner product
:math:`\langle x,y\rangle = xy^T`. However, it is sometimes useful to allow
:math:`X` and :math:`Y` to be distinct subspaces of a row space.

For the purposes of this chapter, :math:`k` will always be the rational field
(Chapter :ref:`FldRat`), a number field
(Chapter :ref:`FldRat`), or a cyclotomic field
(Chapter :ref:`ChapFldCyc`). The real field
(Chapter :ref:`ChapFldRe`) is *not* allowed since it is not infinite
precision.

.. _SubsectRSDefn:

.. _rootsys:

Definition of a Root System
---------------------------

Suppose :math:`\Phi` is a finite subset of :math:`X\setminus \{0\}`. For each
:math:`\alpha` in :math:`\Phi`, suppose a corresponding nonzero
:math:`\alpha^\star` in :math:`Y` is given; set
:math:`\Phi^\star=\{\alpha^\star\mid\alpha\in\Phi\}`. The tuple
:math:`R=(X,\Phi,Y,\Phi^\star)` is called a *root system* if the following
conditions are satisfied for every :math:`\alpha` in :math:`\Phi`

1. :math:`s_\alpha` and :math:`s_\alpha^\star` are reflections;

2. :math:`\Phi` is closed under the action of :math:`s_\alpha`; and

3. :math:`\Phi^\star` is closed under the action of :math:`s_\alpha^\star`.

The set :math:`X` is called the *root space* and :math:`Y` is called the *coroot
space*. The elements of :math:`\Phi` are called *roots* and the elements of
:math:`\Phi^\star` are called *coroots*. A root system is said to be
*crystallographic* if :math:`\langle\alpha,\beta^\star\rangle` is integral for
every root :math:`\alpha` and coroot :math:`\beta^\star`. A root system is
*reduced*, if :math:`\alpha,\beta\in\Phi` with :math:`\beta` a scalar product of
:math:`\alpha` implies :math:`\alpha=\pm\beta`. Note that it is possible for the
set of roots to be empty, in which case the system is called *toral*.

.. _SubsectRSPosSimple:

.. _positive-simple-roots:

Simple and Positive Roots
-------------------------

A subset :math:`\Delta` of :math:`\Phi` is called a set of *simple roots* if

1. :math:`\Delta` is a basis for the span of the roots :math:`k\Phi\le X`; and

2. :math:`\Phi = \Phi^+\cup\Phi^-`, where :math:`\Phi^+` is the set of linear
combinations of elements of :math:`\Delta` with nonnegative coefficients, and
:math:`\Phi^- = -\Phi^+`. Every root system has a set of simple roots. Simple
roots are frequently called fundamental roots. The elements of :math:`\Phi^+`
are called *positive roots* and the elements of :math:`\Phi^-` are called
*negative roots*. The coroots corresponding to the simple (respectively,
positive, negative) roots are the *simple* (respectively, *positive*,
*negative*) *coroots*.

The *rank* of a root system is the size of :math:`\Delta`, i.e. the dimension of
the subspace :math:`k\Phi`. The rank cannot be larger than the *dimension* of
the root system (i.e. the dimension of :math:`X`); if the rank and dimension are
equal, the root system is said to be *semisimple*.

Choose a basis :math:`e_1,\dots,e_d` for :math:`X` and a dual basis
:math:`f_1,\dots,f_d` for :math:`Y`, so that
:math:`\langle e_i,f_j\rangle=\delta_{ij}`. A reduced root system is determined
by a pair of real matrices :math:`A` and :math:`B` where the rows of :math:`A`
are the simple roots and the rows of :math:`B` are the corresponding coroots;
i.e. :math:`A_{ij}=\langle\alpha_i,f_j\rangle` and
:math:`B_{ij}=\langle e_j,\alpha_i^\star\rangle`.

.. _SubsectRSCoxGrp:

.. _positive-simple-roots:

The Coxeter Group
-----------------

The group :math:`W` generated by the reflections :math:`s_\alpha`, for
:math:`\alpha` a simple root, is a finite Coxeter group. The *Cartan matrix* of
a root system is

.. math::

   C =
     \left(\left\langle\,\alpha_i,\alpha_j^\star\,\right\rangle\right)_{i,j=1}^n =
     AB^t.

Note that the root system is crystallographic if, and only if, its Cartan matrix
is crystallographic. As in Chapter :ref:`ChapCartan`, the Cartan
matrix is used to define the Coxeter matrix, Coxeter graph, and Dynkin digraph
of a root system.

The classification of Section :ref:`SectCartanFinAff` applies
to reduced semisimple root systems. The isomorphism class of a reduced root
system is determined by its Coxeter graph and its dimension.

A *Coxeter form* is a :math:`W`-invariant bilinear form on :math:`X`. If
:math:`R` is reduced and irreducible, then the roots can have at most two
different lengths with respect to this form. We call the roots *long* or *short*
accordingly. The Coxeter form is normalised so that the short roots in each
component have length one. Note that, even if :math:`X=Y`, this form will
generally not be the same as the pairing :math:`\langle\circ,\circ\rangle`;
however it can be arranged for them to be the same (see ).

.. _SubsectRSNonRed:

.. _nonred-root-systems:

Nonreduced Root Systems
-----------------------

A root system is *reduced*, if :math:`\alpha,\beta\in\Phi` with :math:`\beta` a
scalar product of :math:`\alpha` implies :math:`\alpha=\pm\beta`. A root
:math:`\alpha` with the property :math:`2\alpha\notin \Phi` is called *reduced*.
A root :math:`\alpha` with the property :math:`{1\over 2}\alpha\in\Phi` is
called *divisible*. If :math:`R` is a root system, then the set :math:`R_0` of
indivisible roots in :math:`R` form the *indivisible subsystem*.

Let :math:`R` be a nonreduced irreducible *crystallographic* root system of rank
:math:`n`. It can be shown that :math:`R_0` is irreducible of type of type
:math:`B_n` and every root is either in :math:`R_0`, or is two times a short
root of :math:`R_0`. The Cartan type of :math:`R` in this case is :math:`BC_n`.
For noncrystallographic root systems the situation is more complex.

Note that the Cartan matrix, Coxeter matrix, Coxeter diagram, Coxeter group and
Dynkin diagram are the same for :math:`R` and :math:`R_0`. Thus, when creating a
non-reduced crystallographic root system for a given Cartan matrix, Coxeter
matrix, Coxeter diagram, Coxeter group or Dynkin diagram, one must specify the
set of nonreduced simple roots. For example, let :math:`C` be a cartan matrix of
type :math:`B_2\times B_3`. Then the set of non-reduced fundamental roots can be
one of :math:`\emptyset`, :math:`\{2\}`, :math:`\{5\}`, or :math:`\{2,5\}`, in
which cases the root system will be of types :math:`B_2\times B_3`,
:math:`BC_2\times B_3`, :math:`B_2\times BC_3`, or :math:`BC_2\times BC_3`
respectively.
