FUNCTION: Tox - express any expression in the basis of monomials
CALLING SEQUENCE:
- Tox(expr)
- Tox(expr, b)
- SP[Tox](expr)
- SP[Tox](expr, b)
-
PARAMETERS:
- expr = any expression
- b = any name of a known basis
SYNOPSIS:
- The Tox function expresses any expression expr in the basis of monomials.
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 Tox(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 Tox(expr, b, 'collect'). For instance, Tox(expr, 'x', 'collect') may
be used to collect the argument expr.
- Whenever there is a conflict between the function name Tox and another
name used in the same session, use the long form SP['Tox'].
EXAMPLES:
> with(SP):
> Flag(-1):
> Tox((1+q)^5*X[3,1,2]): # expands the input
> Tox((1+q)^5*X[3,1,2],noexpand): # does not expand (1+q)^5
> Tox((1+q)^5*X[3,1,2],collect): # collects the result
> Tox((1+q)^5*X[3,1,2],noexpand,'X'): # the most efficient
> Tox((1+q)^5*X[3,1,2],'X',collect): # specifies a basis
> Tox((1+q)^5*X[3,1,2],noexpand,'X',collect):
> factor( Tox(q^2*x3*XX[3,1,2]*Y[0,0,1]) );
2
(x3 + x1 + x2) q x3 (x1 - y2) (x1 - y1)
> Tox(X[1,3,2]*XX[2,3,1] - q^2*YY[0,1], collect);
2 2 2 2 2 2 2
q y2 + q y1 - x2 y1 - 2 x2 y1 x1 + x2 x1 + x1 x2 + (y1 - q ) x2
2 2 2
+ (y1 - q ) x1 - x1 y1
SEE ALSO: ToX