Computer Algebra and Polynomials pp 1-29 | Cite as

# An Invitation to Ehrhart Theory: Polyhedral Geometry and its Applications in Enumerative Combinatorics

## Abstract

In this expository article we give an introduction to Ehrhart theory, i.e., the theory of integer points in polyhedra, and take a tour through its applications in enumerative combinatorics. Topics include geometric modeling in combinatorics, Ehrhart’s method for proving that a counting function is a polynomial, the connection between polyhedral cones, rational functions and quasisymmetric functions, methods for bounding coefficients, combinatorial reciprocity theorems, algorithms for counting integer points in polyhedra and computing rational function representations, as well as visualizations of the greatest common divisor and the Euclidean algorithm.

### Keywords

Polynomial Quasipolynomial Rational function Quasisymmetric function Partial polytopal complex Simplicial cone Fundamental parallelepiped Combinatorial reciprocity theorem Barvinok’s algorithm Euclidean algorithm Greatest common divisor Generating function Formal power series Integer linear programming## 1 Introduction

Polyhedral geometry is a powerful tool for making the structure underlying many combinatorial problems visible – often literally! In this expository article we give an introduction to Ehrhart theory and more generally the theory of integer points in polyhedra and take a tour through some of its many applications, especially in enumerative combinatorics.

In Sect. 2, we start with two classic examples of geometric modeling in combinatorics and then introduce Ehrhart’s method for showing that a counting function is a (quasi-)polynomial in Sect. 3. We present combinatorial reciprocity theorems as a first application in Sect. 4, before we talk about cones as the basic building block of Ehrhart theory in Sect. 5. The connection of cones to rational functions is the topic of Sect. 6, followed by methods for proving bounds on the coefficients of Ehrhart polynomials in Sect. 7. Section 8 discusses a surprising connection to quasisymmetric functions. Section 9 is about algorithms for counting integer points in polyhedra and computing rational function representations, in particular Barvinok’s theorem on short rational functions. Finally, Sect. 10 closes with a playful look at the connection between the Euclidean algorithm and the geometry of \(\mathbb {Z}^2\).

## 2 Geometric Modeling in Combinatorics

*-coloring*is a vector \(x\in [k]^V\) that assigns to each vertex \(v\in V\) a color \(x_v\in [k] := \{1,\ldots ,k\}\). Such a \(k\)-coloring \(x\) is

*proper*if for any two adjacent vertices \(v\sim w\) the assigned colors are different, i.e., \(x_v \not = x_w\). This way of describing a coloring as a vector rather than a function already suggests a geometric point of view (Fig. 1). Define the

*graphic arrangement*of \(G\) as the set of all hyperplanes \(x_v = x_w\) for adjacent vertices \(v \sim w\). Then the chromatic polynomial counts integer points \(x\in \mathbb {Z}^V\) that are contained in the half-open cube \((0,k]^V\) but do not lie on any of the hyperplanes in the graphic arrangement of \(G\), i.e.,

^{1}This can be modeled simply by defining a partition of \(k\) into at most \(m\) parts as a non-negative vector \(x\in \mathbb {Z}^m\) whose entries sum to \(k\) and are weakly decreasing. For example, in the case \(m=5\) and \(k=14\) the partition \(14=7+5+2\) would correspond to the vector \((7,5,2,0,0)\). In short,

*braid arrangement*, i.e., the set of all hyperplanes \(x_i=x_j\), subdivides this simplex into \(m!\) equivalent pieces; the definition of the restricted partition function then selects the one piece in which the coordinates are in weakly decreasing order.

It is interesting to observe that both constructions work with the braid arrangement. Indeed, there are a host of combinatorial models that fit into this setting. A great example are *scheduling problems* [21]: Given a number \(k\) of time-slots, how many ways are there to schedule \(d\) jobs such that they satisfy a boolean formula \(\psi \) over the atomic expressions “job \(i\) runs before job \(j\)”, i.e., \(x_i < x_j\)? E.g., if \(\psi =(x_1< x_2)\rightarrow (x_3< x_2)\) then we would count all ways to place \(3\) jobs in \(k\) time-slots such that if job \(1\) runs before job \(2\), then job \(3\) also has to run before \(2\). We will return to scheduling problems in Sect. 8. However, the methods presented in this article are not restricted to this setup as we will see.

## 3 Ehrhart Theory

*Ehrhart function*\(\mathrm{ehr }_X(k)\) of \(X\) counts the number of integer points in the \(k\)-th dilate of \(X\) for each \(1\le k\in \mathbb {Z}\), i.e.,

*geometric model*of the counting function \(\mathrm{ehr }_X\). The central theme of this exposition is that geometric properties of \(X\) often translate into algebraic properties of \(\mathrm{ehr }_X\). Ehrhart’s theorem is the prime example of this phenomenon. To set the stage, we introduce some terminology and refer to [46, 57] for concepts from polyhedral geometry not defined here.

A *polyhedron* is any set of the form \(P=\left\{ x \in \mathbb {R}^d \; \,|\,\; Ax \ge b \right\} \) for a fixed matrix \(A\) and vector \(b\). All polyhedra in this article will be *rational*, i.e., we can assume that \(A\) and \(b\) have only integral entries. A *polytope* is a bounded polyhedron. Any dilate of a polytope contains only a finite number of integer points, whence the Ehrhart function of a polytope is well-defined. A polyhedron is *half-open* if some of its defining inequalities are strict. A *partial polyhedral complex*^{2}\(X\) is any set that can be written as a disjoint union of half-open polytopes.

Our model of \(p(k,m)\) is a polytope. Our model of \(\chi _G(k)\) is not, though, as it is non-convex, disconnected and neither closed nor open. It is easily seen to be a partial polytopal complex, though, e.g., by rewriting \(x_v \not = x_w\) to \((x_v < x_w) \vee (x_v > x_w)\) and bringing the resulting formula in disjunctive normal form. This makes partial polytopal complexes an extremely flexible modeling framework, as summarized in the following lemma.

**Lemma 1**

The generality of Ehrhart functions of partial polytopal complexes underlines the strength of the following famous theorem by Eugène Ehrhart.

**Theorem 1**

**(Ehrhart** [31]**).** If \(X\) is partial polytopal complex^{3}, then \(\mathrm{ehr }_X(k)\) is a quasipolynomial.

*quasipolynomial*if there exist polynomials \(p_0(k),\ldots ,p_{\ell -1}(k)\) such that

*constituents*of \(p\) and their number is a

*period*of \(p\). The period is not uniquely determined, but of course the

*minimal period*is; every period is a multiple of the minimal period. The

