FUNCTION: Toc - express any symmetric function in the basis of cycle
indices
CALLING SEQUENCE:
- Toc(sf)
- Toc(sf, b)
- SYMF[Toc](sf)
- SYMF[Toc](sf, b)
-
PARAMETERS:
- sf = any symmetric function
- b = any name of a known basis
SYNOPSIS:
- The Toc function expresses any symmetric function in the basis of
cycle indices, i.e. as a linear combination of cycle indices c[part] of
conjugacy classes corresponding to the partition part=[...,3^i,2^j,1^k]:
c[part] = convert(part,`+`)! / SfZee(part) * ... p3^i p2^j p1^k
In other words, the c-basis is proportional to the p-basis.
- 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 Toc(sf, b, 'collect'). For instance, Toc(sf, 'c', 'collect') may
be used to collect the argument sf.
- Whenever there is a conflict between the function name Toc and another
name used in the same session, use the long form SYMF['Toc'].
EXAMPLES:
> with(SYMF):
> Toc((1+q)^3*e3*e2): # expands the input
> Toc((1+q)^3*e3*e2,noexpand): # does not expand (1+q)^3
> Toc((1+q)^3*e3*e2,collect): # collects the result
> Toc((1+q)^3*e3*e2,noexpand,'e'): # the most efficient
> Toc((1+q)^3*e3*e2,'e',collect): # specifies a basis
> Toc((1+q)^3*e3*e2,noexpand,'e',collect):
> Toc(c[2,1]*h4 - 2*q*p3);
1/840 c[4, 2, 1] + 1/420 c[3, 2, 1, 1] + 1/280 c[2, 2, 2, 1]
+ 1/140 c[2, 2, 1, 1, 1] + 1/168 c[2, 1, 1, 1, 1, 1] - c[3] q
SEE ALSO: Toe Toh Tom Top Tos