Let W be a finite Coxeter group with generators {s1, ..., sn}, and H = H(W, R, {qi}) a corresponding Iwahori-Hecke algebra over the ring R as defined in chapter Iwahori-Hecke algebras. We shall now describe functions for dealing with representations and characters of H.
The fact that the algebra H is given by a presentation makes it particularly easy to work with representations. Assume we are given any set of matrices M1,...,Mn ∈ Rd x d. The fact that H is given by generators and defining relations immediately implies that there is a (unique) representation ρ:H → Rd x d such that ρ(Tsi)=Mi for all i, if and only if the matrices Mi satisfy the same relations as those for the generators Tsi of H.
A general approach for the construction of representations is in terms of
W-graphs, see KL79, p.165. Any such W-graph carries a
representation of H. Note that, for these purposes, it is necessary to
assume that the parameters of H are squares of some elements of the
ground ring. The simplest example, the standard W-graph defined in
KL79, Ex.~6.2 yields a `deformation' of the natural reflection
representation of W. This can be produced in CHEVIE using the
function HeckeReflectionRepresentation
.
Another possibility to construct W-graphs is by using the Kazhdan-Lusztig theory of left cells (see KL79); see the following chapter for more details.
In a similar way as the ordinary character table of the finite Coxeter group W is defined, one also has a character table for the Iwahori-Hecke algebra H in the case when the ground ring A is a field such H is split and semisimple. The generic choice for such a ground ring is the rational function field K=\overlineQ(v1, ...,vn) where the parameters of the corresponding algebra HK are given by qi=vi2 for all i.
By Tits' Deformation Theorem (see CR87, Sec.~68, for example), the algebra HK is (abstractly) isomorphic to the group algebra of W over K. Moreover, we have a bijection between the irreducible characters of HK and W, given as follows. Let χ be an irreducible character of HK. Then we have χ(Tw) ∈ A where A=\overlineZ[v1,...,vn] and \overlineZ denotes the ring of algebraic integers in \overlineQ. We can find a ring homomorphism f : A → \overlineQ such that f(a)=a for all a ∈ \overlineZ and f(vi)=1 for i=1,...,n. Then it turns out that the function χf : w → f(χ(Tw)) is an irreducible character of W, and the assignment χ → χf defines a bijection between the irreducible characters of HK and W.
Now this bijection does depend on the choice of f. But one should keep in mind that this only plays a role in the case where W is a non-crystallographic Coxeter group. In all other cases, as is well-known, the character table of W is rational; moreover, the values of the irreducible characters of HK at basis elements Tw lie in the ring Z[v1,...,vn].
The character table of HK is defined to be the square matrix (χ(Tw)) where χ runs over the irreducible characters of HK and w runs over a set of representatives of minimal length in the conjugacy classes of W. The character tables of Iwahori-Hecke algebras (in this sense) are known for all types: the table for type A was first computed by Starkey (see the description of his work in Car86); then different descriptions with different proofs were given in Ram91 and Pfe94b. The tables for the non crystallographic types I2(m), H3, H4 can be constructed from the explicit matrix representations given in CR87, Sec.~67C, Lus81 and AL82, respectively. For the classical types B and D see HR94 and Pfe96. The tables for the remaining exceptional types were computed in Gec94, Gec95 and GM97.
If H is an Iwahori-Hecke algebra over an arbitrary ground ring R as
above, then the GAP function CharTable
applied to the corresponding
record returns a character table record which is build up in exactly the
same way as for the finite Coxeter group W itself but where the record
component irreducibles
contains the character values which are obtained
from those of the generic multi-parameter algebra HK by specializing
the indeterminates vi to the variables in sqrtParameters
.
HeckeReflectionRepresentation( W )
returns a list of matrices which give the reflection representation of
the Iwahori-Hecke algebra corresponding to the Coxeter group W. The
function Hecke
must have been applied to the record W.
gap> v:= X( Rationals );; v.name := "v";; gap> H := Hecke(CoxeterGroup( "B", 2) , v^2, v); Hecke(CoxeterGroup("B",2),v^2,v) gap> ref:= HeckeReflectionRepresentation( H ); [ [ [ -v^0, 0*v^0 ], [ -v^2, v^2 ] ], [ [ v^2, -2*v^0 ], [ 0*v^0, -v^0 ] ] ]
gap> H := Hecke( CoxeterGroup( "H", 3 ));; gap> HeckeReflectionRepresentation( H ); [ [ [ -1, 0, 0 ], [ -1, 1, 0 ], [ 0, 0, 1 ] ], [ [ 1, E(5)+2*E(5)^2+2*E(5)^3+E(5)^4, 0 ], [ 0, -1, 0 ], [ 0, -1, 1 ] ], [ [ 1, 0, 0 ], [ 0, 1, -1 ], [ 0, 0, -1 ] ] ]
This function requires the package "chevie" (see RequirePackage).
84.2 CheckHeckeDefiningRelations
CheckHeckeDefiningRelations( H , t )
returns true or false, according to whether a given set t of matrices corresponding to the standard generators of the Coxeter group Group(H) defines a representation of the Iwahori-Hecke algebra H or not.
gap> H := Hecke(CoxeterGroup( "F", 4 ));; gap> r := HeckeReflectionRepresentation( H );; gap> CheckHeckeDefiningRelations( H, r ); true
This function requires the package "chevie" (see RequirePackage).
84.3 CharTable for Hecke algebras
CharTable( H )
CharTable
returns the character table record of the Iwahori-Hecke
algebra H. This is basically the same as the character table of a
Coxeter group described earlier with the exception that the component
irreducibles
contains the matrix of the values of the irreducible
characters of the generic Iwahori-Hecke algebra specialized at the
parameters in the component parameter
of H. Thus, if all these
parameters are equal to 1 ∈ Q then the component irreducibles
just contains the ordinary character table of the underlying Coxeter
group.
The function CharTable
first recognizes the type of H, then calls
special functions for each type involved in H and finally forms the
direct product of all these tables.
gap> W := CoxeterGroup( "G", 2 );; gap> u := X( Rationals );; u.name := "u";; gap> v := X( LaurentPolynomialRing( Rationals ) );; v.name := "v";; gap> u := u * v^0;; gap> H := Hecke( W, [ u^2, v^2 ], [ u, v ] ); Hecke(CoxeterGroup("G",2),[ (u^2), v^2 ],[ (u), v ]) gap> Display( CharTable( H ) ); H(G2) 2 2 2 2 1 1 2 3 1 . . 1 1 1 A_0 ~A_1 A_1 G_2 A_2 A_1+~A_1 2P A_0 A_0 A_0 A_2 A_2 A_0 3P A_0 ~A_1 A_1 A_1+~A_1 A_0 A_1+~A_1 phi{1,0} 1 v^2 u^2 u^2v^2 u^4v^4 u^6v^6 phi{1,6} 1 -1 -1 1 1 1 phi{1,3}' 1 v^2 -1 -v^2 v^4 -v^6 phi{1,3}'' 1 -1 u^2 -u^2 u^4 -u^6 phi{2,1} 2 v^2-1 u^2-1 uv -u^2v^2 -2u^3v^3 phi{2,2} 2 v^2-1 u^2-1 -uv -u^2v^2 2u^3v^3
As mentioned before, the record components classparam
, classnames
and irredinfo
contain canonical labels and parameters for the classes
and the characters (see the introduction to chapter Classes and
representations for reflection groups and also ChevieCharInfo). For
direct products, sequences of such canonical labels of the individual
types are given.
We can also have character tables for algebras where the parameters are not necessarily indeterminates:
gap> H1 := Hecke( W, [ E(6)^2, E(6)^4 ],[ E(6), E(6)^2 ] ); Hecke(CoxeterGroup("G",2),[ E(3), E(3)^2 ],[ -E(3)^2, E(3) ]) gap> ct := CharTable( H1 ); CharTable( "H(G2)" ) gap> Display( ct ); H(G2) 2 2 2 2 1 1 2 3 1 . . 1 1 1 A_0 ~A_1 A_1 G_2 A_2 A_1+~A_1 2P A_0 A_0 A_0 A_2 A_2 A_0 3P A_0 ~A_1 A_1 A_1+~A_1 A_0 A_1+~A_1 phi{1,0} 1 E3^2 E3 1 1 1 phi{1,6} 1 -1 -1 1 1 1 phi{1,3}' 1 E3^2 -1 -E3^2 E3 -1 phi{1,3}'' 1 -1 E3 -E3 E3^2 -1 phi{2,1} 2 (-3-ER(-3))/2 (-3+ER(-3))/2 -1 -1 2 phi{2,2} 2 (-3-ER(-3))/2 (-3+ER(-3))/2 1 -1 -2 gap> RankMat( ct.irreducibles ); 5
The last result tells us that the specialized character table is no more invertible.
Character tables of Iwahori--Hecke algebras were introduced in GP93; see also the introduction to this chapter for further information about the origin of the various tables.
This function requires the package "chevie" (see RequirePackage).
84.4 Representations for Hecke algebras
Representations( H, l )
This function returns the list of representations of the Iwahori-Hecke algebra H. Each representation is returned as a list of the matrix images of the generators Ts.
If there is a second argument, it must be a list of indices, and only the representations with these indices in the list of all representations are returned.
gap> W:=CoxeterGroup("I",2,5); CoxeterGroup("I",2,5) gap> q:=X(Cyclotomics);;q.name:="q";; gap> H:=Hecke(W,q); Hecke(CoxeterGroup("I",2,5),q) gap> Representations(H); [ [ [ [ q ] ], [ [ q ] ] ], [ [ [ -q^0 ] ], [ [ -q^0 ] ] ], [ [ [ -q^0, q^0 ], [ 0*q^0, q ] ], [ [ q, 0*q^0 ], [ (-E(5)-2*E(5)^2-2*E(5)^3-E(5)^4)*q, -q^0 ] ] ], [ [ [ -q^0, q^0 ], [ 0*q^0, q ] ], [ [ q, 0*q^0 ], [ (-2*E(5)-E(5)^2-E(5)^3-2*E(5)^4)*q, -q^0 ] ] ] ]
This function requires the package "chevie" (see RequirePackage).
HeckeCharValues( T [,irreds])
T is an element of an Iwahori-Hecke algebra (expressed in any basis)
and irreds is a set of irreducible characters of the algebra (given as
vectors). HeckeCharValues
returns the values of irreds on the
element T (the method used is to convert to the T
basis, and then use
HeckeClassPolynomials
). If irreds is not given, all character values
are returned.
gap> q := X( Rationals );; q.name := "q";; gap> H := Hecke( CoxeterGroup( "B", 2 ), q ^ 2, q );; gap> HeckeCharValues( Basis( H, "C'" )( 1, 2, 1 ) ); [ 0*q^0, q + q^(-1), 0*q^0, q^3 + 2*q + 2*q^(-1) + q^(-3), -q - q^(-1) ]
See also HeckeClassPolynomials.
This function requires the package "chevie" (see RequirePackage).
HeckeClassPolynomials( h [, reps] )
returns the class polynomials of the Hecke element h of the Hecke algebra H with respect to representatives reps of minimal length in the conjugacy classes of the Coxeter group Group(H).
If absent, reps is taken as WordsClassRepresentatives(Group(H))
. These
polynomials have the following property. Given the class polynomials p
corresponding to h and the matrix X of the values of the irreducible
characters of the Iwahori-Hecke algebra on Tw (for w in reps),
then the product X*p
is the list of values of the irreducible
characters on the element h of the Iwahori-Hecke algebra.
gap> u := X( Rationals );; u.name := "u";; gap> W := CoxeterGroup( "A", 3 ); CoxeterGroup("A",3) gap> H := Hecke( W, u );; gap> h := Basis( H, "T" )( LongestCoxeterElement( W ) ); T(1,2,1,3,2,1) gap> cp := HeckeClassPolynomials( h ); [ 0*u^0, 0*u^0, u^2, u^3 - 2*u^2 + u, u^3 - u^2 + u - 1 ] gap> CharTable( H ).irreducibles * cp; [ u^0, -u^2, 2*u^3, -u^4, u^6 ]
So, the entries in this list are the values of the irreducible characters on the basis element corresponding to the longest element in the Coxeter group.
The class polynomials were introduced in GP93.
This function requires the package "chevie" (see RequirePackage).
PoincarePolynomial( H )
The Poincaré polynomial of the Hecke algebra H, which is
equal to SchurElements(H)[ind]
where ind is the position of the
1-dimensional index representation in the character table of H, that
is, the representation which maps Tsi to the corresponding
parameter qi.
gap> q := X( Rationals );; q.name := "q";; gap> W := CoxeterGroup( "G", 2 );; H := Hecke( W, q ); Hecke(CoxeterGroup("G",2),q) gap> PoincarePolynomial( H ); q^6 + 2*q^5 + 2*q^4 + 2*q^3 + 2*q^2 + 2*q + 1
This function requires the package "chevie" (see RequirePackage).
84.8 SchurElements for Iwahori-Hecke algebras
SchurElements( H )
returns the list of constants Sχ arising from the Schur relations for the irreducible characters χ of the Iwahori-Hecke algebra H, that is δw,1=∑χ χ(Tw)/Sχ where δ is the Kronecker symbol.
The element Sχ also equal to P/Dχ where P is the
Poincare polynomial and Dχ is the generic degree of χ.
Note, however, that this only works if Dχ ≠ 0. (We can have
Dχ=0 if the parameters of H are suitably chosen roots of
unity, for example.) The ordering of the Schur elements corresponds to
the ordering of the characters as returned by the function CharTable
.
gap> u := X( Rationals );; u.name := "u";; gap> v := X( LaurentPolynomialRing( Rationals ) );; v.name := "v";; gap> W := CoxeterGroup("G",2);; gap> schur := SchurElements( Hecke( W, [ u ^ 2, v ^ 2 ])); #warning: u*v chosen as 2nd root of (u\^2)*v\^2 [ (u^6 + u^4)*v^6 + (u^6 + 2*u^4 + u^2)*v^4 + (u^4 + 2*u^2 + 1)*v^ 2 + (u^2 + 1), (1 + u^(-2)) + (1 + 2*u^(-2) + u^(-4))*v^( -2) + (u^(-2) + 2*u^(-4) + u^(-6))*v^(-4) + (u^(-4) + u^(-6))*v^( -6), (u^(-4) + u^(-6))*v^6 + (u^(-2) + 2*u^(-4) + u^(-6))*v^4 + ( 1 + 2*u^(-2) + u^(-4))*v^2 + (1 + u^(-2)), (u^2 + 1) + (u^4 + 2*u^2 + 1)*v^(-2) + (u^6 + 2*u^4 + u^2)*v^( -4) + (u^6 + u^4)*v^(-6), (2*u^0)*v^2 + (2*u - 2*u^(-1))*v + (2*u^ 2 - 2 + 2*u^(-2)) + (-2*u + 2*u^(-1))*v^(-1) + (2*u^0)*v^(-2), (2*u^0)*v^2 + (-2*u + 2*u^(-1))*v + (2*u^2 - 2 + 2*u^(-2)) + (2*u - 2*u^(-1))*v^(-1) + (2*u^0)*v^(-2) ]
The Poincaré polynomial is just the Schur element corresponding to the trivial (or index) representation:
gap> schur[PositionId(W)]; (u^6 + u^4)*v^6 + (u^6 + 2*u^4 + u^2)*v^4 + (u^4 + 2*u^2 + 1)*v^ 2 + (u^2 + 1)
(note that the trivial character is not always the first character,
which is why we use PositionId
) For further information about generic
degrees and connections with the representation theory of finite groups
of Lie type, see BC72 and Car85.
This function requires the package "chevie" (see RequirePackage).
84.9 SchurElement for Iwahori-Hecke algebras
SchurElement( H, phi )
returns the Schur element (see Schur Elements for Iwahori-Hecke
algebras
) of the Iwahori-Hecke algebra H for the irreducible
character of H of parameter phi (see CharParams
in section
Appendix -- utility functions of CHEVIE).
gap> u := X( Rationals );; u.name := "u";; gap> v := X( LaurentPolynomialRing( Rationals ) );; v.name := "v";; gap> H := Hecke( CoxeterGroup( "G", 2 ), [ u , v]); Hecke(CoxeterGroup("G",2),[ u, v ]) gap> SchurElement( H, [ [ 1, 3, "'" ] ] ); (u^(-2) + u^(-3))*v^3 + (u^(-1) + 2*u^(-2) + u^(-3))*v^2 + (1 + 2*u^(-1) + u^(-2))*v + (1 + u^(-1))
This function requires the package "chevie" (see RequirePackage).
We do not have a function for the generic degrees of an Iwahori-Hecke algebra since they are not always defined (for example, if the parameters of the algebra are roots of unity). If we have a generic multi-parameter Iwahori-Hecke algebra H then the generic degrees are certainly defined, and they can be computed with the command:
List( SchurElements( H ), x -> PoincarePolynomial( H ) / x );
(See PoincarePolynomial and SchurElement.)
84.11 LowestPowerGenericDegrees for Hecke algebras
LowestPowerGenericDegrees( H )
H should be an Iwahori-Hecke algebra all of whose parameters are
powers of the same indeterminate. LowestPowerGenericDegrees
returns a
list holding the a-function for all irreducible characters of this
algebra, that is, for each character χ, the valuation of the Schur
element of χ. The ordering of the result corresponds to the
ordering of the characters in CharTable(H)
. One should note that
this function first computes explicitly the Schur elements, so for
a one-parameter algebra, LowestPowerGenericDegrees(Group(H))
may be
much faster.
gap> q:=X(Rationals);;q.name:="q";; gap> H:=Hecke(CoxeterGroup("B",4),[q^2,q]); Hecke(CoxeterGroup("B",4),[ q^2, q, q, q ]) gap> LowestPowerGenericDegrees(H); [ 7, 6, 7, 12, 20, 3, 5, 3, 7, 6, 13, 2, 3, 10, 1, 4, 2, 7, 0, 3 ]
This function requires the package "chevie" (see RequirePackage).
HeckeCharValuesGood( H, w )
Let H be a Hecke algebra for the Coxeter group CoxeterGroup(H)
,
let w be a good element of CoxeterGroup(H)
in the sense
of GM97 (the representatives of conjugacy classes stored in
CHEVIE are such elements), and let d be the order of w.
HeckeCharValuesGood
computes the values of the irreducible characters
of the Iwahori-Hecke algebra HW on Twd. The point is that the
character table of the Hecke algebra is not used, and that all the
eigenvalues of Twd are monomials in H.parameters
, so this can be
used to find the absolute value of the eigenvalues of Tw, a step
towards computing the character table of the Hecke algebra.
gap> q:=X(Rationals);;q.name:="q";; gap> H:=Hecke(CoxeterGroup("B",4),[q^2,q]); Hecke(CoxeterGroup("B",4),[ q^2, q, q, q ]) gap> HeckeCharValuesGood( H, [ 1, 2, 3 ] ); [ q^12, 4*q^12, 3*q^12 + 3*q^8, 3*q^8 + 1, q^0, 2*q^18 + q^12, 6*q^12, 2*q^18 + 3*q^16 + 3*q^12, 3*q^12 + 3*q^8 + 2*q^6, 3*q^16 + 3*q^8, 2*q^6 + 1, 2*q^18, 3*q^16 + 3*q^12, 2*q^6, q^24 + 2*q^18, 4*q^12, q^24 + 3*q^16, q^12 + 2*q^6, q^24, q^12 ]
This function requires the package "chevie" (see RequirePackage).
Previous Up Next
Index
GAP 3.4.4