This is a step-by-step guide as to how to compute the data from the paper "Equivalence classes for the mu-coefficient of Kazhdan-Lusztig polynomials in S_n" Installing ---------- 1) Move to a suitable directory. Extract the C source code via tar xvfz klmu-072210.tgz (It will be placed in a subdirectory called klmu.) 2) cd klmu Running ------- 3) ./generate_data.sh Notes: 0) The various scripts assume you have gcc installed, that perl is in a particular standard place, that you are running the zsh shell and that you have matlab installed. I have made no attempt to have this all run automatically on your system. If you have zsh installed, you can just include a step 2.5 above: 2.5) zsh 1) On a 3GHz machine, the above script takes a little over 2 days to finish computing the databses (the vast majority of which is for n=10). Computing the equivalence classes takes about one additional day. 2) Several parameters in generate_data.sh determine for which values data will be computed. Currently, the database of KL polynomials will be computed for S_n from n=4 up to n=10. Code for computing for n=11 is included but commented out as it will take forever if not run in parallel on a cluster. The various equivalence classes will be computed for n=9,10,11 and with parameter k=0,1,2. The revelant variables are "ub" and "cub" near the beginning of the file. 3) The generate_data.sh script computes the databases of KL-polynomials as well as the various equivalence classes described in the paper. One can compute the databases only via make klep for i in {4..10} do ./klep fileeps $i echo "Done computing EPs for $i" done ./klep scratch 10 The above commands will produce four files for each n from 4 to 10: n-mult n-ep n-epidx n-idxpoly For n=10, n-ep and n-epidx are quite large (about 1 Gig). Once they have been constructed there are several simple commands available for extracting data: a) ./klep getakl 4 0213 3120 Will read an individual KL poly from the database. b) ./klep verify n to spit out information about data files ./klep vverify n is much more verbose; only use for small n for example, running ./klep verify 9 yields STATS -9- total eps: 2896168 STATS -9- computed eps: 2896168 STATS -9- max consec: 11 STATS -9- distinct polys: 24322 STATS -9- mu eps: 33550 STATS -9- num w with eps: 99632 STATS -9- maxcoeff: 460 c) ./klep listp n list KL polys that appear in a given S_n d) ./klep evalp find max_{x,w \in S_n} P_{x,w}(1) 4) Computation of the equivalence classes will create various files in the class subfolder. (See paper for general description.) For example, there are 51,060 (11,0)-minimal pairs in S_11. 5,166 of these have mu=4: ~/code/ccode/class% wc 11-c*-m4-k1-*-bare 4750 9500 114000 11-c1-m4-k1-md0-bare 16 32 384 11-c2-m4-k1-md0-bare 384 768 9216 11-c3-m4-k1-md0-bare 16 32 384 11-c4-m4-k1-md0-bare 5166 10332 123984 total 11-c1-m4-k1-md0-bare is a file containing the 4750 (11,0)-minimal pairs in S_11 with mu=4 that are not (11,1)-minimal. In general, equivalence class c1 consists of such pairs in the "sink." The above tells us that there are three (11,1)-minimal classes for mu=4 consisting of 16, 384 and 16 pairs, respectively. The above files only contain the actual pairs "x w" on each line. The corresponding files ending in "-kl" contain information about the actual K-L polynomials. 5) Examination of generate_data.sh and the scripts called by it allow one to perform individual steps in the data collection process.