The Home Page for SF, posets, and coxeter/weyl

John Stembridge's Maple packages for symmetric functions, posets, root systems, and finite Coxeter groups

New! Version 2.4 of the posets package is now available!

The SF Package

SF is a package of 25 Maple programs that provide an environment for computations involving symmetric functions and related structures, such as the characters of the symmetric groups. It has facilities for converting expressions from one symmetric function basis to another, for applying standard operations such as scalar products, inner tensor (or Kronecker) products, and plethysm. Beginning with Version 2.0, it has general facilities for adding user-defined bases to the environment, such as Hall-Littlewood functions, zonal polynomials, or Macdonald's two-parameter symmetric functions.

Check out the archives of Jack symmetric functions up to degree 16 and q,t Kostka polynomials up to degree 10 that were created with SF.

New! 10 November 2005 (Weyl's Birthday)
Version 2.4 of SF is now available! This new version is dramatically faster than Version 2.3, and has been tested on nearly every version of Maple from Maple V Release 3 to Maple 10. Also check out the Vanilla Edition of SF, for use with non-Unix OS's.

Users of the Vanilla Edition will also need

New!The QF Package

QF is a subpackage for SF that provides 13 Maple programs for working with Schur's Q-functions. These objects occur in several contexts, including projective (or spin) representations of symmetric groups and the cohomology rings of isotropic Grassmannians.

16 October 2007
Note: This is beta-quality software. The documentation is incomplete, and the code is not as mature as it is in SF. However, since I have received numerous inquiries over the years about this kind of functionality, I decided it would be worthwhile to release the package as it stands now.

Users of the Vanilla Edition will also need Both editions of QF also require SF.

The posets Package

The posets package contains 41 Maple programs that provide an environment for computations involving partially ordered sets and related structures. The package is particularly useful for visualization of posets, for isomorphism testing, and for computing various poset invariants, such as Möbius functions or h-polynomials. Also included is a library containing all 19,449 posets with at most 8 vertices and all 7,372 lattices with at most 10 vertices--this is convenient for investigating questions of the form "Which posets in class X satisfy property Y?"

As an example of the types of poset plots that can be created with the package, here are two renderings of the dominance order on partitions of 10: [plain (gif), fancy (PS)]. The fancy version was created by writing the output in the dot language, and then using GraphViz to convert it to PostScript.

New! 18 March 2009 (Aruban Flag Day)
Version 2.4 of posets is now available! This new version has improved (faster) implementations of the algorithms related to isomorphism testing and automorphisms, and a new function for generating the posets induced by the strongly connected components of directed graphs. It has been tested on versions of Maple ranging from Maple V Release 3 to Maple 11. It should also work with Maple 12. Also check out the Vanilla Edition of posets, for use with non-Unix OS's.

Users of the Vanilla Edition will also need

The coxeter and weyl Packages

The coxeter package contains 38 Maple procedures for working with root systems and finite Coxeter groups. It provides facilities for manipulating roots, reflections, reduced expressions, for generating permutation representations and irreducible characters of finite Coxeter groups, and for retrieving information such as one finds in the appendices of Bourbaki. The weyl subpackage provides 12 additional procedures for manipulating weights and characters of irreducible representations of semisimple Lie algebras, including functions for computing weight multiplicities, tensor product decompositions, and branching.

Check out the Coxeter graph paper produced with this package.

Here are the crystal graphs for some irreducible representations of sl(4) and so(5), created with one of the examples in the package.

Try out a tutorial introduction to coxeter/weyl, created especially for the 1998 European School in Group Theory. [Note: this tutorial needs to be updated for Version 2.4.]

New! 28 February 2004 (Vandermonde's Birthday)
Version 2.4 of coxeter/weyl is now available! This new version is compatible with Maple 8 and 9, as well as previous versions of Maple. Also new (starting with Version 2.2) is the Vanilla Edition of coxeter/weyl, for use with non-Unix OS's.

Users of the Vanilla Edition will also need

A Few Words About Unix Installations

If you don't know what a tar file is, you may want to read FAQ #6.

If the packages are to be installed in a multi-user environment, you probably should ask your System Administrator to do the installation, so that the packages can be put in a public area of the filesystem for use by everyone.

If you do the installation yourself, you will find step-by-step instructions in the READ_ME file that accompanies each package and can skip the rest of this section. However, if your SysAdmin does the installation, you will need to find out from him or her the pathname for the directory where the packages are stored. For example, the path might be /usr/local/lib/maple/packages. You and every other user of the packages will then have to create or edit a file named .mapleinit in your home directories and add the following two lines to it:

HomeLib:=`/usr/local/lib/maple/packages`:   # the local pathname
libname:=libname, HomeLib:
Be sure that the above quotemarks are left quotemarks. Web browsers sometimes use fonts that do a poor job of distinguishing left (`) and right (') quotes.

Work That Remains To Be Done

  1. Release nextobject, a general-purpose tool for traversal of combinatorial structures.
  2. Update the coxeter/weyl tutorial.
  3. Update/test the packages for Maple 12.
I maintain a very low traffic mailing list for major announcements regarding the packages. If you want to be added to the list, send an email message to me [ jrs AT ]. The list is kept private, and messages are delivered via blind carbon copy.

The FAQs

1. Are there versions of your packages for Mathematica?


2. I'm using the latest version of Maple, but I can't seem to get the packages installed and working on my computer. What's going on?

Welcome to the world of commercial software, where "upgrade" means "let's release a new version, but break enough existing features of the programming language so that users running the old version will be unable to share programs with their friends who are using the new version, and hence everyone will be forced to buy more software from us."

Update: Perhaps the Maple developers have been listening--the past several releases have had relatively few compatibility issues.

Note: The latest version of Maple is Maple 12.

3. What version of Maple do I need?

I've verified that all of the packages work with various versions of Maple ranging from Maple V Release 3 through Maple 11.

The packages should also work with Maple V R1 and R2, aside from a few procedures in the posets package that make use of graphics features that were added in Maple V Release 3. I no longer have access to these old versions of Maple, so I cannot be certain of this.

4. What Operating System do I need?

The Vanilla Editions should work with any OS that runs Maple.

The old Mac Editions of the packages are no longer maintained.

5. What about the Maple Share Library?

There are old, obsolete versions of my packages in the Maple Share Library. Don't use them.

6. I've downloaded the Unix Edition of SF, and all I have is this weird file named SF2.4.tar.gz or SF2.4.tar. What am I supposed to do with it?

You may want to get help from someone with more Unix experience, or have your System Administrator do the installation.

But to answer your question, files ending with gz have been compressed with gzip. Web browsers can be configured to automagically decompress gz files. If yours isn't, you can still uncompress with the gunzip command:

gunzip SF2.4.tar.gz
This will extract the file SF2.4.tar and discard the compressed version.

Files ending with tar are in Unix Tape ARchive format. Before unpacking one of these tar files, you should first decide on a directory where the package(s) will be stored. A subdirectory of your home directory is probably the most sensible choice. In that case, you would enter the commands

mkdir ~/maple_jrs       # or choose some name other than maple_jrs
cd ~/maple_jrs
tar -xvf ~/SF2.4.tar
The tar command extracts all of the files in the archive, including a READ_ME file. This file contains the instructions you need to install the package.

Back to John Stembridge's Home Page
This page last modified Wed Apr 17 12:43:18 EDT 2019