In this chapter we describe functions dealing with affine Coxeter groups and Hecke algebras.

We follow the presentation in Kac, §1.1 and 3.7.

A **generalized Cartan matrix** *C* is a matrix of integers

of size *n× n* and of rank *l* such that *c _{i,i}=2*,

Let *C* be a generalized Cartan matrix. For *I* a subset of
*{1,...,n}* we denote by *C _{I}* the square submatrix with indices

Given an irreducible Weyl group *W* with Cartan matrix *C*, we can
construct a generalized Cartan matrix * ^{~} C* as follows. Let

( |
| ) |

Let *d=n-l*. A **realization** of a generalized Cartan matrix is a pair
*V,V ^{∨}* of vector spaces of dimension

C_{1} |

C_{2} |

( |
| ). |

The Affine Weyl group is infinite; it has one additional generator *s _{0}*
(the reflection with respect to

`n+1`

where `n`

is the numbers of generators of
`.reflectionsLabels`

of
`Concatenation([1..n],[0])`

. As in the finite case, we
associate to the realization of

gap> PrintDiagram(Affine(CoxeterGroup("A",1))); # infinite bond A1~ 1 oo 2 gap> PrintDiagram(Affine(CoxeterGroup("A",5))); # for An, n not 1 - - - 6 - - - / \ A5~ 1 - 2 - 3 - 4 - 5 gap> PrintDiagram(Affine(CoxeterGroup("B",4))); # for Bn 5 | B4~ 1 < 2 - 3 - 4 gap> PrintDiagram(Affine(CoxeterGroup("C",4))); # for Cn C4~ 1 > 2 - 3 - 4 < 5 gap> PrintDiagram(Affine(CoxeterGroup("D",6))); # for Dn D6~ 1 7 \ / 3 - 4 - 5 / \ 2 6 gap> PrintDiagram(Affine(CoxeterGroup("E",6))); 7 | 2 | E6~ 1 - 3 - 4 - 5 - 6 gap> PrintDiagram(Affine(CoxeterGroup("E",7))); 2 | E7~ 8 - 1 - 3 - 4 - 5 - 6 - 7 gap> PrintDiagram(Affine(CoxeterGroup("E",8))); 2 | E8~ 1 - 3 - 4 - 5 - 6 - 7 - 8 - 9 gap> PrintDiagram(Affine(CoxeterGroup("F",4))); F4~ 5 - 1 - 2 > 3 - 4 gap> PrintDiagram(Affine(CoxeterGroup("G",2))); G2~ 3 - 1 > 2

We represent in **GAP3** the group * ^{~} W* as a matrix group in the space

`Affine( `

`W` )

This function returns the affine Weyl corresponding to the Weyl group `W`.

All matrix group operations are defined on Affine Weyl groups, as well as all functions defined for abstract Coxeter groups (in particular Hecke algebras and their Kazhdan-Lusztig bases).

The functions `Print(`

and `W`)`PrintDiagram(`

are also defined and
print an appropriate representation of `W`)`W`:

gap> W:=Affine(CoxeterGroup("A",4)); Affine(CoxeterGroup("A",4)) gap> PrintDiagram(W); - - 5 - - / \ A4~ 1 - 2 - 3 - 4

The function `ReflectionLength`

is also defined, using the formula of
Lewis, McCammond, Petersen and Schwer.

`AffineRootAction(`

`W`,`w`,`x`)

The Affine Weyl group `W` can be realized as affine transformations on the
vector space spanned by the roots of `W.linear`

. Given a vector `x`
expressed in the basis of simple roots of `W.linear`

and `w` in `W`, this
function returns returns the image of `x` under `w` realized as an affine
transformation.

gap3-jm

19 Feb 2018