Let H be the Hecke algebra of the Coxeter group W with Coxeter generating set S, and let I be a subset of S. Let χ be a one-dimensional character of the parabolic subalgebra HI of H. Then H⊗HIχ (the induced representation of χ from HI to H) is naturally a H-module, with a natural basis MTw=Tw⊗ 1 indexed by the reduced-I elements of W (i.e., those elements w such that l(ws)>l(w) for any s∈ I).
The module action of an generator Ts of H which satisfies the quadratic relation (Ts-ps)(Ts-qs)=0 is given in this basis by:
| Ts. MTw={ |
| . |
Kazhdan-Lusztig bases of an Hecke module are also defined in the same
circumstances when Kazhdan-Lusztig bases of the algebra can be defined,
but only the case of the base C' for χ the sign character has
been implemented for now.
ModuleBasis( H, "MT" [, I [,chi]] )
H should be an Iwahori-Hecke algebra of a Coxeter group W with Coxeter generating set S, I should be a subset of S (specified by a list of the names of the generators in I), and chi should be a one-dimensional character of the parabolic subalgebra of H determined by I, represented by the list of its values on {Ts}s∈ I (if chi takes the same value on all generators of HI it can be represented by a single value).
The result is a function which can be used to make elements of the MT
basis of the Hecke module associated to I and chi.
If omitted, I is assumed to be the first W.semiSimpleRank-1
generators of W (this makes sense for an affine Weyl group where they
generate the corresponding linear Weyl group), and chi is taken to be
equal to -1 (which specifies the sign character of H).
It is convenient to assign this function with a shorter name when computing with elements of the Hecke module. In what follows we assume that we have done the assignment:
gap> W:=CoxeterGroup("A",2);;Wa:=Affine(W);;
gap> q:=X(Rationals);;q.name:="q";;
gap> H:=Hecke(Wa,q);
Hecke(~A2,q)
gap> MT:=ModuleBasis(H,"MT");
function ( arg ) ... end
MT( w )
Here w is an element of the Coxeter group Group(H). The basis
element MTw is returned if w is reduced-I, and otherwise an
error is signaled.
MT( elts, coeffs)
In this form, elts is a list of elements of Group(H) and coeffs a
list of coefficients which should be of the same length k. The
element Sum([1..k],i->coeffs[i]*MT(elts[i])) is returned.
MT( list )
MT( s1, .., sn )
In the above two forms, the GAP3 list list or the GAP3 list
[s1,..,sn] represents the Coxeter word for an element w of
Group(H). The basis element MTw is returned if w is reduced-I,
and otherwise an error is signaled.
The way elements of the Hecke module are printed depends on
CHEVIE.PrintHecke. If CHEVIE.PrintHecke=rec(GAP:=true), they are
printed in a way which can be input back in GAP3. When you load CHEVIE,
the PrintHecke is initially set to rec().
94.2 Construction of Hecke module elements of the primed MC basis
ModuleBasis( H, "MC'" [, I] )
H should be an Iwahori-Hecke algebra with all parameters a power of
the same indeterminate of a Coxeter group W with Coxeter generating
set S and I should be a subset of S (specified by a list of the
names of the generators in I). The character chi does not have to
be specified since in this case only chi=-1 has been implemented.
If omitted, I is assumed to be the first W.semiSimpleRank-1
generators of W (this makes sense for an affine Weyl group where they
generate the corresponding linear Weyl group).
The result is a function which can be used to make elements of the
MC' basis of the Hecke module associated to I and the sign
character. In this particular case, the MC' basis can be
defined for an reduced-I element w in terms of the MT basis by
MC'w=C'w MT1.
gap> H:=Hecke(Wa,q^2);
Hecke(~A2,q^2)
gap> MC:=ModuleBasis(H,"MC'");
#warning: MC' basis: q chosen as 2nd root of q\^2
function ( arg ) ... end
94.3 Operations for Hecke module elements
+, -:
Basis(x):Basis. With the same initializations as in the previous
sections, we have:
gap> MT:=ModuleBasis(H,"MT");;
gap> MC(MT(1,2,3));
-MC'()+qMC'(3)-q^2MC'(1,3)-q^2MC'(2,3)+q^3MC'(1,2,3)
*:
gap> H:=Hecke(Wa,q);
Hecke(~A2,q)
gap> MT:=ModuleBasis(H,"MT");;
gap> T:=Basis(H,"T");
function ( arg ) ... end
gap> T(1)*MT(1,2,3);
qMT(2,3)+(q-1)MT(1,2,3)
CreateHeckeModuleBasis(basis, ops, algebraops)
This function is completely parallel to the function CreateHeckeBasis.
See the description of this last function. The only difference is that
it is not ops.T which is required to be bound, but ops.MT which
should contain a function which takes an element in the basis basis
and converts it to the MT basis.
gap3-jm