# Partition (number theory)

In number theory and combinatorics, a **partition** of a positive integer *n*, also called an **integer partition**, is a way of writing *n* as a sum of positive integers. Two sums that differ only in the order of their summands are considered the same partition. (If order matters, the sum becomes a composition.) For example, 4 can be partitioned in five distinct ways:

- 4
- 3 + 1
- 2 + 2
- 2 + 1 + 1
- 1 + 1 + 1 + 1

The order-dependent composition 1 + 3 is the same partition as 3 + 1, while 1 + 2 + 1 and 1 + 1 + 2 are the same partition as 2 + 1 + 1.

A summand in a partition is also called a **part**. The number of partitions of *n* is given by the partition function *p*(*n*). So *p*(4) = 5. The notation *λ* ⊢ *n* means that *λ* is a partition of *n*.

Partitions can be graphically visualized with Young diagrams or Ferrers diagrams. They occur in a number of branches of mathematics and physics, including the study of symmetric polynomials, the symmetric group and in group representation theory in general.

## Contents

## Examples

The seven partitions of 5 are:

- 5
- 4 + 1
- 3 + 2
- 3 + 1 + 1
- 2 + 2 + 1
- 2 + 1 + 1 + 1
- 1 + 1 + 1 + 1 + 1

In some sources partitions are treated as the sequence of summands, rather than as an expression with plus signs. For example, the partition 2 + 2 + 1 might instead be written as the tuple (2, 2, 1) or in the even more compact form (2^{2}, 1) where the superscript indicates the number of repetitions of a term.

## Representations of partitions

There are two common diagrammatic methods to represent partitions: as Ferrers diagrams, named after Norman Macleod Ferrers, and as Young diagrams, named after the British mathematician Alfred Young. Both have several possible conventions; here, we use *English notation*, with diagrams aligned in the upper-left corner.

### Ferrers diagram

The partition 6 + 4 + 3 + 1 of the positive number 14 can be represented by the following diagram:

6 + 4 + 3 + 1 |

The 14 circles are lined up in 4 rows, each having the size of a part of the partition. The diagrams for the 5 partitions of the number 4 are listed below:

4 | = | 3 + 1 | = | 2 + 2 | = | 2 + 1 + 1 | = | 1 + 1 + 1 + 1 |

### Young diagram

An alternative visual representation of an integer partition is its *Young diagram*. Rather than representing a partition with dots, as in the Ferrers diagram, the Young diagram uses boxes or squares. Thus, the Young diagram for the partition 5 + 4 + 1 is

while the Ferrers diagram for the same partition is

While this seemingly trivial variation doesn't appear worthy of separate mention, Young diagrams turn out to be extremely useful in the study of symmetric functions and group representation theory: in particular, filling the boxes of Young diagrams with numbers (or sometimes more complicated objects) obeying various rules leads to a family of objects called Young tableaux, and these tableaux have combinatorial and representation-theoretic significance.^{1} As a type of shape made by adjacent squares joined together, Young diagrams are a special kind of polyomino.^{2}

## Partition function

In number theory, the **partition function** *p*(*n*) represents the number of possible partitions of a natural number *n*, which is to say the number of distinct ways of representing *n* as a sum of natural numbers (with order irrelevant). By convention *p*(0) = 1, *p*(*n*) = 0 for *n* negative.

The first few values of the partition function are (starting with *p*(0)=1):

- 1, 1, 2, 3, 5, 7, 11, 15, 22, 30, 42, 56, 77, 101, 135, 176, 231, 297, 385, 490, 627, 792, 1002, 1255, 1575, 1958, 2436, 3010, 3718, 4565, 5604, … (sequence A000041 in OEIS).

The value of *p*(*n*) has been computed for large values of *n*, for example *p*(100) = 190,569,292, *p*(1000) is 24,061,467,864,032,622,473,692,149,727,991 or approximately 2.40615×10^{31}.,^{3} and *p*(10000) is 36,167,251,325,...,906,916,435,144 or approximately 3.61673×10^{106}.

As of June 2013^{[update]}, the largest known prime number that counts a number of partitions is *p*(120052058), with 12198 decimal digits.^{4}

### Generating function

The generating function for *p*(*n*) is given by:^{5}

Expanding each factor on the right-hand side as a geometric series, we can rewrite it as

- (1 +
*x*+*x*^{2}+*x*^{3}+ ...)(1 +*x*^{2}+*x*^{4}+*x*^{6}+ ...)(1 +*x*^{3}+*x*^{6}+*x*^{9}+ ...) ....

The *x*^{n} term in this product counts the number of ways to write

*n*=*a*_{1}+ 2*a*_{2}+ 3*a*_{3}+ ... = (1 + 1 + ... + 1) + (2 + 2 + ... + 2) + (3 + 3 + ... + 3) + ...,

where each number *i* appears *a*_{i} times. This is precisely the definition of a partition of *n*, so our product is the desired generating function. More generally, the generating function for the partitions of *n* into numbers from a set *A* can be found by taking only those terms in the product where *k* is an element of *A*. This result is due to Euler.

The formulation of Euler's generating function is a special case of a q-Pochhammer symbol and is similar to the product formulation of many modular forms, and specifically the Dedekind eta function.

The denominator of the product is Euler's function and can be written, by the pentagonal number theorem, as

where the exponents of *x* on the right hand side are the generalized pentagonal numbers; i.e., numbers of the form ½*m*(3*m* − 1), where *m* is an integer. The signs in the summation alternate as . This theorem can be used to derive a recurrence for the partition function:

*p*(*k*) =*p*(*k*− 1) +*p*(*k*− 2) −*p*(*k*− 5) −*p*(*k*− 7) +*p*(*k*− 12) +*p*(*k*− 15) −*p*(*k*− 22) − ...

where p(0) is taken to equal 1, and p(k) is taken to be zero for negative k.

### Congruences

Srinivasa Ramanujan is credited with discovering that congruences in the number of partitions exist for arguments that are integers ending in 4 and 9.^{6}

For instance, the number of partitions for the integer 4 is 5. For the integer 9, the number of partitions is 30; for 14 there are 135 partitions. This is implied by an identity, also by Ramanujan,^{7}^{8}

where the series is defined as

He also discovered congruences related to 7 and 11:^{9}

and for p=7 proved the identity^{8}

Since 5, 7, and 11 are consecutive primes, one might think that there would be such a congruence for the next prime 13, for some *a*. This is, however, false. It can also be shown that there is no congruence of the form for any prime *b* other than 5, 7, or 11.

In the 1960s, A. O. L. Atkin of the University of Illinois at Chicago discovered additional congruences for small prime moduli. For example:

Ono (2000) proved that there are such congruences for every prime modulus. Later, Ahlgren & Ono (2001) showed there are partition congruences modulo every integer coprime to 6.

### Partition function formulas

#### Recurrence formula

Leonhard Euler's pentagonal number theorem implies the identity

where the numbers 1, 2, 5, 7, ... that appear on the right side of the equation are the generalized pentagonal numbers for nonzero integers *k*. More formally,

where the summation is over all nonzero integers *k* (positive and negative) and *p*(*m*) is taken to be 0 if *m* < 0.

#### Approximation formulas

Approximation formulas exist that are faster to calculate than the exact formula given above.

An asymptotic expression for *p*(*n*) is given by

This asymptotic formula was first obtained by G. H. Hardy and Ramanujan in 1918 and independently by J. V. Uspensky in 1920. Considering *p*(1000), the asymptotic formula gives about 2.4402 × 10^{31}, reasonably close to the exact answer given above (1.415% larger than the true value).

Hardy and Ramanujan obtained an asymptotic expansion with this approximation as the first term:

where

Here, the notation (*m*, *n*) = 1 implies that the sum should occur only over the values of *m* that are relatively prime to *n*. The function *s*(*m*, *k*) is a Dedekind sum.

The error after *v* terms is of the order of the next term, and *v* may be taken to be of the order of . As an example, Hardy and Ramanujan showed that *p*(200) is the nearest integer to the sum of the first *v*=5 terms of the series.

In 1937, Hans Rademacher was able to improve on Hardy and Ramanujan's results by providing a convergent series expression for *p*(*n*). It is^{10}

The proof of Rademacher's formula involves Ford circles, Farey sequences, modular symmetry and the Dedekind eta function in a central way.

It may be shown that the *k*-th term of Rademacher's series is of the order

so that the first term gives the Hardy–Ramanujan asymptotic approximation.

Paul Erdős published an elementary proof of the asymptotic formula for *p*(*n*) in 1942.^{11}^{12}

Techniques for implementing the Hardy-Ramanujan-Rademacher formula efficiently on a computer are discussed in Johansson,^{13} where it is shown that *p*(*n*) can be computed in softly optimal time *O*(*n*^{1/2+ε}). The largest value of the partition function computed exactly is p(10^{20}), which has slightly more than 11 billion digits.^{14}

## Restricted partitions

In both combinatorics and number theory, families of partitions subject to various restrictions are often studied.^{15} This section surveys a few such restrictions.

### Conjugate and self-conjugate partitions

If we now flip the diagram of the partition 6 + 4 + 3 + 1 along its main diagonal, we obtain another partition of 14:

↔ | ||

6 + 4 + 3 + 1 | = | 4 + 3 + 3 + 2 + 1 + 1 |

By turning the rows into columns, we obtain the partition 4 + 3 + 3 + 2 + 1 + 1 of the number 14. Such partitions are said to be *conjugate* of one another.^{16} In the case of the number 4, partitions 4 and 1 + 1 + 1 + 1 are conjugate pairs, and partitions 3 + 1 and 2 + 1 + 1 are conjugate of each other. Of particular interest is the partition 2 + 2, which has itself as conjugate. Such a partition is said to be *self-conjugate*.^{17}

**Claim**: The number of self-conjugate partitions is the same as the number of partitions with distinct odd parts.

**Proof (outline)**: The crucial observation is that every odd part can be "*folded*" in the middle to form a self-conjugate diagram:

↔ |

One can then obtain a bijection between the set of partitions with distinct odd parts and the set of self-conjugate partitions, as illustrated by the following example:

↔ | ||

9 + 7 + 3 | = | 5 + 5 + 4 + 3 + 2 |

Dist. odd | self-conjugate |

### Odd parts and distinct parts

Among the 22 partitions of the number 8, there are 6 that contain only *odd parts*:

- 7 + 1
- 5 + 3
- 5 + 1 + 1 + 1
- 3 + 3 + 1 + 1
- 3 + 1 + 1 + 1 + 1 + 1
- 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1

Alternatively, we could count partitions in which no number occurs more than once. If we count the partitions of 8 with *distinct parts*, we also obtain 6:

- 8
- 7 + 1
- 6 + 2
- 5 + 3
- 5 + 2 + 1
- 4 + 3 + 1

For all positive numbers the number of partitions with odd parts equals the number of partitions with distinct parts.^{18} This result was proved by Leonhard Euler in 1748^{19} and is a special case of Glaisher's theorem.

For every type of restricted partition there is a corresponding function for the number of partitions satisfying the given restriction. An important example is *q*(*n*), the number of partitions of *n* into distinct parts.^{20} The first few values of *q*(*n*) are (starting with *q*(0)=1):

The generating function for *q*(*n*) (partitions into distinct parts) is given by^{21}

The second product can be written ϕ(*x*^{2}) / ϕ(*x*) where ϕ is Euler's function; the pentagonal number theorem can be applied to this as well giving a recurrence for *q*:^{22}

