In this paper, we consider the counting function $E_P(y) = |P_{y} \cap Z^{n_x}|$ for a parametric polyhedron $P_{y} = \{x \in R^{n_x} \colon A x \leq b + B y\}$, where $y \in R^{n_y}$. We give a new representation of $E_P(y)$, called a \emph{piece-wise step-polynomial with periodic coefficients}, which is a generalization of piece-wise step-polynomials and integer/rational Ehrhart's quasi-polynomials. It gives the fastest way to calculate $E_P(y)$ in certain scenarios. The most important cases are the following: 1) We show that, for any $y \in Q^k$ and parametric polyhedron $P_y$, defined by a standard-form system $A x = y,\, x \geq 0$ with a fixed number of equalities, $E_P(y)$ can be computed by a $poly\bigl(n, \|A\|_{\infty}\bigr)$-time algorithm; 2) Assuming that the co-dimension is fixed, we show that integer/rational Ehrhart's quasi-polynomials of a polytope can be computed by FPT-algorithms, parameterized by sub-determinants of $A$ or its elements; 3) Our representation of $E_P$ is more efficient than other known approaches, if $A$ has bounded elements, especially if it is sparse in addition. Additionally, we provide a discussion about possible applications in the area of compiler optimization. In some "natural" assumptions on a program code, our approach has the fastest complexity bounds.
翻译:本文研究参数多面体 $P_{y} = \{x \in R^{n_x} \colon A x \leq b + B y\}$(其中 $y \in R^{n_y}$)的计数函数 $E_P(y) = |P_{y} \cap Z^{n_x}|$。我们提出 $E_P(y)$ 的一种新表示形式——"具有周期系数的分段阶跃多项式",该形式是分段阶跃多项式与整数/有理 Ehrhart 拟多项式的推广。在特定场景下,该方法提供了计算 $E_P(y)$ 的最快途径。关键结果如下:1) 对于任意 $y \in Q^k$ 及由标准形方程组 $A x = y,\, x \geq 0$(含固定数量等式约束)定义的参数多面体 $P_y$,$E_P(y)$ 可通过 $poly\bigl(n, \|A\|_{\infty}\bigr)$ 时间算法计算;2) 在余维数固定的假设下,多面体的整数/有理 Ehrhart 拟多项式可通过以 $A$ 的子行列式或元素为参数的 FPT 算法计算;3) 当 $A$ 元素有界(尤其同时具有稀疏性)时,我们的 $E_P$ 表示方法比现有方法更高效。此外,我们讨论了该方法在编译器优化领域的潜在应用。在程序代码的某些"自然"假设下,本方法具有最优的复杂度界。