The Iwahori Hecke algebra is defined
in [Iwahori1964]. In that original paper, the algebra occurs as the
convolution ring of functions on a -adic group that are compactly
supported and invariant both left and right by the Iwahori subgroup.
However Iwahori determined its structure in terms of generators and
relations, and it turns out to be a deformation of the group algebra
of the affine Weyl group.
Once the presentation is found, the Iwahori Hecke algebra can be
defined for any Coxeter group. It depends on a parameter which in
Iwahori’s paper is the cardinality of the residue field. But it could
just as easily be an indeterminate.
Then the Iwahori Hecke algebra has the following description. Let
be a Coxeter group, with generators (simple reflections)
. They satisfy the relations
and the braid
relations
where the number of terms on each side is the order of .
The Iwahori Hecke algebra has a basis subject to
relations that resemble those of the
. They satisfy the braid
relations and the quadratic relation
This can be modified by letting and
be two indeterminates
and letting
In this generality, Iwahori Hecke algebras have significance far
beyond their origin in the representation theory of -adic
groups. For example, they appear in the geometry of Schubert
varieties, where they are used in the definition of the
Kazhdan-Lusztig polynomials. They appear in connection with quantum
groups, and in Jones’s original paper on the Jones polynomial.
Here is how to create an Iwahori Hecke algebra (in the basis):
sage: R.<q> = PolynomialRing(ZZ)
sage: H = IwahoriHeckeAlgebra("B3",q)
sage: T = H.T(); T
Iwahori-Hecke algebra of type B3 in q,-1 over Univariate Polynomial Ring
in q over Integer Ring in the T-basis
sage: T1,T2,T3 = T.algebra_generators()
sage: T1*T1
(q-1)*T[1] + q
If the Cartan type is affine, the generators will be numbered starting with T0 instead of T1.
You may coerce a Weyl group element into the Iwahori Hecke algebra:
sage: W = WeylGroup("G2",prefix="s")
sage: [s1,s2] = W.simple_reflections()
sage: P.<q> = LaurentPolynomialRing(QQ)
sage: H = IwahoriHeckeAlgebra("B3",q)
sage: T = H.T()
sage: T(s1*s2)
T[1,2]