Routines to enumerate all partitions of an integer; includes restricted and unequal partitions.

This package comprises eight functions: `P()`

, `Q()`

,
`R()`

, and `S()`

give the number of partitions, unequal
partitions, restricted partitions, and block partitions of an integer.

Functions `parts()`

, `diffparts()`

, `restrictedparts()`

,
and `blockparts()`

enumerate these partitions.

Function `conjugate()`

gives the conjugate of a partition and
function `durfee()`

gives the size of the Durfee square.

**NB** the emphasis in this package is terse, efficient C code.
This means that there is a minimum of argument checking. For example,
function `conjugate()`

assumes that the partition is in standard
form (ie nonincreasing); supplying a vector in nonstandard form will
result in garbage being returned silently. Note that a block partition
is not necessarily in standard form.

Robin K. S. Hankin

G. E. Andrews 1998

*The Theory of Partitions*, Cambridge University PressM. Abramowitz and I. A. Stegun 1965.

*Handbook of Mathematical Functions*, New York: DoverG. H. Hardy and E. M. Wright 1985

*An introduction to the theory of numbers*, Clarendon Press: Oxford (fifth edition)R. K. S. Hankin 2006. “Additive integer partitions in

**R**”.*Journal of Statistical Software*, Volume 16, code snippet 1R. K. S. Hankin 2007. “Urn sampling without replacement: enumerative combinatorics in

**R**”.*Journal of Statistical Software*, Volume 17, code snippet 1R. K. S. Hankin 2007. “Set partitions in

**R**”.*Journal of Statistical Software*, Volume 23, code snippet 2

1 2 3 4 5 6 |

Questions? Problems? Suggestions? Tweet to @rdrrHQ or email at ian@mutexlabs.com.

All documentation is copyright its authors; we didn't write any of that.