Littlewood-Richardson Calculator version 1.1.6 Copyright (C) 1999- Anders S. Buch (asbuch at math rutgers edu) INSTALLATION ============ This file explains how to install and use the programs. See the file ChangeLog for a list of bug-fixes and enhancements. This project uses the standard installation procedure: ./configure make sudo make install The last step is optional and installs the following programs (typically in /usr/local/bin): lrcoef, lrskew, mult, coprod, schubmult as well as lrcalc's header files (typically in /usr/local/include/lrcalc/). You may want to further run the test suite: make check USAGE ===== A very brief description of the programs is as follows: lrcoef: Compute a single Littlewood-Richardson coefficient. ------ The command "lrcoef z - x - y" computes the Littlewood-Richardson coefficient c^z_{x,y} which is the coefficient of the Schur function s_z in the product s_x * s_y. Example: % lrcoef 3 2 1 - 2 1 - 2 1 2 skew: Expand a skew Schur function in the basis of Schur functions. ---- The command "skew z / x" lists all partitions y for which the Littlewood-Richardson coefficient c^z_{x,y} is non-zero, with that coefficient in front. Example: % skew 3 2 1 / 2 1 1 (3) 2 (2, 1) 1 (1, 1, 1) mult: Expand a product of two Schur functions in the basis of Schur ---- functions. The command "mult x - y" lists all partitions z for which the Littlewood-Richardson coefficient c^z_{x,y} is non-zero, with that coefficient in front. Example: % mult 2 1 - 2 1 1 (3, 3) 1 (4, 2) 1 (2, 2, 1, 1) 1 (2, 2, 2) 2 (3, 2, 1) 1 (4, 1, 1) 1 (3, 1, 1, 1) Experimental feature: mult can also compute quantum / fusion coefficients. Example % mult -f 3,2 3 2 1 - 3 2 1 1 (4, 4, 4) 1 (5, 4, 3) % mult -q 3,2 3 2 1 - 3 2 1 1 (2) 1 (1, 1) coprod: Calculate coproducts in the ring of symmetric functions. ------ The command "coprod z" lists all pairs of partitions x and y for which the Littlewood-Richardson coefficient c^z_{x,y} is non-zero, with that coefficient in front. Example: % coprod 3 2 1 1 (3, 1) (2) 1 (2, 2) (1, 1) 1 (3, 1) (1, 1) 1 (2, 1) (3) 2 (2, 1) (2, 1) 1 (2, 2, 1) (1) 1 (3, 2, 1) () 1 (3, 2) (1) 1 (2, 1, 1) (2) 1 (3, 1, 1) (1) 1 (1, 1, 1) (2, 1) 1 (2, 1, 1) (1, 1) 1 (2, 2) (2) schubmult: Expand a product of two Schubert polynomials in the basis --------- of Schubert polynomials. Example: % ./schubmult 1 3 2 - 1 3 2 1 (1, 4, 2, 3) 1 (2, 3, 1) MAPLE INTERFACE =============== The file lrcalc in this directory provides an interface between the above C programs and Maple. It allows you to combine the notational convenience of Maple with the speed of C programs. To use the interface, simply type "read lrcalc;" after starting Maple. You can move the file lrcalc to your directory with personal Maple files if you prefer. Note, however, that if you move the compiled C programs in the bin subdirectory to somewhere else, then you will need to change the last line of lrcalc accordingly. The notation used by the Maple interface is the same as in John Stembridge's "SF" Maple package for computing with symmetric functions. I hope this will make it easier to use SF with the Maple interface. The Maple interface defines three Maple functions: tos, skew, lrcoef The following Maple session gives an example of how to use them: % maple |\^/| Maple V Release 4 (WMI Campus Wide License) ._|\| |/|_. Copyright (c) 1981-1996 by Waterloo Maple Inc. All rights \ MAPLE / reserved. Maple and Maple V are registered trademarks of <____ ____> Waterloo Maple Inc. | Type ? for help. > read lrcalc; > lrcoef([3,2,1], [2,1], [2,1]); 2 > skew(s[3,2,1], s[2,1]); s[3] + 2 s[2, 1] + s[1, 1, 1] > tos(s[2,1] * s[2,1]); s[3, 3] + s[4, 2] + s[2, 2, 1, 1] + s[2, 2, 2] + 2 s[3, 2, 1] + s[4, 1, 1] + s[3, 1, 1, 1] > lrcoef( s[12,11,10,9,8,7,6,5,4,3,2,1],\ > s[8,7,6,5,4,3,2,1], s[8,7,6,6,5,4,3,2,1]); 7869992 Enjoy! Anders Skovsted Buch (Nov 15, 1999) Updated for 1.1.6 beta by Nicolas M. Thiéry (Jan 9 2012)