TY - JOUR
T1 - Computing with an algebraic-perturbation variant of Barvinok's algorithm
AU - Lee, Jon
AU - Skipper, Daphne
N1 - Funding Information:
The authors gratefully acknowledge Jesús De Loera for his many answers produced under relentless questioning. J. Lee was partially supported by NSF grant CMMI-1160915 and ONR grant N00014-14-1-0315 .
Publisher Copyright:
© 2015 Elsevier B.V.
PY - 2018/5/11
Y1 - 2018/5/11
N2 - We present a variant of Barvinok's algorithm for computing a short rational generating function for the integer points in a nonempty pointed polyhedron P:={x∈Rn:Ax≤b} given by rational inequalities. A main use of such a rational generating function is to count the number of integer points in P. Our variant is based on making an algebraic perturbation of the right-hand side b∈Qm of the inequalities, replacing each bi with bi+τi, where τ is considered to be an arbitrarily small positive real indeterminate. Hence, elements of our right-hand side vector become elements of the ordered ring Q[τ] of polynomials in τ. Denoting the algebraically-perturbed polyhedron as P(τ)⊂R[τ]n, we readily see that: (i) P(τ) is always full dimensional, (ii) P(τ) is always simple, and (iii) P(τ) contains the same integer points as P. Unlike other versions of Barvinok's algorithm, we will have to do some arithmetic in Q[τ]. However, because of (i) we will not need to preprocess our input polyhedron if it is not full dimensional, and because of (ii) we will not need to triangulate tangent cones at the vertices of the polyhedron. We give the details of our perturbation variant of Barvinok's algorithm, describe a proof-of-concept implementation developed in Mathematica, and present results of computational experiments.
AB - We present a variant of Barvinok's algorithm for computing a short rational generating function for the integer points in a nonempty pointed polyhedron P:={x∈Rn:Ax≤b} given by rational inequalities. A main use of such a rational generating function is to count the number of integer points in P. Our variant is based on making an algebraic perturbation of the right-hand side b∈Qm of the inequalities, replacing each bi with bi+τi, where τ is considered to be an arbitrarily small positive real indeterminate. Hence, elements of our right-hand side vector become elements of the ordered ring Q[τ] of polynomials in τ. Denoting the algebraically-perturbed polyhedron as P(τ)⊂R[τ]n, we readily see that: (i) P(τ) is always full dimensional, (ii) P(τ) is always simple, and (iii) P(τ) contains the same integer points as P. Unlike other versions of Barvinok's algorithm, we will have to do some arithmetic in Q[τ]. However, because of (i) we will not need to preprocess our input polyhedron if it is not full dimensional, and because of (ii) we will not need to triangulate tangent cones at the vertices of the polyhedron. We give the details of our perturbation variant of Barvinok's algorithm, describe a proof-of-concept implementation developed in Mathematica, and present results of computational experiments.
KW - Barvinok's algorithm
KW - Polytope
KW - Rational generating function
UR - http://www.scopus.com/inward/record.url?scp=84973103286&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=84973103286&partnerID=8YFLogxK
U2 - 10.1016/j.dam.2015.12.003
DO - 10.1016/j.dam.2015.12.003
M3 - Article
AN - SCOPUS:84973103286
SN - 0166-218X
VL - 240
SP - 63
EP - 77
JO - Discrete Applied Mathematics
JF - Discrete Applied Mathematics
ER -