File: README

package info (click to toggle)
lrcalc 1.2-2.2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 1,732 kB
  • sloc: sh: 11,110; ansic: 3,092; makefile: 27
file content (205 lines) | stat: -rw-r--r-- 5,064 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
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 <rows> 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)