FUNCTION: ToXfixScal - convert any expression to the X Schubert basis of
the ring of polynomials as a free module over Sym
CALLING SEQUENCE:
- ToXfixScal(expr)
- ToXfixScal(expr, b)
- FM[ToXfixScal](expr)
- FM[ToXfixScal](expr, b)
-
PARAMETERS:
- expr = any expression
- b = any name of a known basis
SYNOPSIS:
- The ToXfixScal function converts any expression expr to the X Schubert
basis of the ring of polynomials as a free module over free module over
symmetric polynomials, by using scalar products instead of Monk formula
when possible. This function is useful for _FMn <= 5 especially when
pre-computed data tables are loaded. 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 ToXfixScal(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 ToXfixScal(expr, b, 'collect'). For instance, the next instruction
ToXfixScal(expr, 'X', 'collect') may be used to collect its argument.
- Whenever there is a conflict between the function name ToXfixScal and
another name used in the same session, use the long form
FM['ToXfixScal'].
EXAMPLES:
> with(FM):
> FM_n(4);
4
> ToXfixScal((1+q)^2*x3*x4): # expands the input
> ToXfixScal((1+q)^2*x3*x4,noexpand): # does not expand (1+q)^2
> ToXfixScal((1+q)^2*x3*x4,collect): # collects the result
> ToXfixScal((1+q)^2*x3*x4,noexpand,'x'): # the most efficient
> ToXfixScal((1+q)^2*x3*x4,'x',collect): # specifies a basis
> ToXfixScal((1+q)^2*x3*x4,noexpand,'x',collect):
> ToXfixScal(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: ToXfix