FUNCTION: ToY - convert any expression to the Y Schubert basis
CALLING SEQUENCE:
- ToY(expr)
- ToY(expr, b)
- SP[ToY](expr)
- SP[ToY](expr, b)
-
PARAMETERS:
- expr = any expression
- b = any name of a known basis
SYNOPSIS:
- The ToY function converts any expression expr to the Y Schubert basis.
expr may involve some xi's, simple Schubert polynomials (X[perm],
Y[code]), double Schubert polynomials (XX[perm], YY[code]), 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 ToY(expr, 'Y') does not affect the argument expr.
- 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 ToY(expr, b, 'collect'). For instance, ToY(expr, 'Y', 'collect') may
be used to collect the argument expr.
- Whenever there is a conflict between the function name ToY and another
name used in the same session, use the long form SP['ToY'].
EXAMPLES:
> with(SP):
> Flag(-1):
> ToY((1+q)^5*x3*x4): # expands the input
> ToY((1+q)^5*x3*x4,noexpand): # does not expand (1+q)^5
> ToY((1+q)^5*x3*x4,collect): # collects the result
> ToY((1+q)^5*x3*x4,noexpand,'x'): # the most efficient
> ToY((1+q)^5*x3*x4,'x',collect): # specifies a basis
> ToY((1+q)^5*x3*x4,noexpand,'x',collect):
> ToY(q^2*x3*XX[3,1,2]*Y[0,0,1], collect):
2 2 2
- q Y[3, 1, 0, 0] - q Y[2, 2, 0, 0] + q Y[2, 0, 2, 0, 0]
2 2
+ q (y1 + y2) Y[3, 0, 0, 0] + q (y1 + y2) Y[1, 2, 0, 0]
2 2
- q (y1 + y2) Y[1, 0, 2, 0, 0] - q y2 y1 Y[0, 2, 0, 0]
2
+ q y2 y1 Y[0, 0, 2, 0, 0]
SEE ALSO: Flag TYP[Schubert] Tox