Computing the continuous discretely: The magic quest for a volume Matthias Beck San Francisco State University math.sfsu.edu/beck
Joint work with... Dennis Pixton (Birkhoff volume) Ricardo Diaz and Sinai Robins (Fourier-Dedekind sums) Ira Gessel and Takao Komatsu (restricted partition function) Jesus De Loera, Mike Develin, Julian Pfeifle, Richard Stanley (roots of Ehrhart polynomials) Integer-point enumeration in polytopes Matthias Beck 2
Birkhoff polytope B n = x 11 x 1n.. x n1... x nn R n2 0 : j x jk = 1 for all 1 k n k x jk = 1 for all 1 j n Integer-point enumeration in polytopes Matthias Beck 3
Birkhoff polytope B n = x 11 x 1n.. x n1... x nn R n2 0 : j x jk = 1 for all 1 k n k x jk = 1 for all 1 j n B n is a convex polytope of dimension (n 1) 2 Vertices are the n n-permutation matrices. Integer-point enumeration in polytopes Matthias Beck 3
Birkhoff polytope B n = x 11 x 1n.. x n1... x nn R n2 0 : j x jk = 1 for all 1 k n k x jk = 1 for all 1 j n B n is a convex polytope of dimension (n 1) 2 Vertices are the n n-permutation matrices. vol B n =? Integer-point enumeration in polytopes Matthias Beck 3
Birkhoff polytope B n = x 11 x 1n.. x n1... x nn R n2 0 : j x jk = 1 for all 1 k n k x jk = 1 for all 1 j n B n is a convex polytope of dimension (n 1) 2 Vertices are the n n-permutation matrices. vol B n =? ( One approach: for X R d # ) tx Z d, vol X = lim t t d Integer-point enumeration in polytopes Matthias Beck 3
(Weak) semimagic squares H n (t) := # (tb n Z n2) = # x 11 x 1n.. x n1... x nn Z n2 0 : j x jk = t k x jk = t Integer-point enumeration in polytopes Matthias Beck 4
(Weak) semimagic squares H n (t) := # (tb n Z n2) = # x 11 x 1n.. x n1... x nn Z n2 0 : j x jk = t k x jk = t Theorem (Ehrhart, Stanley 1973, conjectured by Anand-Dumir-Gupta 1966) H n (t) is a polynomial in t of degree (n 1) 2. Integer-point enumeration in polytopes Matthias Beck 4
(Weak) semimagic squares H n (t) := # (tb n Z n2) = # x 11 x 1n.. x n1... x nn Z n2 0 : j x jk = t k x jk = t Theorem (Ehrhart, Stanley 1973, conjectured by Anand-Dumir-Gupta 1966) H n (t) is a polynomial in t of degree (n 1) 2. For example... H 1 (t) = 1 H 2 (t) = t + 1 (MacMahon 1905) H 3 (t) = 3 ( t+3 4 ) ( + t+2 ) 2 = 1 8 t4 + 3 4 t3 + 15 8 t2 + 9 4 t + 1 Integer-point enumeration in polytopes Matthias Beck 4
Ehrhart quasi-polynomials Rational (convex) polytope P convex hull of finitely many points in Q d Alternative description: P = { x R d : A x b } { x R d 0 : A x = b} Integer-point enumeration in polytopes Matthias Beck 5
Ehrhart quasi-polynomials Rational (convex) polytope P convex hull of finitely many points in Q d Alternative description: P = { x R d : A x b } { x R d 0 : A x = b} For t Z >0, let L P (t) := # ( tp Z d) Integer-point enumeration in polytopes Matthias Beck 5
Ehrhart quasi-polynomials Rational (convex) polytope P convex hull of finitely many points in Q d Alternative description: P = { x R d : A x b } { x R d 0 : A x = b} For t Z >0, let L P (t) := # ( tp Z d) Quasi-polynomial c d (t) t d + c d 1 (t) t d 1 + + c 0 (t) where c k (t) are periodic Theorem (Ehrhart 1967) If P is a rational polytope, then... L P (t) and L P (t) are quasi-polynomials in t of degree dim P If P has integer vertices, then L P and L P are polynomials Leading term: vol(p ) (suitably normalized) L P (0) = χ(p ) (Macdonald 1970) L P ( t) = ( 1) dim P L P (t) Integer-point enumeration in polytopes Matthias Beck 5
(Weak) semimagic squares revisited H n (t) = L Bn (t) = # x 11 x 1n.. x n1... x nn L B n (t) = # x 11 x 1n.. x n1... x nn Z n2 0 : Z n2 >0 : j x jk = t k x jk = t j x jk = t k x jk = t Integer-point enumeration in polytopes Matthias Beck 6
(Weak) semimagic squares revisited H n (t) = L Bn (t) = # x 11 x 1n.. x n1... x nn L B n (t) = # x 11 x 1n.. x n1... x nn Z n2 0 : Z n2 >0 : j x jk = t k x jk = t j x jk = t k x jk = t L B n (t) = L Bn (t n), so by Ehrhart-Macdonald reciprocity (Ehrhart, Stanley 1973) H n ( n t) = ( 1) (n 1)2 H n (t) H n ( 1) = = H n ( n + 1) = 0. Integer-point enumeration in polytopes Matthias Beck 6
Computation of Ehrhart (quasi-)polynomials Pommersheim (1993): 3-dimensional tetrahedra connection to Dedekind sum b 1 cot πka πk cot b b k=1 Integer-point enumeration in polytopes Matthias Beck 7
Computation of Ehrhart (quasi-)polynomials Pommersheim (1993): 3-dimensional tetrahedra connection to Dedekind sum b 1 cot πka πk cot b b k=1 Barvinok (1993): In fixed dimension, t 0 L P(t) x t is polynomial-time computable Integer-point enumeration in polytopes Matthias Beck 7
Computation of Ehrhart (quasi-)polynomials Pommersheim (1993): 3-dimensional tetrahedra connection to Dedekind sum b 1 cot πka πk cot b b k=1 Barvinok (1993): In fixed dimension, t 0 L P(t) x t is polynomial-time computable Formulas by Danilov, Brion-Vergne, Kantor-Khovanskii-Puklikov, Diaz- Robins, Chen, Baldoni-DeLoera-Szenes-Vergne, Lasserre-Zeron,... Integer-point enumeration in polytopes Matthias Beck 7
Euler s generating function P := { x R d 0 : A x = b} A = c 1 c 2 c d Integer-point enumeration in polytopes Matthias Beck 8
Euler s generating function P := { x R d 0 : A x = b} A = c 1 c 2 c d L P (t) equals the coefficient of z tb := z tb 1 1 z tb m m 1 (1 z c 1 ) (1 z c d ) of the function expanded as a power series centered at z = 0. Integer-point enumeration in polytopes Matthias Beck 8
Euler s generating function P := { x R d 0 : A x = b} A = c 1 c 2 c d L P (t) equals the coefficient of z tb := z tb 1 1 z tb m m 1 (1 z c 1 ) (1 z c d ) of the function expanded as a power series centered at z = 0. Proof Expand each factor into a geometric series. Integer-point enumeration in polytopes Matthias Beck 8
Euler s generating function P := { x R d 0 : A x = b} A = c 1 c 2 c d L P (t) equals the coefficient of z tb := z tb 1 1 z tb m m 1 (1 z c 1 ) (1 z c d ) of the function expanded as a power series centered at z = 0. Proof Expand each factor into a geometric series. Equivalently, L P (t) = const 1 (1 z c 1 ) (1 z c d ) z tb Integer-point enumeration in polytopes Matthias Beck 8
Partition functions and the Frobenius problem Restricted partition function for A = {a 1,..., a d } p A (t) = # { (m 1,..., m d ) Z d 0 : m 1 a 1 + + m d a d = t } Integer-point enumeration in polytopes Matthias Beck 9
Partition functions and the Frobenius problem Restricted partition function for A = {a 1,..., a d } p A (t) = # { (m 1,..., m d ) Z d 0 : m 1 a 1 + + m d a d = t } Frobenius problem: find the largest value for t such that p A (t) = 0 Integer-point enumeration in polytopes Matthias Beck 9
Partition functions and the Frobenius problem Restricted partition function for A = {a 1,..., a d } p A (t) = # { (m 1,..., m d ) Z d 0 : m 1 a 1 + + m d a d = t } Frobenius problem: find the largest value for t such that p A (t) = 0 p A (t) = L P (t) where P = { (x 1,..., x d ) R d 0 : x 1 a 1 + + x d a d = 1 } Integer-point enumeration in polytopes Matthias Beck 9
Partition functions and the Frobenius problem Restricted partition function for A = {a 1,..., a d } p A (t) = # { (m 1,..., m d ) Z d 0 : m 1 a 1 + + m d a d = t } Frobenius problem: find the largest value for t such that p A (t) = 0 p A (t) = L P (t) where P = { (x 1,..., x d ) R d 0 : x 1 a 1 + + x d a d = 1 } Hence p A (t) is a quasipolynomial in t of degree d 1 and period lcm(a 1,..., a d ). p A (t) = const 1 (1 z a 1 )(1 z a 2) (1 z a d )z t Integer-point enumeration in polytopes Matthias Beck 9
Fourier-Dedekind sum defined for c 1,..., c d Z relatively prime to c Z and n Z σ n (c 1,..., c d ; c) = 1 c λ c =1 λ λ n (1 λ c 1 ) (1 λ c d ) Integer-point enumeration in polytopes Matthias Beck 10
Fourier-Dedekind sum defined for c 1,..., c d Z relatively prime to c Z and n Z σ n (c 1,..., c d ; c) = 1 c λ c =1 λ λ n (1 λ c 1 ) (1 λ c d ) Theorem If a 1,..., a d are pairwise relatively prime then p A (t) = P A (t) + d σ t (a 1,..., â j,..., a d ; a j ) j=1 where P A (t) = 1 a 1 a d d 1 m=0 ( 1) m (d 1 m)! a k 1 k 1 + +k d =m 1 ak d d B k1 B kd k 1! k d! t d 1 m Integer-point enumeration in polytopes Matthias Beck 10
Examples of Fourier-Dedekind sums σ n (c 1,..., c d ; c) = 1 c λ c =1 λ λ n (1 λ c 1 ) (1 λ c d ) σ n (1; c) = (( )) n c + 1 2c where ((x)) = x x 1/2 Integer-point enumeration in polytopes Matthias Beck 11
Examples of Fourier-Dedekind sums σ n (c 1,..., c d ; c) = 1 c λ c =1 λ λ n (1 λ c 1 ) (1 λ c d ) σ n (1; c) = (( )) n c + 1 2c where ((x)) = x x 1/2 c 1 (( a 1 )) (bm + n) ((m )) σ n (a, b; c) = c c m=0 the Dedekind-Rademacher sum 1, a special case of 4c Integer-point enumeration in polytopes Matthias Beck 11
Examples of Fourier-Dedekind sums σ n (c 1,..., c d ; c) = 1 c λ c =1 λ λ n (1 λ c 1 ) (1 λ c d ) σ n (1; c) = (( )) n c + 1 2c where ((x)) = x x 1/2 c 1 (( a 1 )) (bm + n) ((m )) σ n (a, b; c) = c c m=0 the Dedekind-Rademacher sum 1, a special case of 4c Corollaries Pommersheim formulas Ehrhart quasipolynomials of all rational polygons (d = 2) can be computed using Dedekind-Rademacher sums Integer-point enumeration in polytopes Matthias Beck 11
Corollaries due to Ehrhart theory p A ( t) = ( 1) d 1 p A (t (a 1 + + a d )) Integer-point enumeration in polytopes Matthias Beck 12
Corollaries due to Ehrhart theory p A ( t) = ( 1) d 1 p A (t (a 1 + + a d )) If 0 < t < a 1 + + a d then d σ t (a 1,..., â j,..., a d ; a j ) = P A (t) j=1 (Specializes to reciprocity laws for generalized Dedekind sums due to Rademacher and Gessel) Integer-point enumeration in polytopes Matthias Beck 12
Corollaries due to Ehrhart theory p A ( t) = ( 1) d 1 p A (t (a 1 + + a d )) If 0 < t < a 1 + + a d then d σ t (a 1,..., â j,..., a d ; a j ) = P A (t) j=1 (Specializes to reciprocity laws for generalized Dedekind sums due to Rademacher and Gessel) d σ 0 (a 1,..., â j,..., a d ; a j ) = 1 P A (0) j=1 (Equivalent to Zagier s higher dimensional Dedekind sums reciprocity law) Integer-point enumeration in polytopes Matthias Beck 12
Back to Birkhoff... B n = = x 11 x 1n.. R n2 0 : x n1... x nn } {x R n2 0 : A x = 1 j x jk = 1 k x jk = 1 with A = 1 1 1 1... 1 1 1 1 1......... 1 1 1 Integer-point enumeration in polytopes Matthias Beck 13
Back to Birkhoff... with A = B n = } {x R n2 0 : A x = 1 1 1 1 1... 1 1 1 1 1......... 1 1 1 (z 1 z 2n ) t H n (t) = const (1 z 1 z n+1 )(1 z 1 z n+2 ) (1 z n z 2n ) ( ( = const z (z 1 z n ) t w t 1 ) n ) const w (1 z 1 w) (1 z n w) ( ( n ) n ) = const (z 1 z n ) t z t+n 1 k j k (z k z j ) k=1 Integer-point enumeration in polytopes Matthias Beck 13
n = 3 H 3 (t) = const(z 1 z 2 z 3 ) t ( z1 t+2 (z 1 z 2 )(z 1 z 3 ) + z2 t+2 (z 2 z 1 )(z 2 z 3 ) + z3 t+2 (z 3 z 1 )(z 3 z 2 ) ) 3 Integer-point enumeration in polytopes Matthias Beck 14
n = 3 H 3 (t) = const(z 1 z 2 z 3 ) t ( z1 t+2 (z 1 z 2 )(z 1 z 3 ) + z2 t+2 (z 2 z 1 )(z 2 z 3 ) + z3 t+2 (z 3 z 1 )(z 3 z 2 ) = const z1 2t+6 z2 t z t 3 (z 1 z 2 ) 3 (z 1 z 3 ) 3 3 const z t+4 1 z2z 2 3 t (z 1 z 2 ) 3 (z 1 z 3 ) 2 (z 2 z 3 ) ) 3 Integer-point enumeration in polytopes Matthias Beck 14
n = 3 H 3 (t) = const(z 1 z 2 z 3 ) t ( z1 t+2 (z 1 z 2 )(z 1 z 3 ) + z2 t+2 (z 2 z 1 )(z 2 z 3 ) + z3 t+2 (z 3 z 1 )(z 3 z 2 ) = const = const z1 ( = z1 2t+6 z2 t z t 3 (z 1 z 2 ) 3 (z 1 z 3 ) 3 3 const z t+4 z 2t+6 1 ( ) 2 ( ) t + 2 t + 3 3 2 4 (const z z t (z 1 z) 3 1 z2z 2 3 t (z 1 z 2 ) 3 (z 1 z 3 ) 2 (z 2 z 3 ) ) 2 ) 3 const zt+4 1 z3 t (z 1 z 3 ) 5 = 1 8 t4 + 3 4 t3 + 15 8 t2 + 9 4 t + 1 ) 3 Integer-point enumeration in polytopes Matthias Beck 14
n = 3 H 3 (t) = const(z 1 z 2 z 3 ) t ( z1 t+2 (z 1 z 2 )(z 1 z 3 ) + z2 t+2 (z 2 z 1 )(z 2 z 3 ) + z3 t+2 (z 3 z 1 )(z 3 z 2 ) = const = const z1 ( = z1 2t+6 z2 t z t 3 (z 1 z 2 ) 3 (z 1 z 3 ) 3 3 const z t+4 z 2t+6 1 ( ) 2 ( ) t + 2 t + 3 3 2 4 (const z z t (z 1 z) 3 1 z2z 2 3 t (z 1 z 2 ) 3 (z 1 z 3 ) 2 (z 2 z 3 ) ) 2 ) 3 const zt+4 1 z3 t (z 1 z 3 ) 5 = 1 8 t4 + 3 4 t3 + 15 8 t2 + 9 4 t + 1 = vol B 3 = 3 2 1 8 = 9 8 ) 3 Integer-point enumeration in polytopes Matthias Beck 14
n = 4 After computing five constant terms... ( ) 3 t + 3 H 4 (t) = + 6 ( 2t 2 + 5t + 1 ) ( ) ( ) t + 5 t + 5 24 (t + 4) 3 7 8 ( ) ( ) ( ) ( ) t + 6 2t + 8 t + 5 t + 7 +12(t + 1) 4 48 + 12 8 9 9 9 = 11 11340 t9 + 11 630 t8 + 19 135 t7 + 2 3 t6 + 1109 540 t5 + 43 10 t4 + 35117 5670 t3 + 379 63 t2 + 65 18 t + 1 vol B 4 = 4 3 11 11340 = 176 2835 The relative volume of the fundamental domain of the sublattice of Z n2 in the affine space spanned by B n is n n 1. Integer-point enumeration in polytopes Matthias Beck 15
General n H n (t) = const(z 1 z n ) t ( ) n ( n z t+n 1 k m 1,..., m n j k (z k z j ) m 1 + +m n =n k=1 ) mk where denotes that we only sum over those n-tuples of non-negative integers satisfying m 1 + + m n = n and m 1 + + m r > r if 1 r < n. Integer-point enumeration in polytopes Matthias Beck 16
General n H n (t) = const(z 1 z n ) t ( ) n ( n z t+n 1 k m 1,..., m n j k (z k z j ) m 1 + +m n =n k=1 ) mk where denotes that we only sum over those n-tuples of non-negative integers satisfying m 1 + + m n = n and m 1 + + m r > r if 1 r < n. Computational concerns: (2n 2)! # terms in the sum is C n 1 = (n)!(n 1)! Iterated constant-term computation Integer-point enumeration in polytopes Matthias Beck 16
Analytic speed-up tricks Realize when a z k -constant term is zero Integer-point enumeration in polytopes Matthias Beck 17
Analytic speed-up tricks Realize when a z k -constant term is zero Choose most efficient order of iterated constant term computation Integer-point enumeration in polytopes Matthias Beck 17
Analytic speed-up tricks Realize when a z k -constant term is zero Choose most efficient order of iterated constant term computation Factor constant-term computation if some of the variables appear in a symmetric fashion Integer-point enumeration in polytopes Matthias Beck 17
Analytic speed-up tricks Realize when a z k -constant term is zero Choose most efficient order of iterated constant term computation Factor constant-term computation if some of the variables appear in a symmetric fashion If only interested in vol B n, we may dispense a particular constant term if it does not contribute to leading term of H n. Integer-point enumeration in polytopes Matthias Beck 17
Volumes of B n n vol B n 1 1 2 2 3 9/8 4 176/2835 5 23590375/167382319104 6 9700106723/1319281996032 10 6 7 77436678274508929033 137302963682235238399868928 10 8 8 5562533838576105333259507434329 12589036260095477950081480942693339803308928 10 10 9 559498129702796022246895686372766052475496691 92692623409952636498965146712806984296051951329202419606108477153345536 10 14 Integer-point enumeration in polytopes Matthias Beck 18
Volumes of B n n vol B n 1 1 2 2 3 9/8 4 176/2835 5 23590375/167382319104 6 9700106723/1319281996032 10 6 7 77436678274508929033 137302963682235238399868928 10 8 8 5562533838576105333259507434329 12589036260095477950081480942693339803308928 10 10 9 559498129702796022246895686372766052475496691 92692623409952636498965146712806984296051951329202419606108477153345536 10 14 727291284016786420977508457990121862548823260052557333386607889 82816086010676685512567631879687272934462246353308942267798072138805573995627029375088350489282084864 10 7 Integer-point enumeration in polytopes Matthias Beck 18
Computation times n computing time for vol B n 1 <.01 sec 2 <.01 sec 3 <.01 sec 4 <.01 sec 5 <.01 sec 6.18 sec 7 15 sec 8 54 min 9 317 hr 10 6160 d (scaled to a 1GHz processor running Linux) Integer-point enumeration in polytopes Matthias Beck 19
Coefficients and roots of Ehrhart polynomials Lattice (convex) polytope P convex hull of finitely many points in Z d Then L P (t) = c d t d + + c 0 is a polynomial in t. Integer-point enumeration in polytopes Matthias Beck 20
Coefficients and roots of Ehrhart polynomials Lattice (convex) polytope P convex hull of finitely many points in Z d Then L P (t) = c d t d + + c 0 is a polynomial in t We know (intrinsic) geometric interpretations of c d, c d 1, and c 0. What about the other coefficients? Integer-point enumeration in polytopes Matthias Beck 20
Coefficients and roots of Ehrhart polynomials Lattice (convex) polytope P convex hull of finitely many points in Z d Then L P (t) = c d t d + + c 0 is a polynomial in t We know (intrinsic) geometric interpretations of c d, c d 1, and c 0. What about the other coefficients? What can be said about the roots of Ehrhart polynomials? Integer-point enumeration in polytopes Matthias Beck 20
Coefficients and roots of Ehrhart polynomials Lattice (convex) polytope P convex hull of finitely many points in Z d Then L P (t) = c d t d + + c 0 is a polynomial in t We know (intrinsic) geometric interpretations of c d, c d 1, and c 0. What about the other coefficients? What can be said about the roots of Ehrhart polynomials? Theorem (Stanley 1980) The generating function t 0 L P(t) x t can be written in the form f(x), where f(x) is a polynomial of degree at most (1 x) d+1 d with nonnegative integer coefficients. Integer-point enumeration in polytopes Matthias Beck 20
Coefficients and roots of Ehrhart polynomials Lattice (convex) polytope P convex hull of finitely many points in Z d Then L P (t) = c d t d + + c 0 is a polynomial in t We know (intrinsic) geometric interpretations of c d, c d 1, and c 0. What about the other coefficients? What can be said about the roots of Ehrhart polynomials? Theorem (Stanley 1980) The generating function t 0 L P(t) x t can be written in the form f(x), where f(x) is a polynomial of degree at most (1 x) d+1 d with nonnegative integer coefficients. The inequalities f(x) 0 and c d 1 > 0 are currently the sharpest constraints on Ehrhart coefficients. Are there others? Integer-point enumeration in polytopes Matthias Beck 21
Roots of Ehrhart polynomials are special Easy fact: L P has no integer roots besides d, d + 1,..., 1. Integer-point enumeration in polytopes Matthias Beck 22
Roots of Ehrhart polynomials are special Easy fact: L P has no integer roots besides d, d + 1,..., 1. Theorem (1) The roots of Ehrhart polynomials of lattice d-polytopes are bounded in norm by 1 + (d + 1)!. (2) All real roots are in [ d, d/2 ). (3) For any positive real number r there exist an Ehrhart polynomial of sufficiently large degree with a real root strictly larger than r. Integer-point enumeration in polytopes Matthias Beck 22
Roots of Ehrhart polynomials are special Easy fact: L P has no integer roots besides d, d + 1,..., 1. Theorem (1) The roots of Ehrhart polynomials of lattice d-polytopes are bounded in norm by 1 + (d + 1)!. (2) All real roots are in [ d, d/2 ). (3) For any positive real number r there exist an Ehrhart polynomial of sufficiently large degree with a real root strictly larger than r. Improve the bound in (1). The upper bound in (2) is not sharp, for example, it can be improved to 1 for dim P = 4. Can one obtain a better (general) upper bound? Integer-point enumeration in polytopes Matthias Beck 22
Roots of Ehrhart polynomials are special Easy fact: L P has no integer roots besides d, d + 1,..., 1. Theorem (1) The roots of Ehrhart polynomials of lattice d-polytopes are bounded in norm by 1 + (d + 1)!. (2) All real roots are in [ d, d/2 ). (3) For any positive real number r there exist an Ehrhart polynomial of sufficiently large degree with a real root strictly larger than r. Improve the bound in (1). The upper bound in (2) is not sharp, for example, it can be improved to 1 for dim P = 4. Can one obtain a better (general) upper bound? Conjecture: All roots α satisfy d Re α d 1. Integer-point enumeration in polytopes Matthias Beck 23
Roots of the Birkhoff polytopes 3 2 1 0 1 2 3 8 6 4 2 0 Integer-point enumeration in polytopes Matthias Beck 24
Roots of some tetrahedra 1.5 1 0.5 0 0.5 1 1.5 3 Integer-point enumeration in polytopes 2 Matthias Beck 1 0 25