The partial-fractions method for counting solutions to integral linear systems Matthias Beck, MSRI www.msri.org/people/members/matthias/ arxiv: math.co/0309332
Vector partition functions A an (m d)-integral matrix b Z m Goal: Compute vector partition function φ A (b) := # { x Z d 0 : A x = b} (defined for b in the nonnegative linear span of the columns of A) The partial-fractions method for counting solutions to integral linear systems Matthias Beck 2
Vector partition functions A an (m d)-integral matrix b Z m Goal: Compute vector partition function φ A (b) := # { x Z d 0 : A x = b} (defined for b in the nonnegative linear span of the columns of A) Applications in... Number Theory (partitions) Discrete Geometry (polyhedra) Commutative Algebra (Hilbert series) Algebraic Geometry (toric varieties) Representation Theory (tensor product multiplicities) Optimization (integer programming) Chemistry, Biology, Physics, Computer Science, Economics... The partial-fractions method for counting solutions to integral linear systems Matthias Beck 2
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 } For t Z >0, let L P (t) := # ( tp Z d) The partial-fractions method for counting solutions to integral linear systems Matthias Beck 3
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 } Translate & introduce slack variables P = { x R d 0 : A x = b} For t Z >0, let L P (t) := # ( tp Z d) The partial-fractions method for counting solutions to integral linear systems Matthias Beck 3
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 } Translate & introduce slack variables P = { x R d 0 : A x = b} For t Z >0, let L P (t) := # ( tp Z d) = φ A (tb) (for fixed b) The partial-fractions method for counting solutions to integral linear systems Matthias Beck 3
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 } Translate & introduce slack variables P = { x R d 0 : A x = b} For t Z >0, let L P (t) := # ( tp Z d) = φ A (tb) (for fixed b) Quasi-polynomial c d (t) t d + c d (t) t d + + c 0 (t) where c k (t) are periodic Theorem (Ehrhart 967) If P is a rational polytope, then the functions 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. Theorem (Ehrhart, Macdonald 970) L P ( t) = ( ) dim P L P (t) The partial-fractions method for counting solutions to integral linear systems Matthias Beck 3
Vector partition theorems φ A (b) := # { x Z d 0 : A x = b} Quasi-polynomial a finite sum n c n(b) b n with coefficients c n that are functions of b which are periodic in every component of b. A matrix is unimodular if every square submatrix has determinant ±. Theorem (Sturmfels 995) φ A (b) is a piecewise-defined quasi-polynomial in b of degree d rank(a). The regions of R m in which φ A (b) is a single quasi-polynomial are polyhedral. If A is unimodular then φ A is a piecewise-defined polynomial. Theorem (MB 2002) Let r k denote the sum of the entries in the k th row of A, and let r = (r,..., r m ). Then φ A (b) = ( ) d rank A φ A ( b r) The partial-fractions method for counting solutions to integral linear systems Matthias Beck 4
Issues... Compute the regions of (quasi-)polynomiality of φ A (b) Given one such region, compute the (quasi-)polynomial φ A (b) Barvinok: t 0 φ A (tb) z t can be computed in polynomial time The partial-fractions method for counting solutions to integral linear systems Matthias Beck 5
Euler s generating function φ A (b) := # { x Z d 0 : A x = b} A = c c 2 c d φ A (b) equals the coefficient of z b := z b zb m m ( z c ) ( z c d ) expanded as a power series centered at z = 0. of the function The partial-fractions method for counting solutions to integral linear systems Matthias Beck 6
Euler s generating function φ A (b) := # { x Z d 0 : A x = b} A = c c 2 c d φ A (b) equals the coefficient of z b := z b zb m m ( z c ) ( z c d ) expanded as a power series centered at z = 0. of the function Proof Expand each factor into a geometric series. The partial-fractions method for counting solutions to integral linear systems Matthias Beck 6
Euler s generating function φ A (b) := # { x Z d 0 : A x = b} A = c c 2 c d φ A (b) equals the coefficient of z b := z b zb m m ( z c ) ( z c d ) expanded as a power series centered at z = 0. of the function Proof Expand each factor into a geometric series. Equivalently, φ A (b) = const ( z c ) ( z c d ) z b The partial-fractions method for counting solutions to integral linear systems Matthias Beck 6
Partial fractions φ A (b) = const ( z c ) ( z c d ) z b Expand into partial fractions in z : ( z c ) ( z c d ) z = b z b 2 2 zb m d k= A k (z, b ) z c k + b j= B j (z) z j Here A k and B j are polynomials in z, rational functions in z 2,..., z m, and exponential in b. The partial-fractions method for counting solutions to integral linear systems Matthias Beck 7
Partial fractions φ A (b) = const ( z c ) ( z c d ) z b Expand into partial fractions in z : ( z c ) ( z c d ) z = b z b 2 2 zb m d k= A k (z, b ) z c k + b j= B j (z) z j Here A k and B j are polynomials in z, rational functions in z 2,..., z m, and exponential in b. φ A (b) = const z2,...,z m z b 2 2 zb m const z d k= A k (z, b ) z c k The partial-fractions method for counting solutions to integral linear systems Matthias Beck 7
Partial fractions φ A (b) = const ( z c ) ( z c d ) z b Expand into partial fractions in z : ( z c ) ( z c d ) z = b z b 2 2 zb m d k= A k (z, b ) z c k + b j= B j (z) z j Here A k and B j are polynomials in z, rational functions in z 2,..., z m, and exponential in b. φ A (b) = const z2,...,z m z b 2 2 zb m = const z b 2 2 zb m d k= const z d k= A k (z, b ) z c k A k (0, z 2,..., z m, b ) (0, z 2,..., z m ) c k The partial-fractions method for counting solutions to integral linear systems Matthias Beck 7
Advantages easy to implement allows symbolic computation constraints which define the regions of (quasi-)polynomiality are obtained automatically The partial-fractions method for counting solutions to integral linear systems Matthias Beck 8
An example x, x 2, x 3, x 4 0 x + 2x 2 + x 3 = a x + x 2 + x 4 = b φ A (a, b) = const ( zw)( z 2 w)( z)( w)z a w b The partial-fractions method for counting solutions to integral linear systems Matthias Beck 9
An example x, x 2, x 3, x 4 0 x + 2x 2 + x 3 = a x + x 2 + x 4 = b φ A (a, b) = const ( zw)( z 2 w)( z)( w)z a w b z b+ ( z) 2 ( zw)( z 2 w)( w)w b = zw + z 2b+3 ( z)( z 2 ) z 2 w + ( z)( z 2 ) w + b k=... w k The partial-fractions method for counting solutions to integral linear systems Matthias Beck 9
An example x, x 2, x 3, x 4 0 x + 2x 2 + x 3 = a x + x 2 + x 4 = b φ A (a, b) = const ( zw)( z 2 w)( w)w b = zw + φ A (a, b) = const = const ( zw)( z 2 w)( z)( w)z a w b z b+ ( z) 2 z 2b+3 ( z)( z 2 ) z 2 w + ( z)( z 2 ) w + b k= ( zb+ ( z) 2 + z 2b+3 ( z)( z 2 ) + ( z)z a ( zb a+ ( z) 3 + z 2b a+3 ( z) 2 ( z 2 ) + ( z) 2 ( z 2 )z a... w k ( z)( z 2 ) ) ) The partial-fractions method for counting solutions to integral linear systems Matthias Beck 9
An example φ A (a, b) = const For the second term... ( zb a+ ( z) 3 + z 2b a+3 ) ( z) 2 ( z 2 ) + ( z) 2 ( z 2 )z a The partial-fractions method for counting solutions to integral linear systems Matthias Beck 0
An example φ A (a, b) = const ( zb a+ ( z) 3 + z 2b a+3 ) ( z) 2 ( z 2 ) + ( z) 2 ( z 2 )z a For the second term, if 2b a + 3 > 0 then const z 2b a+3 ( z) 2 ( z 2 ) = 0 The partial-fractions method for counting solutions to integral linear systems Matthias Beck 0
An example φ A (a, b) = const ( zb a+ ( z) 3 + z 2b a+3 ) ( z) 2 ( z 2 ) + ( z) 2 ( z 2 )z a For the second term, if 2b a + 3 > 0 then const If 2b a + 3 0 we expand into partial fractions again: z 2b a+3 ( z) 2 ( z 2 ) = 0 z 2b a+3 const ( z) 2 ( z 2 ) = const /2 a 2b 3 ( z) 3 + 2 + 4 ( z) 2 + (a 2b 3) 2 4 + a 2b 3 2 + 8 z + ( )a+ /8 + z = (a 2b)2 4 + 2b a 2 + + ( )a+ 8 The partial-fractions method for counting solutions to integral linear systems Matthias Beck 0
An example φ A (a, b) = a 2 4 + a + 7+( )a 8 if a b ab a2 4 b2 2 + a+b 2 + 7+( )a 8 if a > b > a 3 2 b 2 2 + 3b a 3 2 + if b 2 x, x 2, x 3, x 4 0 x + 2x 2 + x 3 = a x + x 2 + x 4 = b b a < b a > b > a 3 b a 3 2 2 a The partial-fractions method for counting solutions to integral linear systems Matthias Beck
Open problems Computational complexity Re-interpret each term as coming from a linear system and simplify The partial-fractions method for counting solutions to integral linear systems Matthias Beck 2
Open problems Computational complexity Re-interpret each term as coming from a linear system and simplify Example: second term above const z 2b a+3 ( z) 2 ( z 2 ) = # { (x, y, z) Z 3 0 : x + y + 2z = a 2b 3 } = # { (x, y) Z 2 0 : x + 2y a 2b 3 } The partial-fractions method for counting solutions to integral linear systems Matthias Beck 2