FUNCTION: ToXX - convert any expression to the XX Schubert basis
CALLING SEQUENCE:
- ToXX(expr)
- ToXX(expr, b)
- SP[ToXX](expr)
- SP[ToXX](expr, b)
-
PARAMETERS:
- expr = any expression
- b = any name of a known basis
SYNOPSIS:
- The ToXX function converts any expression expr to the XX Schubert basis.
expr may involve some xi's, simple Schubert polynomials (X[perm],
Y[code]), double Schubert polynomials (XX[perm], YY[code], the second
alphabet being the yi's), other terms being considered as coefficients.
- The expression expr is expanded and the result is not collected.
- One may specify by a second argument, say b, that expr is solely
expressed in terms of the known basis b (x, X, Y, XX, YY and even y that
is seen as a basis in the package).
- The call ToXX(expr, 'XX') does not affect the argument expr, but it
simplifies Schubert polynomials indices.
- One may add 'noexpand' just after the argument expr to choose not to
expand the expression expr before treating it.
- One may collect the result by adding a third argument: this is done
by ToXX(expr, b, 'collect'). For instance, ToXX(expr, 'XX', 'collect')
may be used to collect the argument expr.
- Whenever there is a conflict between the function name ToXX and another
name used in the same session, use the long form SP['ToXX'].
EXAMPLES:
> with(SP):
> Flag(-1):
> ToXX((1+q)^5*x3*x4): # expands the input
> ToXX((1+q)^5*x3*x4,noexpand): # does not expand (1+q)^5
> ToXX((1+q)^5*x3*x4,collect): # collects the result
> ToXX((1+q)^5*x3*x4,noexpand,'x'): # the most efficient
> ToXX((1+q)^5*x3*x4,'x',collect): # specifies a basis
> ToXX((1+q)^5*x3*x4,noexpand,'x',collect):
> ToXX(q^2*x3*X[3,1,2], collect);
2 2 2 2
q XX[3, 1, 4, 2] + q (y2 + y1) XX[2, 1, 4, 3] + q y1 XX[1, 2, 4, 3]
2 2 2 2
- q XX[3, 2, 1] - q (y2 + y1) XX[2, 3, 1] - q y1 XX[1, 3, 2]
2 2 2 2
- q y1 XX[3, 1, 2] + q y3 (y2 + y1) XX[2, 1] + q y1 y3 XX[1]
SEE ALSO: Flag ToYY