%
% This is a plain TeX file. The only special font used is cmbx10 at 14.4pt
%
\hsize=6.0truein
\hoffset=0.25truein
\vsize=9.0truein
\font\bold=cmbx10 at 14.4pt
\vglue 0.4truein
\centerline{\bold A Maple Package for Symmetric Functions}
\centerline{\bf Version 1}
\bigskip
\centerline{John R. Stembridge\footnote{$^\ast$}{%
Partially supported by an NSF Postdoctoral Fellowship.}}
\centerline{Department of Mathematics}
\centerline{University of Michigan}
\centerline{Ann Arbor, Michigan 48109--1003}
\centerline{Internet: jrs@polymnia.math.lsa.umich.edu}
\medskip
\centerline{June 26, 1989}

\vskip 0.4truein
\def\mysec#1{\bigskip\centerline{\bf #1}\nobreak\par}
\def\subsec#1{\medskip{\it\noindent #1}\nobreak\par}
{\openup 1.5\jot
\mysec{1. Introduction}
The package I have developed is a library of 19 Maple programs that aid
in the manipulation of symmetric functions. This document should not be
construed as a manual, but merely an attempt to give an overview of the
workings of the package. Installation details are given elsewhere.

The audience I developed this package for consists primarily of colleagues
who use symmetric functions in their research. In particular, this package is
likely to be useful for those whose work involves enumeration, the
representation theory of the symmetric group or general linear group, 
classical invariant theory, as well as other areas.

\mysec{2. Prerequisites}
A symmetric function is a polynomial function of several variables,
say $f(x_1,\dots,x_n)$, that is invariant under permutation of its
arguments. This is a simple idea, but if one tries
to manipulate large expressions of this type, one quickly runs into the 
usual $n!$ barriers that accompany permutations. To avoid this trap,
the {\tt SF} package understands these functions only via their
decomposition in terms of various bases of the space of symmetric functions.
In particular, the package never manipulates the underlying polynomials.
(Although it is possible to recover the polynomial---see the procedure
{\tt evalsf}).

There are five fundamental bases that the {\tt SF} package understands.
These are: (1) the monomial symmetric functions, (2) the elementary
symmetric functions, (3) the complete homogeneous symmetric functions,
(4) the power sum symmetric functions, and (5) the Schur functions.
At the heart of the package are the five procedures {\tt tom}, {\tt toe},
{\tt toh}, {\tt top}, and {\tt tos} that take as input any Maple
expression involving the five bases (possibly a mixed expression), and
converting it ``{\tt to}'' the monomial, elementary, homogeneous, power,
or Schur basis, respectively.

Those users who find the notation and terminology used in this package
unfamiliar should read Chapter I of Ian Macdonald's book ``Symmetric Functions
and Hall Polynomials,'' (Clarendon Press, Oxford, 1979). Of course, familiarity
with ``The Maple Reference Manual'' will also be assumed in this document.

\mysec{3. Data types}
Many of the procedures in the {\tt SF} package accept partitions as part of
their input, or produce partitions as part of their output. For the purposes
this package, we define a partition to be a list of zero or more positive
integers sorted into decreasing order. For example: {\tt [4, 3, 3, 1]}.
The size of a partition is the sum of its terms.

In addition to the names of the procedures in this package, the following
string names are used as global variables (and thus, should not be assigned
values by the user):
$$
\hbox{\tt p1,p2,p3},\dots,\hbox{\tt h1,h2,h3},\dots,\hbox{\tt e1,e2,e3},\dots.
$$
Also, the following indexed names are used as global variables:
{\tt s[$\ast$]}, {\tt m[$\ast$]}, {\tt cl[$\ast$]}.

\mysec{4. List of procedures}
After the package has been read in with the {\tt read} command, the functions
can be called using the notation {\tt SF[ <function> ]( <arguments> );}.
Alternatively, the functions may be called directly after applying the
{\tt with} command, i.e. after typing {\tt with(SF); }.
The functions available are:
\settabs 7\columns {\tt
\+Par&evalsf&jacobi&plethysm&toe&top&zee\cr
\+ch2p&ibocaj&omega&scalar&toh&tos\cr
\+conjugate&itensor&p2ch&stdeg&tom&varset\cr}
For detailed explanations of the procedures, consult the on-line {\tt help} files.

\mysec{5. Bugs}
Let me emphasize that  I am a mathematician, not a programmer.
Virtually no error trapping and no testing for validity of the input is done
by the package.  Please send reports of bugs to the e-mail address on page 1.
Before reporting the bug, please try to verify (e.g., by perusing the
source listings) that it is genuinely a bug within the {\tt SF} package,
rather than in Maple.

\mysec{6. Copyleft}
Copyright \copyright 1989 by John Reese Stembridge.

Permission is granted to anyone to to use, modify, or redistribute this
software freely, subject to the following restrictions:

\item{1.} The author accepts no responsibility for any consequences of this
software and makes no guarantee that the software is free of defects.
\item{2.} The origin of this software must not be misrepresented, either by
explicit claim or by omission.
\item{3.} This notice and the copyright must be included in all copies or
altered versions of this software.
\item{4.} This software may not be included or redistributed as part of any
package to be sold for profit unless the author has given explicit written
permission to do so.

\noindent If this package proves to be useful in your own research, I would 
appreciate an acknowledgment in publications derived from that research.
\par}
\end
