These are the computer programs used in my PhD thesis:
"Partition identities arsing from the standard
A(2)2-modules of level 4" (Rutgers University). The
abstract and the introduction of the above thesis are
included in thesisAbsIntro.pdf
.
A partition of a nonnegative integer n into k parts is a non-increasing k-tuple (p_1, ..., p_k) of nonnegative integers such that
n = p_1 + ... + p_k.
The number n will be referred to as the size of the partition. The number k is referred to as the length of the partition. And the entries p_1, ..., p_k are called the parts of the partition.
A partition (p_1, ..., p_k) is said to satisfy a difference condition [d_1, ...,d_{k−1}] if p_i − p_{i+1} = d_i for all i such that 1 ≤ i ≤ (k−1).
For example, the partition (7,2) satisfies the difference condition [5]. The partition (11,8,8) satisfies the difference condition [3,0], and so on.
Some times, we may use an *
(asterisk) on an entry of the
difference condition to denote zero or more occurrence
of that entry. For example, consider the difference
condition [3,2*,3,0]. This may be expanded into the
following difference conditions: [3,3,0], [3,2,3,0],
[3,2,2,3,0], ... and so on.
The three partition identities we proposed --- arising from the three inequivalent standard modules of level 4 for the affine Lie algebra A(2)2 --- may be stated as follows.
-
(4,0)-module: The number of partitions of a nonnegative integer n into parts different from 1 and such that there is no sub-partition satisfying the difference conditions [1], [0,0], [0,2], [2,0] or [0,3], and such that there is no sub-partition with an odd sum of parts satisfying the difference conditions [3,0], [0,4], [4,0] or [3,2*,3,0] (where 2* indicates zero or more occurrence of 2), is the same as the number of partitions of n into parts congruent to ±2, ±3 or ±4 modulo 14.
-
(2,1)-module: The number of partitions of a nonnegative integer n such that 1, 2 and 3 may occur at most once as a part, and such that there is no sub-partition satisfying the difference conditions [1], [0,0], [0,2], [2,0] or [0, 3], and such that there is no sub-partition with an odd sum of parts satisfying the difference conditions [3,0], [0,4], [4,0] or [3,2*,3,0] (where 2* indicates zero or more occurrence of 2), is the same as the number of partitions of n into parts congruent to ±1, ±4 or ±6 modulo 14.
-
(0,2)-module: The number of partitions of a nonnegative integer n into parts different from 1 and 3, such that 2 may occur at most once as a part, and such that there is no sub-partition satisfying the difference condition [3,2*] (where 2* denotes zero or more occurrence of 2) ending with a 2, and such that there is no sub-partition satisfying the difference conditions [1], [0,0], [0,2], [2,0] or [0,3], and such that there is no sub-partition with an odd sum of parts satisfying the difference conditions [3,0], [0,4], [4,0] or [3,2*,3,0], is the same as the number of partitions of n into parts congruent to ±2, ±5 or ±6 modulo 14.
The codes are divided into three sections, corresponding to the appendices of the thesis.
Directory maples/rels
:
The directory containing the Maple codes, used in the
computation of the relations.
-
File
rels.mw
: The Maple worksheet showing the computations. -
File
cha.txt
: The maple codes to generate the partitions of a nonnegative integer n into k parts (based on [Cha11]). -
File
coef.txt
: The maple codes to compute the coefficients of various "standard monomials" in various "product generating functions." -
File
test.txt
: Varous maple codes to automate the analysis of various deg 2 and deg 3 relations.
Directory maple/noncomm
:
The directory containing the computations related
to straightening out and substitution of non-commuting
variables.
-
File
isom.mw
: The Maple worksheet showing the verification of the isomorphism of the affine Lie algebra A(2)2 in terms of the vertex operators. -
File
ini-A22-L4.mw
: The Maple worksheet showing the computations needed to prove the initial conditions for the three level 4 standard modules for A(2)2. -
File
npolyio.txt
: The Maple codes to convert polynomials in non-commuting variables into the list representation and vice versa. Based on D. Zeilberger's NCFPS maple package. -
File
npolyops.txt
: The file implementing operations on polynomials with non-commuting variables. This file is slight modification of Zeilberger's NCFPS maple package. -
File
npolysubs.txt
: The Maple codes to substitute and rewrite a noncommutative polynomials based on substitution rules. The algorithm and codes are modification of M. Russell's code (see [Rus13]). It has been modified to accommodate indexed (infinitely many) variables and infinitely many rules (indexed), instead of finitely many variables and finitely many rules. -
File
A22-rules.txt
: The maple codes implementing various rules related to the Lie brakcets in A(2)2 and various straightening out rules for the standard modules for A(2)2. -
File
A22-L4-iniRules.txt
: The maple codes implementing various rules corresponding to the initial conditions as discovered in the Maple worksheetmaple/noncomm/ini-A22-L4.mw
. -
File
misc.txt
: Miscellaneous maple codes used in the Maple worksheetmaple/noncomm/ini-A22-L4.mw
.
This directory also contains the Maple worksheet file
A22-level4-grdim.mw
, that computes the graded
dimension for n upto 200, using power series expansion.
The results have been copied to c/verify/data.h
to verify the identities.
Directory c/verify
:
The directory containing the C program to verify the
three proposed partition identities.
-
File
verify.c
: The C program to verify the partition identities (upto n=200). It generates the partitions (in ascending order) using Kelleher's accelerated ascending rule algorithm (see [Kel06]) Once a partition is generated, then it is scanned to see if it is reducible or not for each of the three standard modules of level 4 for A(2)2. -
File
data.h
: The header file containing the data about the graded dimensions of the three standard modules for A(2)2 of level 4. The data were computed in the Maple worksheetmaple/A22-level4-grdim.mw
.
To compile and run:
$ cc -std=c99 verify.c
$ ./a.out
The program will ask for the starting and ending value of n. Then it will output the result of the computations for these values. Note that, it takes more than a day to verify the partition identities for n = 200.
[Cha11] S.-H. Cha, Recursive algorithm for generating partitions of an integer, tech. rep. 280, Pace University, Seidenberg School of Computer Science and Information Systems, 2011.
[Kel06] J. Kelleher, “Encoding partitions as ascending compositions,” PhD thesis, University College Cork, 2006.
[NCFPS] D. Zeilberger, Noncommutative formal power series Maple package, http://www.math.rutgers.edu/~zeilberg/tokhniot/NCFPS.
[Rus13] M. C. Russell, “Noncommutative recursions and the Laurent phenomenon,” arXiv preprint arXiv:1311.1141v2 (2013), url: http://arxiv.org/abs/ 1311.1141v2.
[Russell] Homepage of M. C. Russell: http://www.math.rutgers.edu/~russell2
[Zeilberger] Homepage of D. Zeilberger: http://www.math.rutgers.edu/~zeilberg
.
.