Computation of P(n,m), the Number of Integer Partitions of n into Exactly m Parts
Abstract
Two algorithms for computing P(n,m), the number of integer partitions of n into exactly m parts, are described, and using a combination of these two algorithms, the resulting algorithm is O(n3/2). The second algorithm uses a list of P(n), the number of integer partitions of n, which is cached and therefore needs to be computed only once. Computing this list is also O(n3/2). With these algorithms also Q(n,m), the number of integer partitions of n into exactly m distinct parts, and a list of Q(n), the number of integer partitions of n into distinct parts, can be computed in O(n3/2). A list of P(n,1)..P(n,n) and P(m,m)..P(n,m) can be computed in O(n2). A computer algebra program is listed implementing these algorithms, and some timings of this program are provided.
Turn this paper into a full lesson
ArcXiv compiles a staged curriculum from this paper: 8-12 lessons across beginner → advanced, synthesised section guides, visuals, flashcards, a quiz, exercises, and on-demand deep dives per section. Grounded in the abstract, never invented.