81.4 Construction of Hecke elements of the $T$ basis

Basis( H, "T" )

Let H be a Iwahori-Hecke algebra. The function Basis(H,"T") returns a function which can be used to make elements of the usual T basis of the algebra. It is convenient to assign this function with a shorter name when computing with elements of the Hecke algebra. In what follows we assume that we have done the assignment:

    gap> T := Basis( H, "T" );
    function ( arg ) ... end 

T( perm )

Let perm be a permutation which is an element w of the Coxeter group Group(H). This call returns the basis element T_w of H.

T( perms, coeffs)

In this form, perms is a vector of permutations and coeffs a vector of coefficients which should be of the same length k. The element text{coeffs}[1] T_{text{perms}[1]} +ldots+ text{coeffs}[k] T_{text{perms}[k]} of H is returned.

T( list )

T( s1, .., sn )

In the above two forms, s_1,ldots,s_n is a sequence of integers representing generators of the Coxeter group attached to H, or list is a GAP list of such integers. The element T_{s_1}T_{s_2} ldots T_{s_n} is returned.

    gap> W := CoxeterGroup( "B", 3 );; 
    gap> u := X( Rationals );; u.name := "u";;
    gap> H := Hecke( W, u );;
    gap> T := Basis( H, "T" );
    function ( arg ) ... end
    gap> T( 1, 2 ) = T( [ 1, 2 ] );
    true
    gap> T( 1, 2 ) = T( PermCoxeterWord( W, [ 1, 2 ] ) );
    true
    gap> l := [ [], [ 1, 2, 3 ], [ 1 ], [ 2 ], [ 3 ] ];;
    gap> pl := List( l, i -> PermCoxeterWord( W, i ) );;
    gap> h := T( pl, [ u^100, 1/u^20, 1, -5, 0 ] );
    u^100T()+T(1)-5T(2)+0T(3)+u^-20T(1,2,3)
    gap> h.elm;
    [ (), ( 1,16,13,10, 7, 4)( 2, 8,12,11,17, 3)( 5, 9, 6,14,18,15), 
      ( 1,10)( 2, 6)( 5, 8)(11,15)(14,17), 
      ( 1, 4)( 2,11)( 3, 5)( 8, 9)(10,13)(12,14)(17,18), 
      ( 2, 5)( 3,12)( 4, 7)( 6, 8)(11,14)(13,16)(15,17) ]
    gap> h.coeff;
    [ u^100, u^(-20), 1, -5, 0 ] 

The last two lines show that a Hecke element is represented internally by a list of elements of W and the corresponding list of coefficients of the basis elements in H.

Note that the function T just creates a Hecke element. In order to have a fast function which does this, the resulting element is not normalized in any way, nor is it even checked if some coefficients are zero or not (see the last line in the above example). A normal form is computed by applying the function Normalize to such an element (see below).

The way elements of the Iwahori-Hecke algebra are printed depends on the global variable PrintHecke which is a component of the global variable Artin-Tits braid groups). If set to "GAP", they are printed in a way which can be input back in GAP. When you load CHEVIE, the variable is initially set to the string "".

    gap> CHEVIE.PrintHecke := "GAP";
    "GAP"
    gap> T( pl, [ u^100, 1/u^20, 1, -5, 0 ] );
    u^100*T()+T(1)-5*T(2)+0*T(3)+u^-20*T(1,2,3)
    gap> CHEVIE.PrintHecke := "";
    "" 

Previous Up Top Next
Index

GAP 3.4.4
April 1997