Skip to content

PlanePartitions ​

Plane partitions of nn — 2D arrays of positive integers nonincreasing along rows and down columns, summing to nn — as a lazy indexed family.

PlanePartitions(size)the plane partitions summing to size (OEIS A000219).
Typed signatures
TypePackageApplies
(integer<0..>) -> indexed_collection<list<list<integer>>>combinatoricsalways

Domain: Collections

Details
  • A lazy indexed collection with no known simple closed form, unlike ordinary partitions' generating function; the count comes from MacMahon's product ∏k(1−xk)−k\prod_k (1 - x^k)^{-k} — Count(PlanePartitions(6))=48Count(PlanePartitions(6)) = 48.
  • Each element is the array's rows; entries weakly decrease along every row and down every column, and the whole array sums to nn.
  • Unranked in shape-then-entries order: by row-length shape first, then the flattened array.
  • Stays TS. A rank is found by walking a table of counts by shape (the layers of a plane partition are nested shapes), then enumerating the one shape it lands in, so At answers up to about n=46n = 46, far past what the whole list could be built. A table over rows and sums would be far larger than the list (BoxedPlanePartitions has one, since a box bounds the rows).

Enumeration

Examples

1 more kept as data, checked against the oracles
Basic #

Count(PlanePartitions(4))=13Count(PlanePartitions(4)) = 13, A000219

live ↗
InCount(PlanePartitions(4))\mathrm{Count}(\mathrm{PlanePartitions}(4))Out1313
About
Examples2
CrosswalkOEISSageMath

See also: IntegerPartitions, Count, At