FUNCTION: HekaOnX - action of an element of the Hecke algebra of the
                    symmetric group on a linear combination of X[perm] 
CALLING SEQUENCE:
-   HekaOnX(e_1, exp)
-   HEKA[HekaOnX](e_1, exp)
-  
   
PARAMETERS:
- e_1 =  any element of the Hecke algebra of the symmetric group
- exp =  any expression
 
  
SYNOPSIS:
-  The HekaOnX function realizes the action of  an  element  of  the  Hecke
  algebra of the symmetric group, say e_1, on an expression exp  expressed
  on the X Schubert basis.
 
 
-  The expression exp is expanded and the result is not collected.
 
 
-  One may add 'noexpand' just after the argument  exp  to  choose  not  to
  expand the expression exp before treating it.
 
 
-  One may collect the result by adding  a  third  argument: this  is  done
  by HekaOnX(e_1, exp, 'collect'). Moreover, one can use both noexpand and
  collect options: for  instance, HekaOnX(e_1, exp, 'noexpand', 'collect').
 
 
-  The action of the element SgTranspo(i,n)  on   the  Schubert  polynomial
  X[perm] is : let  nu = MultPerm(perm, SgTranspo(i,n)), then
 
  X[perm] --> q1 X[perm]                      if length(nu) > length(perm)
  X[perm] --> q1 X[perm] + (q2 x_i + q1 x_{i+1}) X[nu]           otherwise.
 
 
-  The result  is expressed on the X Schubert  basis and is  not  collected.
 
 
-  Whenever  there  is  a  conflict between  the function name  HekaOnX and
  another name used in the same session, use the long form HEKA['HekaOnX'].
 
 
EXAMPLES:
> with(HEKA):
> HekaOnX(a^4*A[1,3,2] - a^3*A[2,1], z*X[3,2,1] - X[2,1,3]);
 
                      3                       3                    4
   - q2 X[3, 2, 1] z a  - q1 X[2, 4, 1, 3] z a  + q2 X[3, 2, 1] z a
 
                                    4               3
              + q1 X[3, 1, 4, 2] z a  + q2 X[2, 1] a
 
                                 3    4
                + q1 X[1, 3, 2] a  - a  q1 X[2, 1]
 
SEE ALSO: