Polyhedral Omega is a new algorithm for solving linear Diophantine systems (LDS), i.e., for computing a multivariate rational function representation of the set of all non-negative integer solutions to a system of linear equations and inequalities. Polyhedral Omega combines methods from partition analysis with methods from polyhedral geometry. In particular, we combine MacMahon's iterative approach based on the Omega operator and explicit formulas for its evaluation with geometric tools such as Brion decompositions and Barvinok's short rational function representations. In this way, we connect two recent branches of research that have so far remained separate, unified by the concept of symbolic cones which we introduce. The resulting LDS solver Polyhedral Omega is significantly faster than previous solvers based on partition analysis and it is competitive with state-of-the-art LDS solvers based on geometric methods. Most importantly, this synthesis of ideas makes Polyhedral Omega the simplest algorithm for solving linear Diophantine systems available to date. Moreover, we provide an illustrated geometric interpretation of partition analysis, with the aim of making ideas from both areas accessible to readers from a wide range of backgrounds.1 arXiv:1501.07773v1 [math.CO] 30 Jan 2015In general, we represent a set S ⊂ Z n 0 of non-negative integer vectors by the multivariate generating functionIt is a well-known fact that when S is the set of solutions to a linear Diophantine system, then φ S is always a rational function ρ S . It is this rational function ρ S that we seek to compute when solving a given linear Diophantine system. We are not going to be interested in the normal form of ρ S , though, since the normal form may be unnecessarily large. Take for example the system x 1 + x 2 = 100. Here, the set of solutions is S = {(100, 0), (99, 1), . . . , (0, 100)} which can be represented by the rational functionNote that the polynomial on the right-hand side is the normal form of this rational function, which has 101 terms. (In fact, the normal form of a rational function representing a finite set will always be a polynomial.) The rational function expression on the left-hand side is not in normal form since the denominator divides the numerator, however it is much shorter, having only 4 terms. We are therefore interested in computing multivariate rational function expressions, which are not uniquely determined, as opposed to the unique rational function in normal form. Given this terminology and notation, we can now state the computational problem of solving linear Diophantine systems that this article is about.
Problem 1.1. Rational Function Solution of Linear Diophantine System (rfsLDS)Output: An expression for the rational function ρ ∈ Q(z 1 , . . . , z n ) representing the set of all non-negative integer vectors x ∈ Z n 0 such that Ax b. Such rational function solutions to LDS are of great importance in many applications. For example, they can be used to prove theorems in number theory and combinatorics [4,5,50...