FUNCTION: ToXfix - convert any expression to the X Schubert basis of the
ring of polynomials as a free module over Sym
CALLING SEQUENCE:
- ToXfix(expr)
- ToXfix(expr, b)
- FM[ToXfix](expr)
- FM[ToXfix](expr, b)
-
PARAMETERS:
- expr = any expression
- b = any name of a known basis
SYNOPSIS:
- The ToXfix function converts any expression expr to the X Schubert basis
of the ring of polynomials as a free module over symmetric polynomials.
expr may involve some xi's, simple Schubert polynomials (X[perm],
Y[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).
- The call ToXfix(expr, 'X') 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 ToXfix(expr, b, 'collect'). For instance, the following instruction
ToXfix(expr, 'X', 'collect') may be used to collect the argument expr.
- Whenever there is a conflict between the function name ToXfix and
another name used in the same session, use the long form FM['ToXfix'].
EXAMPLES:
> with(FM):
> FM_n(4);
4
> ToXfix((1+q)^2*x3*x4): # expands the input
> ToXfix((1+q)^2*x3*x4,noexpand): # does not expand (1+q)^2
> ToXfix((1+q)^2*x3*x4,collect): # collects the result
> ToXfix((1+q)^2*x3*x4,noexpand,'x'): # the most efficient
> ToXfix((1+q)^2*x3*x4,'x',collect): # specifies a basis
> ToXfix((1+q)^2*x3*x4,noexpand,'x',collect):
> ToXfix(q^2*x3*X[3,1,4,2]*Y[0,1], collect);
2 2 2
- q X[1, 3, 2, 4] X[1, 2, 3, 4] + q s[1] X[3, 4, 1, 2]
2 2 2
+ q s[1] X[3, 2, 4, 1] + q s[1] X[4, 1, 3, 2] + q X[3, 4, 2, 1]
2 2
+ q X[4, 2, 3, 1] - q s[1, 1, 1] X[2, 3, 1, 4]
2 2
- q s[1, 1, 1] X[3, 1, 2, 4] + q s[1, 1, 1, 1] X[1, 3, 2, 4]
SEE ALSO: ToXfixScal