#### Title

Counting with rational generating functions

#### Abstract

We examine two different ways of encoding a counting function: as a rational generating function and explicitly as a function (defined piecewise using the greatest integer function). We prove that, if the degree and number of input variables of the (quasi-polynomial) function are fixed, there is a polynomial time algorithm which converts between the two representations. Examples of such counting functions include Ehrhart quasi-polynomials, vector partition functions, integer points in parametric polytopes, and projections of the integer points in parametric polytopes. For this last example, this algorithm provides the first known way to compute the explicit function in polynomial time. We rely heavily on results by Barvinok and Pommersheim [Barvinok, A., Pommersheim, J., 1999. An algorithmic theory of lattice points in polyhedra. In: New Perspectives in Algebraic Combinatorics (Berkeley, CA, 1996–97). In: Math. Sci. Res. Inst. Publ., vol. 38. Cambridge Univ. Press, Cambridge, pp. 91–147], and also by Verdoolaege et al. [Verdoolaege, S., Seghir, R., Beyls, K., Loechner, V., Bruynooghe, M., 2007. Counting integer points in parametric polytopes using Barvinok’s rational functions, Algorithmica 48 (1), 37–66].

#### Repository Citation

Verdoolaege, Sven, and Kevin Woods. 2008. "Counting with rational generating functions." Journal Of Symbolic Computation 43(2): 75-91.

#### Publisher

Academic Press

#### Publication Date

2-1-2008

#### Publication Title

Journal of Symbolic Computation

#### Department

Mathematics

#### Document Type

Article

#### DOI

10.1016/j.jsc.2007.07.007

#### Keywords

Rational generating function, Piecewise quasi-polynomials, Vector partition functions, Parametric counting functions, Parametric polytopes, Barvinok algorithm

#### Language

English

#### Format

text