Learn R Programming

partitions (version 1.8-2)

P: Number of partitions of an integer

Description

Given an integer, P() returns the number of additive partitions, Q() returns the number of unequal partitions, and R() returns the number of restricted partitions. Function S() returns the number of block partitions.

Usage

P(n, give = FALSE)
Q(n, give = FALSE)
R(m, n, include.zero = FALSE)
S(f, n = NULL, include.fewer = FALSE)

Arguments

n
Integer whose partition number is desired. In function S(), the default of NULL means to return the number of partitions of any size
m
In function R(), the order of the decomposition
give
Boolean, with default FALSE meaning to return just P(n) or Q(n) and TRUE meaning to return P(1:n) or Q(1:n) (this option takes no extra computation)
include.zero
In restrictedparts(), Boolean with default FALSE meaning to count only partitions of $n$ into exactly $m$ parts; and TRUE meaning to include partitions of $n$ into at most $m$ parts
include.fewer
In function blockparts(), Boolean with default FALSE meaning to return partitions into exactly n and TRUE meaning to return partitions into at most n
f
In function S(), the stack vector

Details

Functions P() and Q() use Euler's recursion formula. Function R() enumerates the partitions using Hindenburg's method (see Andrews) and counts them until the recursion bottoms out.

Function S() finds the coefficient of~$x^n$ in the generating function $\prod_{i=1}^L\sum_{j=0}^{f_i} x^j$, where $L$ is the length of f, using the polynom package. All these functions return a double.

Examples

Run this code
P(10,give=TRUE)
Q(10,give=TRUE)
R(10,20,include.zero=FALSE)
R(10,20,include.zero=TRUE)

S(1:4,5)

Run the code above in your browser using DataLab