[Previous] [Next] [Contents]

## `SP::ToX` -- converts any expression to the X Schubert basis

#### Call(s)

`SP::ToX(expr)`

#### Parameters

`expr` | - | any expression
`b` | - | any name of a known basis

#### Introduction

The `SP::ToX` function converts any expression expr to the X Schubert basis. `expr` may involve some `x`i's, simple Schubert polynomials (`X[perm]`, `Y[code]`), double Schubert polynomials (`XX[perm]`, `YY[code]`), product of elementary functions (`Pe[vect]`), 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`, `Pe` and even `y` that is seen as a basis in the package).

The call ``SP::ToX`(expr, X)` 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 `ToX(expr, b, Collect)`. For instance, ``SP::ToX`(expr, X, Collect)` may be used to collect the argument `expr`.

#### Example 1

    >> muEC::SP::ToX((1+q)^5*x3*x4,NoExpand,x);

          (X[1, 3, 2] - X[1, 2, 4, 3]) (X[1, 2, 4, 3] - X[1, 2, 3, 5, 4])

                     5
              (q + 1)

    >> muEC::SP::ToX(q^2*x3*XX[3,1,2]*Y[0,0,1], Collect);

            2       2
          (q  y1 + q  y2) X[2, 4, 1, 3] +

               2       2
             (q  y1 + q  y2) X[4, 1, 2, 3] -

               2       2                         2
             (q  y1 + q  y2) X[2, 1, 5, 3, 4] - q  X[3, 4, 1, 2] -

              2                  2
             q  X[4, 2, 1, 3] + q  X[3, 1, 5, 2, 4] -

              2                        2
             q  y1 y2 X[1, 4, 2, 3] + q  y1 y2 X[1, 2, 5, 3, 4]

#### Related Functions

`Tox`, `ToY`

[Previous] [Next] [Contents]

MuPAD Combinat, an open source algebraic combinatorics package