Introduction

This chapter describes Magma functions for computing with Coxeter groups. A Coxeter system is a group G with finite generating set S={s1, ..., sn}, defined by relations si2=1 for i=1, ..., n and

sisjsi ... = sjsisj ... for i, j=1, ..., n with i<j, where each side of this relation has length mij≥2. Traditionally, mij=∞ signifies that the corresponding relation is omitted but, for technical reasons, mij=0 is used in Magma instead. The group G is called a Coxeter group and S is called the set of Coxeter generators. Since every group in Magma has a preferred generating set, no distinction is made between a Coxeter system and its Coxeter group. See [Bou68] for more details on the theory of Coxeter groups.

The rank of the Coxeter system is n=|S|. A Coxeter system is said to be reducible if there is a proper subset I of {1, ..., n} such that mij=2 or mji=2 whenever i∈I and j∉I. In this case, G is an (internal) direct product of the Coxeter subgroups WI=< si | i ∈I > and WIc=< si | i ∉I >. Note that an irreducible Coxeter group may still be a nontrivial direct product of abstract subgroups (for example, W(G2) isomorphic to S2 x S3). Two Coxeter groups are Coxeter isomorphic if there is a group isomorphism between them which takes Coxeter generators to Coxeter generators. In other words, the two groups are the same modulo renumbering of the generators.

Magma provides three methods for working with Coxeter groups:

1.
As a finitely presented group with the standard presentation given above. These groups have type GrpFPCox. See Chapter FINITELY PRESENTED GROUPS for general functions for finitely presented groups.

2.
As a permutation group acting on the roots of the root system. Clearly the group must be finite. These groups have type GrpPermCox. See Chapter PERMUTATION GROUPS for general functions for permutation groups.

3.
As a reflection group, i.e. a matrix group generated by reflections. These groups have the same type as general matrix groups ( GrpMat). They can be distinguished with the IsReflectionGroup function.

The first two methods are described in this chapter. The third is described in Chapter REFLECTION GROUPS.

A permutation Coxeter group always has an underlying root system or root datum, and so many commands involving roots also work for these groups. A finitely presented Coxeter group does not have such an underlying structure.

The code for Coxeter groups as permutation groups was originally modelled on the corresponding part of the Chevie package of GAP [GHL+96] by Meinholf Geck, Frank Lübeck, Jean Michel and Götz Pfeiffer.

Contents

The Normal Form for Words

Every element w of a Coxeter group W can be written as a word

w = r1 r2 ... rl

with each ri in S. A reduced expression for w is such a word with l minimal; in this case, l is defined to be the length of w.

An ordering on words in S is obtained by taking the lexicographic (alphabetic) order induced by the existing ordering on S. The normal form for w in W is the smallest reduced expression for w with respect to this ordering. Algorithms for efficiently computing this normal form have been developed and implemented by R. B. Howlett. These algorithms are based on the concept of a minimal root [Bri98], [BH93].

The main difference of the category of Coxeter groups ( GrpFPCox) from the category of finitely presented groups (GrpFP) is that that all words are automatically put into this normal form. In particular, this means that two words are equal if, and only if, they are equal as group elements. Coxeter groups can also be constructed in the category GrpFP if the user wishes to avoid automatic normalisation of elements (see Section Converting Between Types of Coxeter Group).

V2.28, 13 July 2023