FUNCTION: SfScalar - scalar product of symmetric functions
CALLING SEQUENCE:
- SfScalar(sf_1, sf_2)
- SfScalar(sf_1, sf_2, sfp)
- SYMF[SfScalar](sf_1, sf_2)
- SYMF[SfScalar](sf_1, sf_2, sfp)
-
PARAMETERS:
- sf_1, sf_2 = any symmetric functions
- sfp = any procedure accepting a partition as input
SYNOPSIS:
- The SfScalar function computes the scalar product between the symmetric
functions sf_1 and sf_2.
- This scalar product is such that Schur functions constitute an
orthonormal basis.
- The p-basis is an orthogonal basis. Let sf=...p3^i p2^j p1^k, then
SfScalar(sf, sf) = SfZee([...3^i, 2^j, 1^k]).
- One can choose another scalar product, for which the p-basis will still
remain orthogonal by replacing SfZee with any procedure sfp accepting
partitions.
- One may specify that sf_1 is expressed on basis b_1 and sf_2 is
expressed on basis b_2 by adding two arguments as follows:
1. SfScalar(sf_1, sf_2, b_1, b_2)
2. SfScalar(sf_1, sf_2, b_1, b_2, sfp)
- When specifying the bases, it uses the property that the Schur basis is
orthonormal, and the monomial basis is the dual basis of the basis of
products of complete symmetric functions, for the usual scalar
product described previously.
- Whenever there is a conflict between the function name SfScalar and
another name used in the same session, use the long form
SYMF['SfScalar'].
EXAMPLES:
> with(SYMF):
> SfScalar(p3^2*p1, p3^2*p1, 'p', 'p');
18
> SfZee([3,3,1]);
18
> SfScalar(s[6,3,3,3] + q*s[14,3,3], s[6,3,3,3] - q*s[14,3,1], 's', 's');
1
SEE ALSO: SfZee