*q*(*k*) =*a*_{k}+*q*(*k*− 1) +*q*(*k*− 2) −*q*(*k*− 5) −*q*(*k*− 7) +*q*(*k*− 12) +*q*(*k*− 15) −*q*(*k*− 22) − ...

where *a*_{k} is (−1)^{m} if *k* = 3*m*^{2} − *m* for some integer *m* and is 0 otherwise.

### Restricted part size or number of parts

Using the same conjugation trick as above, one may show that the number *p*_{k}(*n*) of partitions of *n* into exactly *k* parts is equal to the number of partitions of *n* in which the largest part has size *k*.^{23} The function *p*_{k}(*n*) satisfies the recurrence

*p*_{k}(*n*) =*p*_{k}(*n*−*k*) +*p*_{k − 1}(*n*−*1*)

with initial values *p*_{0}(0) = 1 and *p*_{k}(*n*) = 0 if *n* ≤ 0 or *k* ≤ 0.

One possible generating function for such partitions, taking *k* fixed and *n* variable, is

More generally, if *T* is a set of positive integers then the number of partitions of *n*, all of whose parts belong to *T*, has generating function

This can be used to solve change-making problems (where the set *T* specifies the available coins). As two particular cases, one has that the number of partitions of *n* in which all parts are 1 or 2 (or, equivalently, the number of partitions of *n* into 1 or 2 parts) is

and the number of partitions of *n* in which all parts are 1, 2 or 3 (or, equivalently, the number of partitions of *n* into at most three parts) is the nearest integer to (*n* + 3)^{2} / 12.^{24}

#### Asymptotics

The asymptotic expression for *p*(*n*) implies that

where .^{25}

If *A* is a set of natural numbers, we let *p*_{A}(*n*) denote the number of partitions of *n* into elements of *A*. If *A* possesses positive natural density α then

and conversely if this asymptotic property holds for *p*_{A}(*n*) then *A* has natural density α.^{26} This result was stated, with a sketch of proof, by Erdős in 1942.^{11}^{27}

If *A* is a finite set, this analysis does not apply (the density of a finite set is zero). If *A* has *k* elements whose greatest common divisor is 1, then^{28}

### Partitions in a rectangle and Gaussian binomial coefficients

One may also simultaneously limit the number and size of the parts. Let *p*(*N*, *M*; *n*) denote the number of partitions of *n* with at most *M* parts, each of size at most *N*. Equivalently, these are the partitions whose Young diagram fits inside an *M* × *N* rectangle. There is a recurrence relation

obtained by observing that counts the partitions of *n* into exactly *M* parts of size at most *N*, and subtracting 1 from each part of such a partitions yields a partition of *n*−*M*.^{29}

The Gaussian binomial coefficient is defined as:

The Gaussian binomial coefficient is related to the generating function of *p*(*M*, *N*; *n*) by the equality

## Rank and Durfee square

The *rank* of a partition is the largest number *k* such that the partition contains at least *k* parts of size larger than *k*. For example, the partition 4 + 3 + 3 + 2 + 1 + 1 has rank 3 because it contains 3 parts that are ≥ 3, but does not contain 4 parts that are ≥ 4. In the Ferrers diagram or Young diagram of a partition of rank *r*, the *r* × *r* square of entries in the upper-left is known as the Durfee square:

The Durfee square has applications within combinatorics in the proofs of various partition identities.^{30} It also has some practical significance in the form of the h-index.

## Young's lattice

There is a natural partial order on partitions given by inclusion of Young diagrams. This partially ordered set is known as *Young's lattice*. The lattice was originally defined in the context of representation theory, where it is used to describe of the irreducible representations of symmetric groups *S*_{n} for all *n*, together with their branching properties, in characteristic zero. It also has received significant study for its purely combinatorial properties; notably, it is the motivating example of a differential poset.

## Algorithm

The partition function is inherently recursive in nature since the results of smaller numbers appear as components in the result of a larger number.

For example, this set of partitions of 7:

