FUNCTION: ToYY - convert any expression to the YY Schubert basis
CALLING SEQUENCE:
- ToYY(expr)
- ToYY(expr, b)
- SP[ToYY](expr)
- SP[ToYY](expr, b)
-
PARAMETERS:
- expr = any expression
- b = any name of a known basis
SYNOPSIS:
- The ToYY function converts any expression expr to the YY 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, YY, YY and even y that
is seen as a basis in the package).
- The call ToYY(expr, 'YY') 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 ToYY(expr, b, 'collect'). For instance, ToYY(expr, 'YY', 'collect')
may be used to collect the argument expr.
- Whenever there is a conflict between the function name ToYY and another
name used in the same session, use the long form SP['ToYY'].
EXAMPLES:
> with(SP):
> Flag(-1):
> ToYY((1+q)^5*x3*x4): # expands the input
> ToYY((1+q)^5*x3*x4,noexpand): # does not expand (1+q)^5
> ToYY((1+q)^5*x3*x4,collect): # collects the result
> ToYY((1+q)^5*x3*x4,noexpand,'x'): # the most efficient
> ToYY((1+q)^5*x3*x4,'x',collect): # specifies a basis
> ToYY((1+q)^5*x3*x4,noexpand,'x',collect):
> ToYY(q^2*x3*Y[2,0], collect);
2 2 2 2
- q y1 YY[2, 0, 0] + q YY[2, 0, 1, 0] + (q y1 + q y2) YY[1, 0, 1, 0]
2 2 2 2
+ (- q y2 - q y1) YY[1, 1, 0] + q y1 YY[0, 0, 1, 0]
2 2 2 2 2 2
+ (q y3 y2 + q y3 y1) YY[1, 0] - q y1 YY[0, 1, 0] + q y3 y1 YY[0]
2
- q YY[2, 1, 0]
SEE ALSO: Flag ToXX