SFA::SfAExpand --
expands a SFA expression
Call(s)
SFA::SfAExpand(sfa)
Parameterssfa | - | any valid expression in vlist |
Introduction
The SFA::SfAExpand function expands, whenever possible, any expression in SFA.
It is a direct implementation of the Lambda-ring
structure, i.e. symmetric functions are considered as operators over the ring
of polynomials.
Expansion is inductively propagated, thus enabling chains of plethysms.
Alphabets are either formal alphabets (A1, A2, ...), or real constants
(any float object or any formal variable <> Ai,
or variables (when explicitely so declared), or symmetric functions of
SFA, or any linear combination of alphabets.
For instance, 3/2*A1 + k*(A2 - s[3](-A1)) is a valid alphabet.
One may declare variables by setting e.g.
SfAVars({{x}, {y}, z1, z2}).
Here, z1, z2, all xi's, and all yi's will be held as
variables within alphabets.
Rules used for e.g. power sums symmetric functions are:
p[i](-A) = -p[i](A)
p[i](A B) = p[i](A) p[i](B)
p[i](A+B) = p[i](A)+p[i](B)
p[i](k) = k, k real constant (<> Ai)
p[i](x) = x^i, x explicitely declared variable
p[i](Aj) = p[i](Aj), Aj formal alphabet
p[i](p[j](A)) = p[ij](A) (plethysm, from previous equations)
Example 1>> muEC::SFA::SfAExpand( p[4,2](7+A1) );
7 p[2](A1) + 7 p[4](A1) + p[4, 2](A1) + 49
>> muEC::SFA::SfAExpand( s[2](A1 - 3/2*A2 + k) );
k 3 s[2](A2) 15 s[1, 1](A2)
- + s[2](A1) + ---------- + -------------- + k s[1](A1) -
2 8 8
2
3 k s[1](A2) 3 s[1](A1) s[1](A2) k
------------ - ------------------- + --
2 2 2
>> muEC::SFA::SfAVars( { {x}, {y}, z1 } );
{{x}, {y}, z1}
>> muEC::SFA::SfAExpand( p[3]( q*m[2,1]( x1-k+A2 ) - z1^2+C ) );
2 6
C - q p[9](A2) + q p[6, 3](A2) + k q + k q - z1 -
3 6
k q p[3](A2) - k q p[6](A2) - k q x1 - k q x1 +
3 6
q x1 p[6](A2) + q x1 p[3](A2)
Related FunctionsSfAVars, SYMF::SfEval, SYMF::SfPlethysm, SfACollect
MuPAD Combinat, an open source algebraic combinatorics package