Skip to content

Commit 947506e

Browse files
committed
remove extra blank line, remove unused imports, slightly unify cardinality
1 parent 81b59fa commit 947506e

File tree

1 file changed

+31
-20
lines changed

1 file changed

+31
-20
lines changed

src/sage/combinat/plane_partition.py

Lines changed: 31 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@
3838
from sage.structure.parent import Parent
3939
from sage.structure.unique_representation import UniqueRepresentation
4040
from sage.rings.integer_ring import ZZ
41-
from sage.arith.misc import Sigma, integer_floor as floor, integer_ceil as ceil, binomial, factorial
41+
from sage.arith.misc import Sigma, binomial, factorial
4242
from sage.sets.disjoint_union_enumerated_sets import DisjointUnionEnumeratedSets
4343
from sage.sets.family import Family
4444
from sage.sets.non_negative_integers import NonNegativeIntegers
@@ -1651,7 +1651,6 @@ def cardinality(self) -> Integer:
16511651
for j in range(1, B + 1)
16521652
for k in range(1, C + 1)))
16531653

1654-
16551654
def random_element(self) -> PP:
16561655
r"""
16571656
Return a uniformly random plane partition inside a box.
@@ -2200,13 +2199,13 @@ def cardinality(self) -> Integer:
22002199
132
22012200
"""
22022201
a = self._box[0]
2203-
numerator = (prod(3*i - 1 for i in range(1, a+1))
2204-
* prod(i + j + a - 1 for j in range(1, a+1)
2205-
for i in range(1, j+1)))
2206-
denominator = (prod(3*i - 2 for i in range(1, a+1))
2207-
* prod(2*i + j - 1 for j in range(1, a+1)
2208-
for i in range(1, j+1)))
2209-
return Integer(numerator // denominator)
2202+
num = (prod(3*i - 1 for i in range(1, a + 1))
2203+
* prod(i + j + a - 1 for j in range(1, a + 1)
2204+
for i in range(1, j + 1)))
2205+
den = (prod(3*i - 2 for i in range(1, a + 1))
2206+
* prod(2*i + j - 1 for j in range(1, a + 1)
2207+
for i in range(1, j + 1)))
2208+
return Integer(num // den)
22102209

22112210

22122211
# Class 4
@@ -2382,8 +2381,9 @@ def cardinality(self) -> Integer:
23822381
66
23832382
"""
23842383
a = self._box[0]
2385-
return Integer(prod(i + j + a - 1 for j in range(1, a+1) for i in range(1, j+1))
2386-
// prod(i + 2*j - 2 for j in range(1, a+1) for i in range(1, j+1)))
2384+
num = prod(i + j + a - 1 for j in range(1, a + 1) for i in range(1, j + 1))
2385+
den = prod(i + 2*j - 2 for j in range(1, a + 1) for i in range(1, j + 1))
2386+
return Integer(num // den)
23872387

23882388

23892389
# Class 5
@@ -2740,9 +2740,9 @@ def cardinality(self) -> Integer:
27402740
"""
27412741
a = self._box[0]
27422742
c = self._box[2]
2743-
return Integer(binomial(c//2 + a - 1, a - 1)
2743+
return Integer(binomial(c // 2 + a - 1, a - 1)
27442744
* prod((c + i + j + 1) / (i + j + 1)
2745-
for j in range(1, 1+a-2) for i in range(1, 1+j)))
2745+
for j in range(1, a - 1) for i in range(1, 1 + j)))
27462746

27472747

27482748
# Class 7
@@ -2837,10 +2837,15 @@ def cardinality(self) -> Integer:
28372837
"""
28382838
a = self._box[0]
28392839
c = self._box[2]
2840-
return Integer(prod(Integer(i + j + k - 1) / Integer(i + j + k - 2)
2841-
for i in range(1, 1+a//2)
2842-
for j in range(1, 1+ceil(a/2))
2843-
for k in range(1, 1+c//2)))
2840+
num = prod(i + j + k - 1
2841+
for i in range(1, 1 + a // 2)
2842+
for j in range(1, 1 + (a + 1) // 2)
2843+
for k in range(1, 1 + c // 2))
2844+
den = prod(i + j + k - 2
2845+
for i in range(1, 1 + a // 2)
2846+
for j in range(1, 1 + (a + 1) // 2)
2847+
for k in range(1, 1 + c // 2))
2848+
return Integer(num // den)
28442849

28452850

28462851
# Class 8
@@ -2914,7 +2919,9 @@ def cardinality(self) -> Integer:
29142919
11
29152920
"""
29162921
a = self._box[0] // 2
2917-
return Integer(prod((3*i+1) * factorial(6*i) * factorial(2*i) / (factorial(4*i+1) * factorial(4*i)) for i in range(a)))
2922+
num = prod((3*i + 1) * factorial(6*i) * factorial(2*i) for i in range(a))
2923+
den = prod((factorial(4*i + 1) * factorial(4*i)) for i in range(a))
2924+
return Integer(num // den)
29182925

29192926

29202927
# Class 9
@@ -2988,7 +2995,9 @@ def cardinality(self) -> Integer:
29882995
49
29892996
"""
29902997
a = self._box[0] // 2
2991-
return Integer(prod(factorial(3*i+1)**2 / factorial(a+i)**2 for i in range(a)))
2998+
num = prod(factorial(3*i + 1)**2 for i in range(a))
2999+
den = prod(factorial(a + i)**2 for i in range(a))
3000+
return Integer(num // den)
29923001

29933002

29943003
# Class 10
@@ -3202,4 +3211,6 @@ def cardinality(self) -> Integer:
32023211
7
32033212
"""
32043213
a = self._box[0] // 2
3205-
return Integer(prod(factorial(3*i+1) / factorial(a+i) for i in range(a)))
3214+
num = prod(factorial(3*i + 1) for i in range(a))
3215+
den = prod(factorial(a + i) for i in range(a))
3216+
return Integer(num // den)

0 commit comments

Comments
 (0)