Skip to content

BoxedPlanePartitions ​

Plane partitions of any size fitting in an a×b×ca \times b \times c box — at most aa rows, each at most bb long, entries at most cc — as a lazy indexed family.

BoxedPlanePartitions(a, b, c)the plane partitions fitting an a×b×ca \times b \times c box.
Typed signatures
TypePackageApplies
(integer<0..>, integer<0..>, integer<0..>) -> indexed_collection<list<list<integer>>>combinatoricsalways

Domain: Collections

Details
  • A lazy indexed collection, exact and closed-form by MacMahon's box formula: Count(BoxedPlanePartitions(a,b,c))=∏i=1a∏j=1b∏k=1ci+j+k−1i+j+k−2Count(BoxedPlanePartitions(a,b,c)) = \prod_{i=1}^{a} \prod_{j=1}^{b} \prod_{k=1}^{c} \frac{i+j+k-1}{i+j+k-2} — Count(BoxedPlanePartitions(2,2,2))=20Count(BoxedPlanePartitions(2,2,2)) = 20.
  • Each element is the array's rows, PlanePartitions's ragged carrier: entries weakly decrease along every row and down every column, with trailing zeros trimmed rather than stored.
  • Unranked in shape-then-entries order, same as PlanePartitions. A rank is found by walking a table over the rows a box allows (counting what each row starts), so At answers in boxes whose whole list is far too long to build, up to about (5,5,5)(5, 5, 5) (267,227,532 partitions); past that a call is refused as too long, and past 2532^{53} partitions only the count answers.

Enumeration

Examples

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

Count(BoxedPlanePartitions(2,2,2))=20Count(BoxedPlanePartitions(2,2,2)) = 20, MacMahon's box formula

live ↗
InCount(BoxedPlanePartitions(2,2,2))\mathrm{Count}(\mathrm{BoxedPlanePartitions}(2, 2, 2))Out2020
Scope #

A degenerate 1×1×n1 \times 1 \times n box: Count=n+1Count = n + 1

live ↗
InCount(BoxedPlanePartitions(1,1,4))\mathrm{Count}(\mathrm{BoxedPlanePartitions}(1, 1, 4))Out55
About
Examples3
CrosswalkSageMath

See also: PlanePartitions, Count, At