Journal of symbolic computation vol:43 issue:2 pages:75-91
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 variab
les 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 of
Barvinok and Pommersheim (1999, Math. Sci. Res. Inst. Publ., 38),
and also of Verdoolaege, Seghir, Beyls, et al. (2007, Algorithmica, 48, 1).