See [Mac95].
We say that where and
is a partition of an integer and write when
The set of all partitions for fixed is denoted as . We also say that
is a set of all partitions of an integer . For instance, the set of all partitions of 4 is given as
Partitions(4).list()
[[4], [3, 1], [2, 2], [2, 1, 1], [1, 1, 1, 1]]
Partitions can be graphically represented as a Young diagrams. Young diagrams for are drawn as
Partitions(4).list()
It is also useful to introduce the notion of the set of all partitions
This set for
can be implemented in sage like this
[p for n in range(5) for p in Partitions(n)]
[[], [1], [2], [1, 1], [3], [2, 1], [1, 1, 1], [4], [3, 1], [2, 2], [2, 1, 1], [1, 1, 1, 1]]
The sum over all partitions can be explicitly rewritten as
There are several natural operations on partitions. I'll review some of them.
Size
Size is equal to the integer , for which is a partition.
Length
Length is equal to the number of in partition
For the partitions of 4 the list of lengths is
[lam.length() for lam in Partitions(4).list()]
[1, 2, 2, 3, 4]
Multiplicity of
Multiplicity of in , denoted as , is the number of parts equaling . For the partitions of 4 non-zero multiplicities are
[lam.to_exp_dict() for lam in Partitions(4).list()]
[{4: 1}, {3: 1, 1: 1}, {2: 2}, {2: 1, 1: 2}, {1: 4}]
We see that the set of unambiguously defines the Young diagram , so one can also introduce multiplicative notation for Young diagrams
Symmetry factor
Symmetry factor is the number of permutations of parts of
For the partitions of 4 these symmetry factors are
def sym_factor(par):
return prod(factorial(mi)
for i, mi in par.to_exp_dict().items())
[sym_factor(lam) for lam in Partitions(4).list()]
[1, 1, 2, 2, 24]
Symmetry factor in exactly this form enters exponent of an infinite sum expansion.
Size of the centralizer of any permutation of cycle type
Let have cycle‐type (so ) and set It’s the size of the automorphism group of permutation as disjoint union of cycles: – each length cycle admits “rotations,” and – the cycles of the same length can be permuted among themselves
For the partitions of 4 are
[lam.aut() for lam in Partitions(4).list()]
[4, 3, 8, 4, 24]
Partition monomial
Partition monomial is defined as follows
and possess the following sage implementation
def par_mon(par, t):
return prod(t[i]**mi
for i, mi in par.to_exp_dict().items())
For the partitions of 4 they are
R = PolynomialRing(QQ, "t", 4 + 1)
t = R.gens()
par_mons = [par_mon(lam, t) for lam in Partitions(4).list()]
par_mons