FUNCTION: SfAExpand - expand a SFA expression
CALLING SEQUENCE:
- SfAExpand(sfa)
- SFA[SfAExpand](sfa)
-
PARAMETERS:
- sfa = any valid expression in SFA
SYNOPSIS:
- The 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 made considering the shape of the alphabet of each
symmetric function appearing in sfa, and also products of symmetric
functions. 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 in
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](Ai) = p[i](Ai), Ai formal alphabet
- p[i](p[j](A)) = p[ij](A) (plethysm, from previous equations)
where i and j are positive integers. Equivalent rules for the other
bases are also implemented.
- Whenever there is a conflict between the function name SfAExpand and
another name used in the same session, use the long form
SFA['SfAExpand'].
EXAMPLES:
> with(SFA):
> SfAExpand( p[4,2](7+A1) );
49 + 7 p[2](A1) + 7 p[4](A1) + p[4, 2](A1)
> SfAExpand( s[2](A1 - 3/2*A2 + k) );
2
1/2 k + 1/2 k - 3/2 k s[1](A2) + k s[1](A1) + 3/8 s[2](A2)
+ 15/8 s[1, 1](A2) - 3/2 s[1](A1) s[1](A2) + s[2](A1)
> SfAVars({ {x}, {y}, z1 }):
> SfAExpand( p[3]( q*m[2,1]( x1-k+A2 ) - z1^2+C ) );
3 3 6 6 2
q x1 p[6](A2) - q x1 k - q x1 k + q x1 p[3](A2) - q k p[6](A2) + q k
6
+ q k - q k p[3](A2) + q p[6, 3](A2) - q p[9](A2) - z1 + C
SEE ALSO: SfAVars SYMF[SfEval] SYMF[SfPlethysm] SfACollect