SP::ToPe
--
converts any expression to the Pe-basis
SP::ToPe(expr)
expr | - | any expression |
b | - | any name of a known basis |
The SP::ToPe
function converts any expression expr to the Pe
-basis,
which is the dual basis of the basis of monomials less than the
``staircase'' monomial, i.e. the basis of products of elementary
symmetric functions on an alphabet flag.
For instance, Pe[1, 2, 0, 1, 0]
stands for the product
e1(x1,x2,x3,x4)*e2(x1,x2,x3)*e1(x1)
.
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).
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
ToPe(expr, b, Collect)
.
>> muEC::SP::ToPe((1+q)^5*x3*x4, NoExpand);
(Pe[1, 0, 0] - Pe[1, 0, 0, 0]) (Pe[1, 0, 0, 0] - 5 Pe[1, 0, 0, 0, 0]) (q + 1)
>> muEC::SP::ToPe(q^2*x3*XX[3,1,2]*Y[0,1], Collect);
2 2 2 2 (q y1 + q y2) Pe[2, 1, 0] - (q y1 + q y2) Pe[2, 0, 1, 0] - 2 2 2 q Pe[1, 2, 1, 0] + q Pe[2, 1, 1, 0] + q Pe[3, 0, 1, 0] - 2 2 q Pe[3, 1, 0, 0] - q y1 y2 Pe[2, 0, 0] + 2 q y1 y2 Pe[2, 0, 0, 0]
MuPAD Combinat, an open source algebraic combinatorics package