Computing with an algebraic-perturbation variant of Barvinok's algorithm

Abstract 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 ∈ R n : A x ≤ 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 ∈ Q m of the inequalities, replacing each b i with b i + τ 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.

[1]  László Lovász,et al.  The Generalized Basis Reduction Algorithm , 1990, Math. Oper. Res..

[2]  Alexander Barvinok,et al.  Integer Points in Polyhedra , 2008 .

[3]  M. Brion Points entiers dans les polyèdres convexes , 1988 .

[4]  Arnold Schönhage Factorization of Univariate Integer Polynomials by Diophantine Aproximation and an Improved Basis Reduction Algorithm , 1984, ICALP.

[5]  Matthias Ko¨ppe A Primal Barvinok Algorithm Based on Irrational Decompositions , 2007 .

[6]  A. Barvinok,et al.  An Algorithmic Theory of Lattice Points in Polyhedra , 1999 .

[7]  Michele Vergne,et al.  Residue formulae for vector partitions and Euler-MacLaurin sums , 2003, Adv. Appl. Math..

[8]  Jesús A. De Loera,et al.  Algebraic and Geometric Ideas in the Theory of Discrete Optimization , 2012, MOS-SIAM Series on Optimization.

[9]  Fu Liu Perturbation of central transportation polytopes of order kn × n , 2012 .

[10]  Matthias Köppe,et al.  Computing Parametric Rational Generating Functions with a Primal Barvinok Algorithm , 2008, Electron. J. Comb..

[11]  Jon Lee,et al.  An algebraic-perturbation variant of Barvinok's algorithm , 2015, Electron. Notes Discret. Math..

[12]  Fu Liu Perturbation of transportation polytopes , 2013, J. Comb. Theory, Ser. A.

[13]  Phong Q. Nguyen,et al.  The LLL Algorithm - Survey and Applications , 2009, Information Security and Cryptography.

[14]  Antonio José Durán Guardeño,et al.  The Misfortunes of a Trio of Mathematicians Using Computer Algebra Systems. Can We Trust in Them , 2014 .

[15]  John F. Canny,et al.  A General Approach to Removing Degeneracies , 1995, SIAM J. Comput..

[16]  Matthias Köppe,et al.  A Primal Barvinok Algorithm Based on Irrational Decompositions , 2006, SIAM J. Discret. Math..

[18]  P ? ? ? ? ? ? ? % ? ? ? ? , 1991 .

[19]  A. Storjohann Faster algorithms for integer lattice basis reduction , 1996 .

[20]  Alexander I. Barvinok,et al.  A polynomial time algorithm for counting integral points in polyhedra when the dimension is fixed , 1993, Proceedings of 1993 IEEE 34th Annual Foundations of Computer Science.

[21]  R. Yoshida,et al.  A generating function for all semi-magic squares and the volume of the Birkhoff polytope , 2009 .

[22]  Jesús A. De Loera,et al.  Effective lattice point counting in rational convex polytopes , 2004, J. Symb. Comput..

[23]  Martin E. Dyer,et al.  On Barvinok's Algorithm for Counting Lattice Points in Fixed Dimension , 1997, Math. Oper. Res..