P {partitions} | R Documentation |
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
|
m |
In function |
give |
Boolean, with default |
include.zero |
In |
include.fewer |
In function |
f |
In function |
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.
Note
Functions P()
and Q()
use unsigned long long
integers, a type which is system-dependent. For me, P()
works
for n
equal to or less than 416, and Q()
works for
n
less than or equal to 792. YMMV; none of the
methods test for overflow, so use with care!
Author(s)
Robin K. S. Hankin; S()
is due to an anonymous JSS referee
Examples
P(10,give=TRUE)
Q(10,give=TRUE)
R(10,20,include.zero=FALSE)
R(10,20,include.zero=TRUE)
S(1:4,5)