*degree*of \(p\) is the maximal degree of the \(p_i\). If \(d\) is the degree of \(p\) and \(\ell \) a period of \(p\), then \(p\) is uniquely determined by \(\ell \cdot (d+1)\) values of \(p\), or more precisely, by \(d+1\) values \(p(k'\cdot \ell + i)\) for each \(i=0,\ldots ,\ell -1\). This is why it makes sense to say that \(\mathrm{ehr }_X\) “is” a quasipolynomial, even though we have defined Ehrhart functions only at positive integers. As an example, the quasipolynomial given by the restricted partition function \(p(k,2)\) is computed by interpolation in Fig. 3.

Ehrhart’s theorem thus provides a very general method for proving that counting functions are (quasi-)polynomials. Simply by virtue of the geometric models from Sect. 2, we immediately obtain that the chromatic function is a polynomial because the vertices of our geometric model are integral. This proof of polynomiality is very different from the standard deletion-contraction method and generalizes to counting functions that do not satisfy such a recurrence, including all scheduling problems. Also we find that the restricted partition function into \(m\) parts is a quasipolynomial with period \(\mathrm{lcm }(1,2,\ldots ,m)\): The numbers \(1,2,\ldots ,m\) appear in the denominators of the vertices, since we intersect the braid arrangement with the simplex \(\left\{ x \; \,|\,\; x_i\ge 0,\sum x_i =1 \right\} \) instead of the cube. For more on the restricted partition function from an Ehrhart perspective, see [19].

Lemma 1 can be generalized even further, for example by allowing quantifiers via Presburger arithmetic [56] or by considering the multivariate case [55]. As a great introductory textbook on Ehrhart theory we recommend [10].

## 4 Combinatorial Reciprocity Theorems

Now that we know that the Ehrhart function \(\mathrm{ehr }_P\) of a polytope \(P\) is in fact a quasipolynomial we can evaluate it at negative integers. Even though the Ehrhart function itself is defined only at positive integers, it turns out that the values of \(\mathrm{ehr }_P\) at negative integers have a very elegant geometric interpretation: \(\mathrm{ehr }_P(-k)\) counts the number of integer points in the interior of \(k\cdot P\).

**Theorem 2**

**(Ehrhart-Macdonald Reciprocity**[43]

**).**If \(P\subset \mathbb {R}^n\) is a polytope of dimension \(d\) and \(0<k \in \mathbb {Z}\) then

Here \(P^\circ \) denotes the *relative interior* of \(P\), which means the interior of \(P\) taken with respect to the affine hull^{4} of \(P\). If \(P\) is given in terms of a system of linear equations and inequalities, the relative interior is often easy to determine. For example, if \(P\) is defined by \(Ax \ge b\) and \(A'x = b'\), and \(A'\) contains all equalities of the system^{5}, then \(P^\circ \) is given by \(Ax > b\) and \(A'x = b'\). In short, all we need to do is make weak inequalities strict.

Ehrhart-Macdonald reciprocity provides us with a powerful framework for finding combinatorial reciprocity theorems, i.e., combinatorial interpretations of the values of counting functions at negative integers. We start with a counting function \(f\) defined in the language of combinatorics and translate this counting function into the language of geometry by constructing a linear model. In the world of geometry, we apply Ehrhart-Macdonald reciprocity to find a geometric interpretation of the values of \(f\) at negative integers. Translating this geometric interpretation back into the language of combinatorics, a process which can be quite subtle, we then arrive at a combinatorial reciprocity theorem.

Let us start with the example of the restricted partition function \(p(k,m)\). Applying Theorem 2 it follows that, up to sign, \(p(-k,m)\) counts vectors \(x\) such that \(x_1 > x_2 > \ldots > x_m > 0\) and \(\sum x_i = k\) for any positive integer \(k\). Interpreting this geometric statement combinatorially, we find:

**Theorem 3**

Up to sign, \(p(-k,m)\) counts partitions of \(k\) into exactly \(m\) distinct parts.

This result seems to be less well-known in partition theory than one would expect, even though it is an immediate consequence of Ehrhart-Macdonald reciprocity; see also [19]. A very similar geometric construction, however, is the basis of Stanley’s work on \(P\)-partitions and the order polynomial [49] which has many nice extensions, e.g., [39].

Next, we consider the chromatic polynomial \(\chi _G(k)\). The model \(X_G\) we use here is slightly different from (1) in that we work with the open cube \({(0,k+1)^V}\). This introduces a shift \(\mathrm{ehr }_{X_G}(k) = \chi _G(k-1)\). The advantage is that \(X_G\) is now a disjoint union of open polytopes \(P_1,\ldots ,P_N\). As already motivated by Fig. 1, it turns out that the \(P_i\) are in one-to-one correspondence with the acyclic orientations^{6} of the graph \(G\) [35]. Applying Theorem 2 to each component individually, we find that \(\chi _G(-k)\) counts all integer vectors \(x\) in the closed cube such that points on the hyperplanes \(x_v=x_w\) have a multiplicity equal to the number of closed components \(\bar{P}_i\) they are contained in. To interpret this combinatorially, we define an orientation \(o\) and a coloring \(x\) of \(G\) to be *compatible* if, when moving along directed edges, the colors of the vertices always increase or stay the same. Putting everything together and taking the shift into account we obtain Stanley’s reciprocity theorem for the chromatic polynomial below. The geometric proof we described is due to Beck and Zaslavsky [12] and can be generalized to cell-complexes [7].

**Theorem 4**

**(Stanley** [47]**).** Up to sign, \(\chi _G(-k)\) counts pairs \((x,o)\) of (not necessarily proper) \(k\)-colorings \(x\) and compatible acyclic orientations \(o\) of \(G\).

Applying Ehrhart-Macdonald reciprocity, we obtain that, up to sign, \(\varphi _G(-k)\) counts integer points in the \(k\)-th dilate of the union of the closures \(\bar{P}_i\). In particular, we now count vectors that may have both entries \(0\) and \(k\), which are both congruent zero mod \(k\), but which we have to count as different as Fig. 4 shows. This observation suggests that to find a combinatorial interpretation, we may want to consider assigning two different kinds of labels to the edges with zero flow. Pursuing this line of thought eventually leads to the following combinatorial reciprocity theorem, which again can be generalized to cell complexes [7], see also [13, 15].

**Theorem 5**

**(Breuer-Sanyal** [22]**).** Up to sign, \(\varphi _G(-k)\) counts pairs \((y,o)\) of a \(\mathbb {Z}_k\)-flow \(y\) on \(G\) and a totally cyclic reorientation of \(G/\mathrm{supp }(y)\).

Here a reorientation is a labeling of the edges of a directed graph with \(+\) or \(-\), indicating whether the direction of the edge should be reversed or not. Such a reorientation is *totally cyclic*, if every edge of the resulting directed graph lies on a directed cycle. \(\mathrm{supp }(y)\) denotes the set of edges where \(y\) is non-zero and \(G/\mathrm{supp }(y)\) denotes the graph where \(\mathrm{supp }(y)\) has been contracted.

For more on combinatorial reciprocity theorems we recommend the forthcoming book [11].

## 5 Cones and Fundamental Parallelepipeds

A polyhedral cone or *cone*, for short, is the set of all linear combinations with non-negative real coefficients of a finite set of *generators*\(v_1,\ldots ,v_d\in \mathbb {Q}^n\). If the generators are linearly independent, the cone is *simplicial*. The cone is *pointed* or *line-free* if it does not contain a line \(\{u+\lambda v\;|\; \lambda \in \mathbb {R}\}\).

*discrete cone*or

*semigroup*\(\mathrm{cone }_\mathbb {Z}(v_1,\ldots ,v_d)\) of all non-negative

*integral*combinations of the \(v_i\) reaches only those integer points in \(\mathrm{cone }_\mathbb {R}\) that lie on the lattice \(\mathbb {Z}v_1+\ldots + \mathbb {Z}v_d\) generated by the \(v_i\). However, by shifting the discrete cone to all integer points in the

*fundamental parallelepiped*\(\varPi (v_1,\ldots ,v_d)\) we can not only capture all integer points in \(C\), but we moreover partition them into \(\#\mathbb {Z}^{n+1}\cap \varPi (v_1,\ldots ,v_d) = |\det (v_1,\ldots ,v_d)|\) disjoint classes. This number of integer points in the fundamental parallelepiped is called the

*index*of \(C\). Define

**Lemma 2**

The main benefit of this decomposition is that it splits the problem of describing the integer points in a cone to into two parts: The finite problem of enumerating the integer points in the fundamental parallelepiped, and the problem of describing the discrete cone, which is easy as we shall see below. As an application of this result, we will now prove Ehrhart’s theorem for polytopes.

^{7}to the dilates \(k\cdot P\) we are interested in. If we can describe the number of integer points in such sections of polyhedral cones, we will have a handle on computing Ehrhart functions.

Before we continue, we observe that we can make two more simplifications. First, we can restrict our attention to simplicial cones. While in general \(\mathrm{cone }(P)\) will of course not be simplicial, we can always reduce the problem to simplicial cones by triangulating \(P\). Second, we note that while \(\mathrm{cone }(P)\) is indeed finitely generated by the vertices \(w_1,\ldots ,w_N\) of \(P\), these \(w_i\) may be rational vectors. Instead, we would like to work with generators \(v_i\) that are all integer and all at the same height wrt. the last coordinate. This can be achieved by letting \(\ell \) denote the smallest integer such that \(\ell \cdot w_i\in \mathbb {Z}^{n+1}\) for all \(i\) and setting \(v_i := \ell \cdot w_i\).

Note that if we are interested in \(\#\left( \mathbb {Z}^{n+1}\cap H_{m} \cap C_\mathbb {R}\right) \) for an arbitrary non-negative \(m\) then we can always write \(m = \ell k + r\) such that \(k\ge 0\) and \(0\le r < \ell \) simply by doing division with remainder. Also note that (3) is a polynomial of degree \(d-1\) in \(k\) for each fixed \(r\). Since \(r\) changes periodically with \(m\), the counting function \(m \mapsto \#\left( \mathbb {Z}^{n+1}\cap H_{m} \cap C_\mathbb {R}\right) \) is a quasipolynomial of period \(\ell \). By construction, \(\mathrm{ehr }_P(k)\) is a sum of such expressions and therefore itself a quasipolynomial, which completes the proof of Theorem 1.

## 6 Connection to Rational Functions

Intuitively, we can think of the generating functions \(\phi _S\) as weighted indicator functions of sets of integer vectors. Starting with generating functions \(\phi _P\) for polyhedra \(P\) and taking linear combinations of these, we obtain an algebra \(\mathcal {P}\) of polyhedral sets. However, working with rational function representations introduces an equivalence relation on this algebra. For example, we can expand \(\frac{1}{1-z}\) either as \(\sum _{i=0}^\infty z^i\), the indicator function of all non-negative integers, or as \(-\sum _{i=1}^\infty z^{-i}\), minus the indicator function of all negative integers. This phenomenon generalizes to multivariate generating functions: To determine the formal expansion of a rational function uniquely, we have to fix a “direction of expansion” which can be given for example in terms of a suitable pointed cone. For details we refer the reader to, e.g., [2, 6, 9, 10]. Important for our purposes is that to each rational function there corresponds an equivalence class of indicator functions and the simple example of the geometric series tells us what the equivalence relation is: Two elements in the algebra of polyhedral sets are equivalent if they are equal *modulo lines*, i.e., modulo sets of the form \(\left\{ u+\lambda v \; \,|\,\; \lambda \in \mathbb {Z} \right\} \) for some \(u,v\in \mathbb {Z}^n\). We say that a generating function \(\phi \) is represented by some rational function expression \(\rho \) if there exists a pointed cone \(C\) such that the expansion of \(\rho \) in the direction \(C\) gives \(\phi \); for this to be feasible we assume that the support of \(\phi \) does not contain a line. Choosing a different direction \(C'\) for the expansion of \(\rho \) produces a generating function \(\phi '\) that is equal to \(\phi \) modulo lines.

*vertex cone*\(\mathrm{vcone }(v,P)\) at a vertex \(v\) of \(P\) as the set

*define*\(\rho _C\) as the rational function expression given in (5).

^{8}For a non-simplicial cone \(C\) we define \(\rho _C\) as a linear combination of such expressions, given via a triangulation of \(C\). Then, the generating function of the set of integer points in \(P\) is the sum of the rational function representations of the vertex cones.

**Theorem 6**

**(Brion**[24]

**).**Let \(P\) be a polyhedron that does not contain any affine line. Then

## 7 Coefficients of (Quasi-)Polynomials

The geometric perspective provides a wide range of methods for establishing bounds on the coefficients of counting (quasi-)polynomials. In this section we will focus on polynomials for simplicity, but the results generalize to quasipolynomials.

^{9}\(d\)-dimensional

*half-open simplices*\(\varDelta ^d_i\) with \(i\) open facets. Up to lattice equivalence, such a \(\varDelta ^d_i\) has the form

*partitioned*into half-open simplices that are all of full dimension, as shown in Fig. 11(a), it follows that \(\mathrm{ehr }_X\) has non-negative \(h^*\)-vector as well. As it turns out, all (closed convex) polytopes have such a

*partitionable*triangulation, which proves non-negativity of the \(h^*\)-vector for all polytopes.

**Theorem 7**

**(Stanley** [48]**).** If \(P\) is an integral polytope, then \(\mathrm{ehr }_P\) has a non-negative \(h^*\)-vector.

However, as the examples of the chromatic polynomial and the flow polynomial from Sects. 2 and 4 show, the geometric models \(X\) that appear in combinatorial applications of Ehrhart theory are not simply polytopes: Often they are non-convex, disconnected, half-open or have non-trivial topology. This can lead to geometric models \(X\) that are not partitionable and, consequently, to counting polynomials with negative \(h^*\)-coefficients.

Figure 11(b) gives an example of a half-open partial polytopal complex that is not partitionable: A partition of the complex in Fig. 11(b), for example, would require 4 half-open simplices of dimension 2 that have, in total, 6 closed edges but contain none of the vertices of the complex, which is impossible. Here it is important to recall that, because we are working with the \(h^*\) basis, all half-open simplices participating in a partition are required to have the same dimension (in this example, dimension 2).

Such phenomena appear in practice. One prominent example of natural counting polynomials with negative entries in their \(h^*\)-vector are chromatic polynomials of hypergraphs. In this case, it is the non-trivial topology of the geometric models that gives rise to non-partitionability: It is easy to construct hypergraphs whose coloring complexes consists of, say, 2-dimensional spheres that intersect in 0-dimensional subspheres; such complexes are not partitionable and can produce negative \(h^*\)-coefficients [18].

As we have seen in Sect. 3, partial polytopal complexes are the right notion to describe combinatorial models in Ehrhart theory. While partial polytopal complexes are not always partitionable, they can always be written as a disjoint union of relatively open simplices of various dimension. The partial polytopal complex in Fig. 11(b) can, for example, be written as a disjoin union of open simplices of dimension 1 and 2 as shown in Fig. 11(c). This motivates the use of the \(f^*\)-basis. As it turns out, the \(f^*\)-vector of an open simplex \(\varDelta \) has a counting interpretation similar to (3), even though its construction is more subtle [16]. It follows that all partial polytopal complexes with integer vertices have a non-negative \(f^*\)-vector. Moreover, this property characterizes Ehrhart polynomials of partial polytopal complexes.

**Theorem 8**

**(Breuer** [16]**).** If \(X\) is an integral partial polytopal complex, then \(\mathrm{ehr }_X\) has a non-negative \(f^*\)-vector.

Conversely, if \(p(k)\) is a polynomial with non-negative \(f^*\)-vector, then there exists an integral partial polytopal complex \(X\) such that \(\mathrm{ehr }_X(k)=p(k)\).

While Theorem 8 characterizes Ehrhart polynomials of the kind of geometric objects that appear in many combinatorial applications, the question remains how to characterize Ehrhart polynomials of convex polytopes. This challenge is vastly more difficult, and, even though many constraints on the \(h^*\)-vectors of convex polytopes have been proven, is still wide-open even in dimension 3. At least in dimension 2, a complete characterization of the coefficients of Ehrhart polytopes is available. See [8, 36, 37, 51] for more information.

Still, there are a wealth of tools available for proving sharper bounds on the coefficients of counting polynomials \(\mathrm{ehr }_X\), by exploiting the particular geometric structure of the partial polytopal complex \(X\), even if \(X\) is not convex. One of the most powerful techniques available is the use of convex ear decompositions. A *convex ear decomposition* is a decomposition of a simplicial complex \(X\) into “ears” \(E_0,\ldots ,E_N\) such that \(E_0\) is the boundary complex of a simplicial polytope, the remaining \(E_i\) are balls that are subcomplexes of the boundary complex of some simplicial polytope, and \(E_i\) is attached to \(\bigcup _{j<i}E_j\) along its entire boundary (and not just along some facets), i.e., \(E_i \cap \bigcup _{j<i}E_j = \partial E_i\). For example, the complex in Fig. 1, consisting of the boundary of the cube and the two hyperplanes, has a convex ear decomposition: Start with the boundary of the cube as triangulated by the braid arrangement, glue in the triangulated square lying on one of the hyperplanes and then glue in the two triangles on the second hyperplane one after the other. If all simplices in this complex are unimodular (as in many combinatorial applications), this leads to the following bounds, which have been successfully applied to the chromatic polynomial by Hersh and Swartz [38] and to the integral and modular flow and tension polynomials by Breuer and Dall [17].

**Theorem 9**

**(Chari**[27]

**, Swartz**[52]

**).**If \(X\) is a simplicial complex in which all simplices are unimodular and \(X\) has a convex ear decomposition then the \(h^*\)-vector of \(\mathrm{ehr }_X(k)\) satisfies

- (a)
\(h^*_0 \le h^*_1 \le \cdots \le h^*_{\left\lfloor d/2 \right\rfloor }\),

- (b)
\(h^*_i \le h^*_{d-i}\) for \(i\le d/2\), and

- (c)
\((h^*_0,h^*_1-h^*_0,\ldots ,h^*_{\left\lceil d/2 \right\rceil } - h^*_{\left\lceil d/2 \right\rceil -1})\) is an \(M\)-vector

^{10}.

## 8 Quasisymmetric Functions

Polyhedral models are useful for the study of combinatorial objects beyond counting polynomials as well. For example, the simple construction from Sect. 2 of intersecting the cube with a subarrangement of the braid arrangement can serve as a lens into the world of quasisymmetric functions [21].

A *quasisymmetric function* is a formal power series \(Q\) of bounded degree in countably many variables \(x_1,x_2,\ldots \) such that the coefficients of \(Q\) are shift invariant, i.e., for every \((\alpha _1,\ldots ,\alpha _m)\) the coefficients of the monomials \(x_{i_1}^{\alpha _1}x_{i_2}^{\alpha _2}\cdots x_{i_m}^{\alpha _m}\) for any \(i_1<i_2<\ldots <i_m\) are equal [50]. Note that a quasisymmetric function can have bounded degree without being a polynomial since we have infinitely many variables at our disposal.

To approach these from a geometric perspective, it is instructive to start with quasisymmetric functions in non-commuting variables or *nc-quasisymmetric functions* for short [14]. Here the variables \(x_i\) do not commute multiplicatively and the constraint is that two monomials \(x_{i_1}\cdots x_{i_d}\) and \(x_{j_1}\cdots x_{j_d}\) have the same coefficient if the tuples \(i=(i_1,\ldots ,i_d)\) and \(j=(j_1,\ldots ,j_d)\) induce the same ordered set partition \(\varDelta (i)=\varDelta (j)\). Here \(\varDelta (i)=(\varDelta _1,\ldots ,\varDelta _m)\) is an ordered partition of the index set \(\{1,\ldots ,d\}\) such that \(i|_{\varDelta _l}\) is constant and \(i|_{\varDelta _l}<i|_{\varDelta _{l+1}}\) for all \(l\), e.g., \(\varDelta (3,2,2,3,1) = (\{5\},\{2,3\},\{1,4\})=:5|23|14\).

*monomial nc-quasisymmetric functions*

*monomial quasisymmetric function*\(M_{(|\phi _1|,\ldots ,|\phi _m|)}\) where

Going one step further it is possible to obtain a polynomial \(p\) from a quasisymmetric function \(Q\) by substituting 1 into the first \(k\) variables and \(0\) into all other variables, i.e., \(Q(1^k)=p(k)\). Geometrically, this substitution eliminates all integer points that contain an entry larger than \(k\). This corresponds to intersecting the complex \(X\) of cones with the cube \((0,k]^d\), turning \(X\) into a simplicial complex \(X\cap (0,k]^d\) and \(p\) into the Ehrhart function \(\mathrm{ehr }_{X\cap (0,1]^d}(k) = Q(1^k)\).^{11} These observations provide a direct translation between Ehrhart functions constructed using the braid arrangement and quasisymmetric functions.

This connection provides fertile ground for future exploration. On the one hand, the geometric approach offers a very flexible framework for defining quasisymmetric functions. Scheduling problems alone capture a wide range of known quasisymmetric functions, such as the chromatic symmetric function, the matroid invariant of Billera-Jia-Reiner, or Ehrenborg’s quasisymmetric function for posets, as well as new ones, such as the Bergman and arboricity quasisymmetric functions [21]. On the other hand, many methods for the analysis of Ehrhart polynomials carry over to the quasisymmetric function world. For example, the specialization \(Q(1^k)\) collects the coefficients of \(Q\) in the fundamental basis in the \(h^*\)-vector of the associated Ehrhart-polynomial – and similarly for the monomial basis and the \(f^*\)-vector. In particular, if \(X\) is a partial subcomplex of the braid arrangement and \(N, Q\) and \(\mathrm{ehr }_{X\cap (0,1]^d}\) are the associated nc-quasisymmetric, quasisymmetric and Ehrhart functions, then partitionability of \(X\) implies non-negativity of the coefficients in the fundamental basis of \(N\) and \(Q\) and non-negativity of the \(h^*\)-vector of \(\mathrm{ehr }_{X\cap (0,1]^d}\). If \(X\) is given by a scheduling problem, partitionability can be guaranteed if the boolean expression defining the scheduling problem takes the form of a certain kind of decision tree [21].

## 9 Algorithms for Counting Integer Points in Polyhedra

There are many different computational problems associated with polyhedra. The problem of deciding whether there exists a rational vector \(v\in \mathbb {Q}^n\) satisfying a linear system of inequalities^{12} is polynomial time computable, but when we look for an integer vector \(v\in \mathbb {Z}^n\) instead, the problem becomes NP-hard [46]. However, if the dimension of the polyhedron, i.e., the number of variables of the system, is fixed a priori, then there is a polynomial time algorithm for finding an integer solution as Lenstra was able to show in 1983 [42]. While the problem of counting integer solutions is #P-hard as well, the question remained open whether it becomes polynomial time computable if the dimension is fixed. The first algorithm with a polynomial running time in fixed dimension was described by Barvinok in 1994 [5] and it took ten more years until such an algorithm was first implemented by De Loera *et al.* in 2004 [30].

In this section we give an overview over the algorithmic methods for computing the number of integer points in a polyhedron \(P\), and the related problems of computing the Ehrhart polynomial \(\mathrm{ehr }_P\) and a rational function expression of the multivariate generating function \(\phi _P\) of all integer points in \(P\). Independently of whether the goal is to compute \(\mathrm{ehr }_P\) by first passing from \(P\) to \(\mathrm{cone }(P\times \{1\})\) or whether the goal is to compute \(\phi _P\) and \(\mathbb {Z}^n\cap P\) directly by using Brion’s theorem, the methods employed are similar and consist of three basic steps. First, the polyhedron \(P\) is decomposed into simplicial cones. Second, a rational function representation of the integer points in these simplicial cones is computed. We will focus on this step in our exposition since it is crucial with regard to runtime complexity. Third, the obtained rational function expression needs to be specialized if the number of integer points or the Ehrhart (quasi-)polynomial is desired.

To decompose a polyhedron \(P\) into simplicial cones, we start by appealing to Brion’s theorem and represent \(P\) as the sum of its vertex cones, modulo lines.^{13} To achieve this, we need to compute the vertices and edge directions of \(P\). Next, the resulting cones need to be triangulated to make them simplicial. There are sophisticated algorithms available for both tasks [32, 33, 44, 45]. It is also possible to compute a decomposition of \(P\) into simplicial cones directly, without computing vertices or triangulating, using the Polyhedral Omega algorithm [23]. Polyhedral Omega is based on simple explicit rules for manipulating simplicial cones formally and is motivated by the symbolic computation framework of partition analysis [1].

*both*lattices such that the new bases \(B_J\) of \(J\) and \(B_{\mathbb {Z}^d}\) of \(\mathbb {Z}^d\) line up. Since the elements of \(B_J\) are multiples of the elements of \(B_{\mathbb {Z}^d}\), the integer points \(x_i\) in the fundamental parallelepiped of \(B_J\) are easy to enumerate. By computing the coordinates of the \(x_i\) wrt. the original basis \(V\) of \(J\) and taking fractional parts, we translate the \(x_i\) into the fundamental parallelepiped \(\varPi (V)\) and we are guaranteed that we get every point in \(\mathbb {Z}^d\cap \varPi (V)\) exactly once. This process is summarized in the formula

**Theorem 10**

**(Barvinok**[5]

**).**Let \(C\subset \mathbb {Z}^d\) be a \(d\)-dimensional simplicial cone with integer generators. Then there exists signs \(\epsilon _i\) and vectors \(a_i,b_{i,j}\) such that

The third step is to specialize the representation of \(\phi _P\) in terms of multivariate rational functions we have obtained thus far, in order to get the Ehrhart polynomial \(\mathrm{ehr }_P\) or the number \(\#\mathbb {Z}^n\cap P\). This specialization is non-trivial, especially if Barvinok decompositions are used, since typically the desired specialization is a pole of the rational function representation. However, using an exponential substitution and limit arguments it is possible to compute this specialization in polynomial time.

The toolbox of algorithms we have described here has many more applications and extensions. For example, it is possible to extend these methods to handle multivariate Ehrhart polynomials [55], to compute intersections \(\phi _{P\cap Q}\) given \(\phi _P\) and \(\phi _Q\) [4], to compute Pareto optima in multi-criteria optimization over integer points in polyhedra [28], to integrate and sum polynomials over polyhedra [3] and to convert between rational function representations and piecewise quasipolynomial representations of counting functions [54] – all in polynomial time if the dimension is fixed. As starting points for further reading we recommend the textbooks [6, 29].

## 10 Lattice Point Sets and the Euclidean Algorithm

A closer look at the graph in Fig. 16 immediately reveals a recursive tree-like structure. It turns out that this tree corresponds precisely to the recursive operation of the Euclidean algorithm. The Euclidean algorithm as described by Euclid moves from \((a,b)\) to \((a-b,a)\) if \(a>b\), it moves from \((a,b)\) to \((a,b-a)\) if \({a<b}\) and it terminates if \(a=b\). The perceptive reader will note that this immediately gives a way to enumerate all positive rational numbers as nodes of an infinite binary tree [26]. However, tracing out these paths of the Euclidean algorithm in the plane does not yet reveal the connection to the graph of the GCD. To that end, we turn the Euclidean algorithm on its head.

*center*of the current basis as the sum \(c=v_1+v_2\). If \(p\) lies below the line through \(c\) we change our basis to \(v_1'=v_1\) and \(v_2'=c\). If \(p\) lies above the line through \(c\) we change our basis to \(v_1'=c\) and \(v_2'=v_2\). If \(p\) lies on the line through \(c\) we are done since \(\gcd (a,b) = \frac{a}{c_1} = \frac{b}{c_2}\). Tracing out all the paths the center can take throughout this recursion, we obtain Fig. 17 which reveals the tree structure of the base points of the rays in Fig. 16 and which gives a very natural (and novel) embedding of the Stern-Brocot tree [34, p. 116–117] in the plane.

To conclude, we follow [20] and examine the structure of the integer points below the line \(L\) in more detail, going beyond the closest point \((p,q)\). Define \(T_{a,b}\) to be the triangle with vertices \((0,0)\), \((a,0)\) and \((a,b)\). As we can see in Fig. 18, the “staircase” of integer points in \(T_{a,b}\) is irregular: the possible steps as we move from one column to the next are of two different heights, and it is not clear a priori what the underlying pattern is. It turns out, however, that the triangles \(T_{a,b}\) have a very nice recursive structure. The key observation is that triangles of the form \(T_{c,c}\) are very easy to describe as we always go exactly one step higher as we move from one column to the next. However, if \(a > b\), then \(T_{a,b}\) contains a triangle of the form \(T_{b,b}\), sitting in the lower right corner. Removing this translate of the half-open triangle \(T_{b,b}'\), we are left with a triangle \(\tilde{T}\) with vertices \((0,0), (a-b,0)\) and \((a,b)\). Shearing \(\tilde{T}\) using the linear transformation \(A:(x,y)\mapsto (x-y,y)\), we see that the integer points in \(\tilde{T}\) have the same structure as those in \(T_{a-b,b}\). Here it is crucial that the linear transformation \(A\) maps \(\mathbb {Z}^2\) bijectively onto itself. Now, if \(a<b\) we can apply the same procedure in the other direction. Just like in the Euclidean algorithm we continue recursively until we reach a triangle of the form \(T_{c,c}\) at which point we stop. We can thus decompose any triangle \(T_{a,b}\) into simple triangles of the form \(T_{c,c}\). This process is illustrated in Fig. 18.

This basic approach can yield much more information as detailed in [20]. For example, an analysis of how exactly the big and small steps in the staircase are distributed leads to several characterizations of Sturmian sequences of rational numbers. Moreover, using a recursive procedure similar in spirit to Fig. 18, it is possible to show that the sets of lattice points in 2-dimensional fundamental parallelepipeds always have a short positive description as a union of Minkowski sums of discrete line segments – this short description yields short rational function expressions for 2-dimensional fundamental parallelepipeds, which are quite distinct from those obtained via Barvinok’s algorithm.

## Footnotes

- 1.
It is easy to adapt the following construction to the case of counting partitions with exactly \(m\) parts by making one inequality strict.

- 2.
Classically, a

*polyhedral complex*is a collection \(X\) of polyhedra that is closed under passing to faces, such that the intersection of any two polyhedra in \(X\) is also in \(X\) and is a face of both. In contrast, in a partial polyhedral complex some faces are allowed to be open. This means that it is possible to remove an edge from a triangle – including or excluding the incident vertices. It is sometimes useful to regard a partial polyhedral complex as subset of a fixed underlying polyhedral complex, so as to be able to refer to the vertices of the underlying complex, for example. We will disregard these technical issues in this expository paper, however. - 3.
Ehrhart formulated his theorem for polytopes, not for partial polytopal complexes. The generalization follows immediately, however, since for any partial polytopal complex \(X\) the Ehrhart function \(\mathrm{ehr }_X\) is a linear combination of Ehrhart functions of polytopes.

- 4.
The affine hull of \(P\) is the smallest affine space containing \(P\). Affine spaces are the translates of linear spaces.

- 5.
More precisely, we require that the affine hull of \(P\) is \(\left\{ x \; \,|\,\; A'x=b' \right\} \) and that for every row \(a\) of \(A\) the linear functional \(\left\langle a , x \right\rangle \) is not constant over \(x\in P\).

- 6.
An orientation of a graph \(G\) is

*acyclic*, if it contains no directed cycles. - 7.
Two sets \(X,Y\subset \mathbb {Z}^n\) are

*lattice equivalent*if there exists an affine isomorphism \(x \mapsto Ax+b\) that maps \(X\) to \(Y\) and which induces a bijection on \(\mathbb {Z}^n\). - 8.
- 9.
A simplex \(\varDelta \) with integer vertices is

*unimodular*if the fundamental parallelepiped of \(\mathrm{cone }(\varDelta \times \{1\})\) contains only a single integer vector: the origin. Equivalently \(\mathbb {Z}^n\cap \mathrm{cone }_\mathbb {R}(\varDelta \times \{1\}) = \mathrm{cone }_\mathbb {Z}(\varDelta \times \{1\})\). - 10.
\(M\)-vectors are defined as in Macaulay’s theorem, see for example [57, Chap. 8].

- 11.
This works best if \(Q\) is the specialization of an nc-quasisymmetric function with 0-1 coefficients. Otherwise, this would require a linear combination of Ehrhart functions.

- 12.
Solving a linear system of

*inequalities*over \(\mathbb {Z}\) (or, equivalently, solving a linear system of equations over \(\mathbb {N}\)) is NP-hard. However, solving a linear system of*equations*over \(\mathbb {Z}\) is polynomial-time solvable, for example using the Smith normal form, see below. - 13.
We can also use the theorem of Lawrence-Varchenko to obtain an exact signed decomposition, without working modulo lines.

## Notes

### Acknowledgements

I would like to thank Benjamin Nill, Peter Paule, Manuel Kauers, Christoph Koutschan and an anonymous referee for their helpful comments on earlier versions of this article. I would also like to thank Matthias Beck whose lectures and book [10] were my very own invitation to Ehrhart theory.

### References

- 1.Andrews, G., Paule, P., Riese, A.: MacMahon’s partition analysis VI: a new reduction algorithm. Ann. Comb.
**5**(3), 251–270 (2001)CrossRefMATHMathSciNetGoogle Scholar - 2.Monforte, A.A., Kauers, M.: Formal Laurent series in several variables. Expositiones Mathematicae
**31**(4), 350–367 (2013)CrossRefMATHMathSciNetGoogle Scholar - 3.Baldoni, V., Berline, N., De Loera, J.A., Köppe, M., Vergne, M.: How to integrate a polynomial over a simplex. Math. Comput.
**80**, 297–325 (2011)CrossRefMATHGoogle Scholar - 4.Barvinok, A., Woods, K.: Short rational generating functions for lattice point problems. J. Am. Math. Soc.
**16**(4), 957–979 (2003)CrossRefMATHMathSciNetGoogle Scholar - 5.Barvinok, A.I.: A polynomial time algorithm for counting integral points in polyhedra when the dimension is fixed. Math. Oper. Res.
**19**(4), 769–779 (1994)CrossRefMATHMathSciNetGoogle Scholar - 6.Barvinok, A.I.: Integer Points in Polyhedra. European Mathematical Society (2008)Google Scholar
- 7.Beck, M., Breuer, F., Godkin, L., Martin, J.L.: Enumerating colorings, tensions and flows in cell complexes. J. Comb. Theory, Ser. A
**122**, 82–106 (2014)CrossRefMathSciNetGoogle Scholar - 8.Beck, M., De Loera, J.A., Develin, M., Pfeifle, J., Stanley, R.P.: Coefficients and roots of Ehrhart polynomials. In: Barvinok, A.I. (ed.) Integer Points in Polyhedra, Proceedings of an AMS-IMS-SIAM Joint Summer Research Conference, Snowbird, Utah, 2003, pp. 1–24. AMS (2005)Google Scholar
- 9.Beck, M., Haase, C., Sottile, F.: Formulas of Brion, Lawrence, and Varchenko on rational generating functions for cones. Math. Intell.
**31**(1), 9–17 (2009)CrossRefMATHMathSciNetGoogle Scholar - 10.Beck, M., Robins, S.: Computing the Continuous Discretely: Integer-Point Enumeration in Polyhedra. Springer, New York (2007)Google Scholar
- 11.Beck, M., Sanyal, R.: Combinatorial reciprocity theorems (2014, to appear). http://math.sfsu.edu/beck/crt.html
- 12.Beck, M., Zaslavsky, T.: Inside-out polytopes. Adv. Math.
**205**(1), 134–162 (2006)CrossRefMATHMathSciNetGoogle Scholar - 13.Beck, M., Zaslavsky, T.: The number of nowhere-zero flows on graphs and signed graphs. J. Comb. Theory, Ser. B
**96**(6), 901–918 (2006)CrossRefMATHMathSciNetGoogle Scholar - 14.Bergeron, N., Zabrocki, M.: The Hopf algebras of symmetric functions and quasi-symmetric functions in non-commutative variables are free and co-free. J. Algebra Appl.
**8**(4), 581–600 (2009)CrossRefMATHMathSciNetGoogle Scholar - 15.Breuer, F.: Ham sandwiches, staircases and counting polynomials. Ph.D. thesis, Freie Universität Berlin (2009)Google Scholar
- 16.Breuer, F.: Ehrhart \(f^*\)-coefficients of polytopal complexes are non-negative integers. Electron. J. Comb.
**19**(4), P16 (2012)MathSciNetGoogle Scholar - 17.Breuer, F., Dall, A.: Bounds on the coefficients of tension and flow polynomials. J. Algebr. Comb.
**33**(3), 465–482 (2011)CrossRefMATHMathSciNetGoogle Scholar - 18.Breuer, F., Dall, A., Kubitzke, M.: Hypergraph coloring complexes. Discrete Math.
**312**(16), 2407–2420 (2012)CrossRefMATHMathSciNetGoogle Scholar - 19.Breuer, F., Eichhorn, D., Kronholm, B.: Cranks and the geometry of combinatorial witnesses for the divisibility and periodicity of the restricted partition function (2014, in preparation)Google Scholar
- 20.Breuer, F., von Heymann, F.: Staircases in \(\mathbb{Z}^2\). Integers
**10**(6), 807–847 (2010)CrossRefMATHMathSciNetGoogle Scholar - 21.Breuer, F., Klivans, C.J.: Scheduling problems (2014, submitted). arXiv:1401.2978v1
- 22.Breuer, F., Sanyal, R.: Ehrhart theory, modular flow reciprocity, and the Tutte polynomial. Mathematische Zeitschrift
**270**(1), 1–18 (2012)CrossRefMATHMathSciNetGoogle Scholar - 23.Breuer, F., Zafeirakopoulos, Z.: Polyhedral omega: a new algorithm for solving linear diophantine systems (2014, in preparation)Google Scholar
- 24.Brion, M.: Points entiers dans les polyèdres convexes. Annales scientifiques de l’École Normale Supérieure
**21**(4), 653–663 (1988)MATHMathSciNetGoogle Scholar - 25.Bruns, W., Ichim, B., Söger, C.: The power of pyramid decomposition in normaliz (2012). arXiv:1206.1916v1
- 26.Calkin, N., Wilf, H.S.: Recounting the rationals. Am. Math. Mon.
**107**(4), 360–363 (2000)CrossRefMATHMathSciNetGoogle Scholar - 27.Chari, M.K.: Two decompositions in topological combinatorics with applications to matroid complexes. Trans. Am. Math. Soc.
**349**(10), 3925–3943 (1997)CrossRefMATHMathSciNetGoogle Scholar - 28.De Loera, J.A., Hemmecke, R., Köppe, M.: Pareto optima of multicriteria integer linear programs. INFORMS J. Comput.
**21**(1), 39–48 (2009)CrossRefMATHMathSciNetGoogle Scholar - 29.De Loera, J.A., Hemmecke, R., Köppe, M.: Algebraic and geometric ideas in the theory of discrete optimization, vol. 14. SIAM (2012)Google Scholar
- 30.De Loera, J.A., Hemmecke, R., Tauzer, J., Yoshida, R.: Effective lattice point counting in rational convex polytopes. J. Symb. Comput.
**38**(4), 1273–1302 (2004)CrossRefGoogle Scholar - 31.Ehrhart, E.: Sur les polyèdres rationnels homothétiques à \(n\) dimensions. C. R. Acad. Sci. Paris
**254**, 616–618 (1962)MATHMathSciNetGoogle Scholar - 32.Fukuda, K., Prodon, A.: Double description method revisited. In: Deza, M., Euler, R., Manoussakis, I. (eds.) CCS 1995. LNCS, vol. 1120, pp. 91–111. Springer, Heidelberg (1996)CrossRefGoogle Scholar
- 33.Fukuda, K., Rosta, V.: Combinatorial face enumeration in convex polytopes. Comput. Geom.
**4**(4), 191–198 (1994)CrossRefMATHMathSciNetGoogle Scholar - 34.Graham, R.L., Knuth, D.E., Patashnik, O.: Concrete Mathematics: A Foundation for Computer Science, 2nd edn. Addison-Wesley Longman Publishing Co. Inc., Boston (1994)MATHGoogle Scholar
- 35.Greene, C.: Acyclic orientations (notes). In: Aigner, M. (ed.) Higher Combinatorics, pp. 65–68. Reidel, Dordrecht (1977)Google Scholar
- 36.Haase, C., Schicho, J.: Lattice polygons and the number 2i+7. Am. Math. Mon.
**116**(2), 151–165 (2009)CrossRefMATHMathSciNetGoogle Scholar - 37.Henk, M., Tagami, M.: Lower bounds on the coefficients of Ehrhart polynomials. Eur. J. Comb.
**30**(1), 70–83 (2009)CrossRefMATHMathSciNetGoogle Scholar - 38.Hersh, P., Swartz, E.: Coloring complexes and arrangements. J. Algebr. Comb.
**27**(2), 205–214 (2007)CrossRefMathSciNetGoogle Scholar - 39.Jochemko, K., Sanyal, R.: Arithmetic of marked order polytopes, monotone triangle reciprocity, and partial colorings, pp. 1–16 (2013). arXiv:1206.4066v2
- 40.Köppe, M., Verdoolaege, S.: Computing parametric rational generating functions with a primal Barvinok algorithm. Electron. J. Comb.
**15**, R16 (2008)Google Scholar - 41.Lawrence, J.: Valuations and polarity. Discrete Comput. Geom.
**3**(1), 307–324 (1988)CrossRefMATHMathSciNetGoogle Scholar - 42.Lenstra, H.W.: Integer programming with a fixed number of variables. Math. Oper. Res.
**8**(4), 538–548 (1983)CrossRefMATHMathSciNetGoogle Scholar - 43.Macdonald, I.G.: Polynomials associated to finite cell complexes. J. London Math. Soc.
**2**(4), 181–192 (1971)CrossRefMathSciNetGoogle Scholar - 44.Pfeifle, J., Rambau, J.: Computing triangulations using oriented matroids. In: Joswig, M., Takayama, N. (eds.) Algebra, Geometry, and Software Systems, pp. 49–75. Springer, Berlin (2003)CrossRefGoogle Scholar
- 45.De Loera, J.A., Rambau, J., Santos, F.: Triangulations: Structures for Algorithms and Applications. Springer, Berlin (2010)CrossRefGoogle Scholar
- 46.Schrijver, A.: Theory of Linear and Integer Programming. Wiley, New York (1986)MATHGoogle Scholar
- 47.Stanley, R.P.: Acyclic orientations of graphs. Discrete Math.
**5**, 171–178 (1973)CrossRefMATHMathSciNetGoogle Scholar - 48.Stanley, R.P.: Decompositions of rational convex polytopes. Ann. Discrete Math.
**6**, 333–342 (1980)CrossRefMATHMathSciNetGoogle Scholar - 49.Stanley, R.P.: Two poset polytopes. Discrete Comput. Geom.
**1**, 9–23 (1986)CrossRefMATHMathSciNetGoogle Scholar - 50.Stanley, R.P.: Enumerative Combinatorics. Cambridge Studies in Advanced Mathematics, vol. 2. Cambridge University Press, Cambridge (2001)MATHGoogle Scholar
- 51.Stapledon, A.: Inequalities and Ehrhart \(\delta \)-vectors. Trans. Am. Math. Soc.
**361**, 5615–5626 (2009)CrossRefMATHMathSciNetGoogle Scholar - 52.Swartz, E.: g-Elements, finite buildings and higher Cohen-Macaulay connectivity. J. Combin. Theory, Ser. A
**113**, 1305–1320 (2006)CrossRefMATHMathSciNetGoogle Scholar - 53.Varchenko, A.N.: Combinatorics and topology of the disposition of affine hyperplanes in real space. Funct. Anal. Appl.
**21**(1), 9–19 (1987)CrossRefMATHMathSciNetGoogle Scholar - 54.Verdoolaege, S., Woods, K.: Counting with rational generating functions. J. Symb. Comput.
**43**(2), 75–91 (2008)CrossRefMATHMathSciNetGoogle Scholar - 55.Verdoolaege, S., Seghir, R., Beyls, K., Loechner, V., Bruynooghe, M.: Counting integer points in parametric polytopes using Barvinok’s rational functions. Algorithmica
**48**(1), 37–66 (2007)CrossRefMATHMathSciNetGoogle Scholar - 56.Woods, K.: Presburger arithmetic, rational generating functions, and quasi-polynomials. In: Fomin, F.V., Freivalds, R., Kwiatkowska, M., Peleg, D. (eds.) ICALP 2013, Part II. LNCS, vol. 7966, pp. 410–421. Springer, Heidelberg (2013). http://arxiv.org/abs/1211.0020 CrossRefGoogle Scholar
- 57.Ziegler, G.M.: Lectures on Polytopes. Graduate Texts in Mathematics. Springer, New York (1995)CrossRefMATHGoogle Scholar