- 7
- 6+1
- 5+1+1
- 5+2
- 4+1+1+1
- 4+2+1
- 4+3
- 3+1+1+1+1
- 3+2+1+1
- 3+2+2
- 3+3+1
- 2+1+1+1+1+1
- 2+2+1+1+1
- 2+2+2+1
- 1+1+1+1+1+1+1

can be arranged by grouping the largest summand as follows:

- 7
- 6
- 1

- 5
- 1+1
- 2

- 4
- 1+1+1
- 2+1
- 3

- 3
- 1+1+1+1
- 2+1+1
- 2+2
- 3+1

- 2
- 1+1+1+1+1
- 2+1+1+1
- 2+2+1

- 1
- 1+1+1+1+1+1

Let p(n,m) be the number of partitions of n using only positive integers <= m. Clearly p(n) = p(n,n) and if m > n then p(n,m) = p(n,n) = p(n). (being allowed to use integers > n doesn't add anything since you can't use them)

Then, to compute p(7), the above list leads to the following, where the indented list items represent the "count" of the number of items in that grouping:

- 7
- p(0) (= p(0,7))

- 6
- p(1) (= p(1,6))

- 5
- p(2) (= p(2,5))

- 4
- p(3) (= p(3,4))

- 3
- p(4,3)

- 2
- p(5,2)

- 1
- p(6,1)

This arrangement illustrates the recursive nature of this function.

Given the above as intuition, here is a Java program which computes p(n):

```
/**
* Counts the number of ways of representing n as a distinct sum of
* positive integers <= m.
*
* @param n number to sum to
* @param m restriction on the component numbers
* @return number of ways
*/
public static long p(final long n, final long m) {
if (n <= 1) {
// recursive stopping condition
return 1;
}
if (m > n) {
// using component numbers > n doesn't contribute any more
// ways to sum to n
return p(n, n);
}
long sum = 0;
for (long k = 1; k <= m; k++) {
sum = sum + p(n-k, k);
}
return sum;
}
/**
* Counts the number of ways of representing n as a distinct
* sum of positive integers.
*
* @param n number to sum to
* @return number of ways
*/
public static long p(final long n) {
return p(n, n);
}
```

This algorithm is suitable for n <= 50 or so but since it recomputes smaller values over and over, it is not time-efficient for larger values. This benefits greatly from memoization.

Here is the same algorithm with memoization implemented. Note that this now returns a BigInteger to allow it to compute the value of something like p(1000).

```
package partitionfunction;
import java.math.BigInteger;
import java.util.HashMap;
import java.util.Map;
public class PartitionFunction {
static final private Map<String, BigInteger> cache = new HashMap<>();
/**
* Counts the number of ways of representing n as a distinct sum of
* positive integers <= m.
*
* @param n number to sum to
* @param m restriction on the component numbers
* @return number of ways
*/
public static BigInteger p(final long n, final long m) {
if (n <= 1) {
// recursive stopping condition
return BigInteger.ONE;
}
if (m > n) {
// using component numbers > n doesn't contribute any more
// ways to sum to n
return p(n, n);
}
String cacheKey = n + "," + m;
BigInteger sum = cache.get(cacheKey);
if (sum != null) {
return sum;
}
sum = BigInteger.ZERO;
for (long k = 1; k <= m; k++) {
sum = sum.add(p(n-k, k));
}
cache.put(cacheKey, sum);
return sum;
}
/**
* Counts the number of ways of representing n as a distinct
* sum of positive integers.
*
* @param n number to sum to
* @return number of ways
*/
public static BigInteger p(final long n) {
return p(n, n);
}
public static void main(String[] args) {
final long n = 1000;
System.out.println("p(" + n + ") = " + p(n));
}
}
```

## See also

Wikimedia Commons has media related to .Integer partitions |

