# 81.5 Operations for Hecke elements of the \$T\$ basis

All examples below are with `CHEVIE.PrintHecke=""`.

`Hecke( a )`

returns the Hecke algebra of which a is an element.

`a * b`

The multiplication of two elements given in the `T` basis of the same Iwahori-Hecke algebra is defined, returning a Hecke element expressed in the `T` basis.

```    gap> q := X( Rationals );; q.name := "q";;
gap> H := Hecke( CoxeterGroup( "A", 2 ), q );
Hecke(CoxeterGroup("A", 2),[ q, q ],[  ])
gap> T := Basis( H, "T" );
function ( arg ) ... end
gap> ( T() + T( 1 ) ) * ( T() + T( 2 ) );
T()+T(1)+T(2)+T(1,2)
gap> T( 1 ) * T( 1 );
qT()+(q-1)T(1)
gap> T( 1, 1 ); # the same
qT()+(q-1)T(1) ```

`a ^ i`

A element of the `T` basis with a coefficient whose inverse is still a Laurent polynomial in q can be raised to an integral, positive or negative, power, returning another element of the algebra. An arbitrary element of the algebra can only be raised to a positive power.

```    gap> ( q * T( 1, 2 ) ) ^ -1;
(q^-1-2q^-2+q^-3)T()+(-q^-2+q^-3)T(1)+(-q^-2+q^-3)T(2)+q^-3T(2,1)
gap> ( T( 1 ) + T( 2 ) ) ^ -1;
Error, negative exponent implemented only for single T_w in
<rec1> ^ <rec2> called from
main loop
brk>
gap> ( T( 1 ) + T( 2 ) ) ^ 2;
2qT()+(q-1)T(1)+(q-1)T(2)+T(1,2)+T(2,1) ```

`a / b`

This is equivalent to a* b^{-1}.

`a + b`

`a - b`

Elements of the algebra expressed in the `T` basis can be added or subtracted, giving other elements of the algebra.

```    gap> T( 1 ) + T();
T()+T(1)
gap> T( 1 ) - T( 1 );
0 ```

`Normalize( a )`

normalizes the element a; in particular, terms with zero coefficient are removed.

```    gap> h := T( [ PermCoxeterWord( CoxeterGroup( H ), [ 1 ] ),() ],
>                                                     [ 0, q^100 ] );
q^100T()+0T(1)
gap> Normalize( h );
gap> h;
q^100T() ```

`Print( a )`

prints the element a, using the form initialized in CHEVIE.PrintHecke.

`String( a )`

provides a string containing the same result that is printed with `Print`.

`Coefficient( a, w )`

Returns the coefficient of the Hecke element a on the basis element T_w. Here w can be given either as a Coxeter word or as a permutation.

`AlphaInvolution( a )`

This implements the involution on the algebra defined by T_wmapsto T_{w^{-1}}.

```    gap> AlphaInvolution( T( 1, 2 ) );
T(2,1) ```

`BetaInvolution( a )`

This is only defined if all the parameters of the Iwahori-Hecke algebra are equal, and they are either equal to 1 or all sqrtParameters are bound. If v is the square root of the first parameter, it implements the involution on the algebra defined by vmapsto v^{-1} and T_wmapsto v^{-l(w_0)}T_{w_0w}.

`AltInvolution( a )`

This is only defined if all the parameters of the Iwahori-Hecke algebra are equal, and they are either equal to 1 or all sqrtParameters are bound. If v is the square root of the first parameter, it implements the involution on the algebra defined by vmapsto -v^{-1} and T_wmapsto(-v^{-2})^{l(w)}T_w. Essentially it corresponds to tensoring with the sign representation.

`Frobenius(WF)( a )`

The Frobenius of a Coxeter Coset associated to `CoxeterGroup(Hecke(a))` can be applied to a. For more details see chapter Coxeter cosets.

These functions require the package "chevie" (see RequirePackage). Previous Up Top Next
Index

GAP 3.4.4
April 1997