Littlewood-Richardson Calculator version 1.2 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, enhancements, and contributors. This project uses the standard installation procedure: ./configure make sudo make install The last step is optional and installs the programs lrcalc and schubmult in the directory /usr/local/bin, as well as the maple interface lrcalc.maple in /usr/local/share/lrcalc. It also installs the lrcalc library and header files. (The directory /usr/local can be changed, see the file INSTALL for details.) You may want to further run the test suite: make check Notice also that the Littlewood-Richardson Calculator is now integrated in the SAGE open-source mathematics system. You may prefer to use lrcalc from SAGE to take advantage of the additional functions in this system. USAGE ===== We give a very brief description of the programs. The program lrcalc can perform various operations on symmetric functions, and its first argument must specify the operation to be used. There are five of these operations: lrcalc coef: Compute a single Littlewood-Richardson coefficient. ----------- The command "lrcalc coef 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: % lrcalc coef 3 2 1 - 2 1 - 2 1 2 lrcalc skew: Expand a skew Schur function in the basis of Schur ----------- functions. The command "lrcalc 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: % lrcalc skew 3 2 1 / 2 1 1 (3) 2 (2, 1) 1 (1, 1, 1) lrcalc mult: Expand a product of two Schur functions in the basis of ----------- Schur functions. The command "lrcalc 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: % lrcalc 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) The option -r can be used to limit the partitions in the output to a given number of rows. The command Lrcalc mult can also compute products in the small quantum cohomology ring of a Grassmann variety. The option "-q m,k" will use the quantum ring of the Grassmannian Gr(m,m+k). If -q is replaced with -f, then the same product is computed, but the output is given in fusion ring notation. Example: % lrcalc mult -q 3,2 3 2 1 - 3 2 1 1 (2) 1 (1, 1) % lrcalc mult -f 3,2 3 2 1 - 3 2 1 1 (4, 4, 4) 1 (5, 4, 3) lrcalc coprod: Calculate coproducts in the ring of symmetric ------------- functions. The command "lrcalc 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: % lrcalc 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.maple in the directory /usr/local/share/lrcalc 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 "/usr/local/share/lrcalc/lrcalc.maple"; after starting Maple. You can copy the file lrcalc.maple to a more convenient directory to avoid typing the full path every time you wish to load it. 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 "/usr/local/share/lrcalc/lrcalc.maple"; > 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 S. Buch (July 16, 2014)