Coefficients of Sylvester's Denumerant
Published Web Location
https://arxiv.org/pdf/1312.7147.pdfAbstract
For a given sequence $\mathbf{\alpha} = [\alpha_1,\alpha_2,\dots,\alpha_{N+1}]$ of $N+1$ positive integers, we consider the combinatorial function $E(\mathbf{\alpha})(t)$ that counts the nonnegative integer solutions of the equation $\alpha_1x_1+\alpha_2 x_2+\cdots+\alpha_{N} x_{N}+\alpha_{N+1}x_{N+1}=t$, where the right-hand side $t$ is a varying nonnegative integer. It is well-known that $E(\mathbf{\alpha})(t)$ is a quasi-polynomial function in the variable $t$ of degree $N$. In combinatorial number theory this function is known as Sylvester's denumerant. Our main result is a new algorithm that, for every fixed number $k$, computes in polynomial time the highest $k+1$ coefficients of the quasi-polynomial $E(\mathbf{\alpha})(t)$ as step polynomials of $t$ (a simpler and more explicit representation). Our algorithm is a consequence of a nice poset structure on the poles of the associated rational generating function for $E(\mathbf{\alpha})(t)$ and the geometric reinterpretation of some rational generating functions in terms of lattice points in polyhedral cones. Our algorithm also uses Barvinok's fundamental fast decomposition of a polyhedral cone into unimodular cones. This paper also presents a simple algorithm to predict the first non-constant coefficient and concludes with a report of several computational experiments using an implementation of our algorithm in LattE integrale. We compare it with various Maple programs for partial or full computation of the denumerant.