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 ci,i=2, ci,j ≤ 0 is i ≠ j, and ci,j=0 if and only if cj,i=0. We say that C is indecomposable if it does not admit any block decomposition.
Let C be a generalized Cartan matrix. For I a subset of {1,...,n} we denote by CI the square submatrix with indices i,j taken in I. If v is a real vector of length n, we write v>0 if for all i∈{1,...,n} we have vi>0. It can be shown that C is a Cartan matrix if and only if for all sets I, we have det CI>0; or equivalently, if and only if there exists v>0 such that C.v>0. C is called an affine Cartan matrix if for all proper subsets I we have det CI>0, but det C=0; or equivalently if there exists v>0 such that C.v=0.
Given an irreducible Weyl group W with Cartan matrix C, we can construct a generalized Cartan matrix ~ C as follows. Let α0 be the opposed of the highest root. Then the matrix
( |
| ) |
Let d=n-l. A realization of a generalized Cartan matrix is a pair V,V∨ of vector spaces of dimension n+d together with vectors α1,...,αn∈ V (the simple roots), α∨1,...,α∨n∈ V∨ (the simple coroots), such that (α∨i, αj)=ci,j. Up to isomorphism, a realization is obtained as follows: write C=(
C1 |
C2 |
( |
| ). |
The Affine Weyl group is infinite; it has one additional generator s0
(the reflection with respect to α0) compared to W. In GAP3 we
can not use 0 as a label by default for a generator of a Coxeter group
(because the default labels are used as indices, and indices start at 1 in
GAP3) so we label it as n+1
where n
is the numbers of generators of
W. The user can change that by setting the field .reflectionsLabels
of
~ W to Concatenation([1..n],[0])
. As in the finite case, we
associate to the realization of ~ W a Dynkin diagram. We get the
following diagrams:
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 V.
Affine( W )
This function returns the affine Weyl corresponding to the Weyl group W.
102.2 Operations and functions for Affine Weyl groups
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(W)
and PrintDiagram(W)
are also defined and
print an appropriate representation of 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