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

Jon Lee, Daphne E Skipper

Research output: Contribution to journalArticle

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∈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 bii, 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.

Original languageEnglish (US)
Pages (from-to)63-77
Number of pages15
JournalDiscrete Applied Mathematics
Volume240
DOIs
StatePublished - May 11 2018

Fingerprint

Polyhedron
Integer Points
Rational functions
Perturbation
Computing
Rational function
Generating Function
Triangulate
Tangent Cone
Cones
Mathematica
Polynomials
Computational Experiments
Count
Ring
Polynomial
Experiments

Keywords

  • Barvinok's algorithm
  • Polytope
  • Rational generating function

ASJC Scopus subject areas

  • Applied Mathematics
  • Discrete Mathematics and Combinatorics

Cite this

Computing with an algebraic-perturbation variant of Barvinok's algorithm. / Lee, Jon; Skipper, Daphne E.

In: Discrete Applied Mathematics, Vol. 240, 11.05.2018, p. 63-77.

Research output: Contribution to journalArticle

Lee, Jon ; Skipper, Daphne E. / Computing with an algebraic-perturbation variant of Barvinok's algorithm. In: Discrete Applied Mathematics. 2018 ; Vol. 240. pp. 63-77.
@article{2a8b59ba8de544c3959981688b2263bb,
title = "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∈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.",
keywords = "Barvinok's algorithm, Polytope, Rational generating function",
author = "Jon Lee and Skipper, {Daphne E}",
year = "2018",
month = "5",
day = "11",
doi = "10.1016/j.dam.2015.12.003",
language = "English (US)",
volume = "240",
pages = "63--77",
journal = "Discrete Applied Mathematics",
issn = "0166-218X",
publisher = "Elsevier",

}

TY - JOUR

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

AU - Lee, Jon

AU - Skipper, Daphne E

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

VL - 240

SP - 63

EP - 77

JO - Discrete Applied Mathematics

JF - Discrete Applied Mathematics

SN - 0166-218X

ER -