FUNCTION: Toh_n - convert any symmetric function to a h-polynomial
CALLING SEQUENCE:
- Toh_n(sf)
- Toh_n(sf, b)
- CLG[Toh_n](sf)
- CLG[Toh_n](sf, b)
-
PARAMETERS:
- sf = any symmetric function
- b = any name of a known basis
SYNOPSIS:
- The Toh_n function converts any symmetric function to a h-polynomial.
It uses the relations e.k = 0 for k>_CLGn.
- The input is any expression in terms of the basic symmetric functions.
- The symmetric function sf is expanded and the result is not collected.
- One may specify by a second argument, say b, that sf is solely expressed
in terms of the known basis b.
- One may add 'noexpand' just after the argument sf to choose not to
expand the symmetric function sf before treating it.
- One may collect the result by adding a third argument: this is done
by Toh_n(sf, b, 'collect'). For instance, Toh_n(sf, 'h', 'collect') may
be used to collect the argument sf.
- Whenever there is a conflict between the function name Toh_n and another
name used in the same session, use the long form CLG['Toh_n'].
EXAMPLES:
> with(CLG):
> _CLGn;
5
> Toh_n((1+q)^5*s[3,2,2,1]): # expands the input
> Toh_n((1+q)^5*s[3,2,2,1],noexpand): # does not expand (1+q)^5
> Toh_n((1+q)^5*s[3,2,2,1],collect): # collects the result
> Toh_n((1+q)^5*s[3,2,2,1],noexpand,'s'): # the most efficient
> Toh_n((1+q)^5*s[3,2,2,1],'s',collect): # specifies a basis
> Toh_n((1+q)^5*s[3,2,2,1],noexpand,'s',collect):
> Toh_n(s[2,1]*h4 - 2*q*p3 + aa*e6);
3
h4 h2 h1 - h4 h3 - 6 q h3 + 6 q h2 h1 - 2 q h1
SEE ALSO: TYP[Sf] Toe_n Tom_n Top_n Tos_n