- Rank of a partition, a different notion of
*rank* - Crank of a partition
- Dominance order
- Factorization
- Integer factorization
- Partition of a set
- Stars and bars (combinatorics)
- Plane partition
- Polite number, defined by partitions into consecutive integers
- Multiplicative partition
- Twelvefold way
- Ewens's sampling formula
- Faà di Bruno's formula
- Multipartition
- Newton's identities
- Leibniz's distribution table for integer partitions
- Smallest-parts function
- A Goldbach partition is the partition of an even number into primes (see Goldbach's conjecture)
- Kostant's partition function

## Notes

**^**Andrews (1976) p.199**^**Josuat-Vergès, Matthieu (2010), "Bijections between pattern-avoiding fillings of Young diagrams",*Journal of Combinatorial Theory*, Series A**117**(8): 1218–1230, arXiv:0801.4928, doi:10.1016/j.jcta.2010.03.006, MR 2677686.**^**"Sloane's A070177 ",*The On-Line Encyclopedia of Integer Sequences*. OEIS Foundation.**^**http://primes.utm.edu/top20/page.php?id=54**^**Abramowitz and Stegun p. 825, 24.2.1 eq. I(B)**^**Hardy and Wright (2008) Theorem 359, p.380**^**Berndt and Ono, "Ramanujan's Unpublished Manuscript on the Partition and Tau Functions with Proofs and Commentary" [1]- ^
^{a}^{b}Ono (2004) p.87 **^**Hardy and Wright (2008) Theorems 360,361, p.380**^**Andrews (1976) p.69- ^
^{a}^{b}Erdős, Pál (1942). "On an elementary proof of some asymptotic formulas in the theory of partitions".*Ann. Math*. (2)**43**: 437–450. doi:10.2307/1968802. Zbl 0061.07905. **^**Nathanson (2000) p.456**^**F. Johansson,*Efficient implementation of the Hardy-Ramanujan-Rademacher formula*, LMS Journal of Computation and Mathematics 15 (2012), 341-359. [2]**^**Fredrik Johansson (March 2, 2014). "New partition function record: p(10^{20}) computed".**^**Alder, Henry L. (1969). "Partition identities - from Euler to the present".*The Amer. Math. Monthly***76**: 733–746.**^**Hardy and Wright (2008) p.362**^**Hardy and Wright (2008) p.368**^**Hardy and Wright (2008) p.365**^**Andrews, George E.*Number Theory*. W. B. Saunders Company, Philadelphia, 1971. Dover edition, page 149–150.**^**Notation follows Abramowitz and Stegun p. 825**^**Abramowitz and Stegun p. 825, 24.2.2 eq. I(B)**^**Abramowitz and Stegun p. 826, 24.2.2 eq. II(A)**^**Here the notation follows that of Stanley (1997), Section 1.**^**Hardy, G.H.*Some Famous Problems of the Theory of Numbers*. Clarendon Press, 1920.**^**Andrews (1976) pp70,97**^**Nathanson (2000) pp.475–485**^**Nathanson (2000) p.495**^**Nathanson (2000) p.458–464**^**Andrews (1976) pp.33-34**^**see, e.g., Stanley (1997), p. 58

## References

- Ahlgren, Scott; Ono, Ken (2001). "Congruence properties for the partition function" (PDF).
*Proceedings of the National Academy of Sciences***98**(23): 12882–12884. doi:10.1073/pnas.191488598. MR 1862931. - George E. Andrews,
*The Theory of Partitions*(1976), Cambridge University Press.*ISBN 0-521-63766-X*. - Apostol, Tom M. (1990) [1976].
*Modular functions and Dirichlet series in number theory*. Graduate Texts in Mathematics**41**(2nd ed.). New York etc.: Springer-Verlag. ISBN 0-387-97127-0. Zbl 0697.10023.*(See chapter 5 for a modern pedagogical intro to Rademacher's formula)*. - Hardy, G. H.; Wright, E. M. (2008) [1938].
*An Introduction to the Theory of Numbers*. Revised by D. R. Heath-Brown and J. H. Silverman. Foreword by Andrew Wiles. (6th ed.). Oxford: Oxford University Press. ISBN 978-0-19-921986-5. MR 2445243. Zbl 1159.11001. - Lehmer, D. H. (1939). "On the remainder and convergence of the series for the partition function".
*Trans. Amer. Math. Soc.***46**: 362–373. doi:10.1090/S0002-9947-1939-0000410-9. MR 0000410. Zbl 0022.20401. Provides the main formula (no derivatives), remainder, and older form for A_{k}(n).) - Gupta, Gwyther, Miller,
*Roy. Soc. Math. Tables, vol 4, Tables of partitions*, (1962)*(Has text, nearly complete bibliography, but they (and Abramowitz) missed the Selberg formula for A*_{k}(n), which is in Whiteman.) - Macdonald, Ian G. (1979).
*Symmetric functions and Hall polynomials*. Oxford Mathematical Monographs. Oxford University Press. ISBN 0-19-853530-9. Zbl 0487.20007. (See section I.1) - Nathanson, M.B. (2000).
*Elementary Methods in Number Theory*. Graduate Texts in Mathematics**195**. Springer-Verlag. ISBN 0-387-98912-9. Zbl 0953.11002. - Ono, Ken (2000). "Distribution of the partition function modulo
*m*".*Ann. of Math.***151**(1): 293–307. doi:10.2307/121118. MR 1745012. Zbl 0984.11050. - Ono, Ken (2004).
*The web of modularity: arithmetic of the coefficients of modular forms and q-series*. CBMS Regional Conference Series in Mathematics**102**. Providence, RI: American Mathematical Society. ISBN 0-8218-3368-5. Zbl 1119.11026. - Sautoy, Marcus Du. The Music of the Primes. New York: Perennial-HarperCollins, 2003.
- Richard P. Stanley,
*Enumerative Combinatorics*, Volumes 1 and 2. Cambridge University Press, 1999 ISBN 0-521-56069-1 - Whiteman, A. L. (1956).
*A sum connected with the series for the partition function*.*Pacific Journal of Math.***6**(1). pp. 159–176. Zbl 0071.04004.*(Provides the Selberg formula. The older form is the finite Fourier expansion of Selberg.)* - Hans Rademacher,
*Collected Papers of Hans Rademacher*, (1974) MIT Press; v II, p 100–107, 108–122, 460–475. - Miklós Bóna (2002).
*A Walk Through Combinatorics: An Introduction to Enumeration and Graph Theory*. World Scientific Publishing. ISBN 981-02-4900-4. (qn elementary introduction to the topic of integer partition, including a discussion of Ferrers graphs) - George E. Andrews, Kimmo Eriksson (2004).
*Integer Partitions*. Cambridge University Press. ISBN 0-521-60090-1. - 'A Disappearing Number', devised piece by Complicite, mention Ramanujan's work on the Partition Function, 2007

## External links

- Hazewinkel, Michiel, ed. (2001), "Partition",
*Encyclopedia of Mathematics*, Springer, ISBN 978-1-55608-010-4 - Partition and composition calculator
- First 4096 values of the partition function
- An algorithm to compute the partition function
- Weisstein, Eric W., "Partition",
*MathWorld*. - Weisstein, Eric W., "Partition Function P",
*MathWorld*. - Pieces of Number from Science News Online
- Lectures on Integer Partitions by Herbert S. Wilf
- Counting with partitions with reference tables to the On-Line Encyclopedia of Integer Sequences
- Integer partitions entry in the FindStat database
- Integer::Partition Perl module from CPAN
- Fast Algorithms For Generating Integer Partitions
- Generating All Partitions: A Comparison Of Two Encodings
- Amanda Folsom, Zachary A. Kent, and Ken Ono,
*l*-adic properties of the partition function. In press. - Jan Hendrik Bruinier and Ken Ono, An algebraic formula for the partition function. In press.