Neighborhood Complexes and Generating Functions for Affine Semigroups
Discrete Comput Geom
Geometry Discrete & Computational
Neighborhood Complexes
Generating Functions for Affine Semigroups
Herbert E. Scarf 1
Kevin M. Woods 0
0 Department of Mathematics, University of California , Berkeley, CA 94720 , USA
1 Cowles Foundation for Research in Economics, Yale University , New Haven, CT 06520-8281 , USA
Given a1, a2, . . . , an ∈ Zd , we examine the set, G, of all non-negative integer combinations of these ai . In particular, we examine the generating function f (z) = b∈G zb. We prove that one can write this generating function as a rational function using the neighborhood complex (sometimes called the complex of maximal lattice-free bodies or the Scarf complex) on a particular lattice in Zn . In the generic case, this follows from algebraic results of Bayer and Sturmfels. Here we prove it geometrically in all cases, and we examine a generalization involving the neighborhood complex on an arbitrary lattice.
1. Introduction
Given positive integers a1, a2, . . . , an , let
G = {µ 1a1 + µ 2a2 + · · · + µ n an : µ i ∈ Z≥0},
that is, G is the additive semigroup (with zero) generated by a1, a2, . . . , an . If the greatest
common divisor of a1, a2, . . . , an is one, then all sufficiently large integers are in G, and
the Frobenius problem is to find the largest integer not in G. We want to say something
about the structure of the set G. In particular, define the generating function
zb.
This generating function converges for |z| < 1. We want to calculate f (z) in a nice form.
It turns out that we can obtain it from the neighborhood complex (sometimes called the
Scarf complex or the complex of maximal lattice-free bodies; we will define it shortly) of
an associated lattice. This was proved by Bayer and Sturmfels using algebraic methods
[BS]. Here we prove it geometrically.
We do not need to restrict ourselves to the case where G is one-dimensional. In general, we make the following definition.
Definition 1.1. Given a d × n matrix, A, of integers with columns a1, a2, . . . , an ∈ Zd ,
the affine semigroup given by A is the set
G = {µ 1a1 + µ 2a2 + · · · + µ nan: µ i ∈ Z≥0} = { Aξ : ξ ∈ Zn≥0}.
The d = 1 case corresponds to the Frobenius problem.
Definition 1.2. Given an affine semigroup G, the generating function f (z) = fG (z) is
given by
f (z) =
b∈G
zb =
b=(b1,...,bd )∈G
z1b1 z2b2 · · · zdbd ,
where z = (z1, z2, . . . , zd ).
We assume that there exists an l = (l1, l2, . . . , ld ) ∈ Rd such that l, ai < 0 for all i .
Then for all z in a neighborhood of (el1 , el2 , . . . , eld ) we have zai < 1, and so f (z) will
converge in this neighborhood. Note that if there were no such l, then G would contain
a linear subgroup, and f (z) would not converge on any open subset of Cd . Since the
structure of a linear group is simple, however, we are not concerned with such G.
We want to calculate this generating function, f (z). Theorem 1.7 gives the answer.
Let ⊂ Zn be the lattice
{λ ∈ Zn: Aλ = 0}.
We will shortly define the neighborhood complex, S, a simplicial complex whose vertices
are . By a simplicial complex, we mean that S is a collection of finite subsets of ,
and that if s ∈ S, then all subsets of s are also in S. The vertices of the complex are the
{s} ∈ S, the edges are the {s, s } ∈ S, and so forth. In this paper we do not count the
empty set as a simplex of S. This complex is not, in general, geometrically realizable in
the linear span of .
For s = {λ1, λ2, . . . , λk } with λi ∈ , define
max(s) = max{λ1, λ2, . . . , λk },
where the maximum is taken coordinatewise (for example, we have that
max {(1, −1), (0, 0)} = (1, 0)).
Definition 1.3. A lattice ⊂ Zd is generic if, whenever some nonzero λ =
(λ1, λ2, . . . , λn) ∈ has λi = 0, for some i , then there is a λ ∈ with λ < max(λ, 0).
When is generic, define S as follows.
Definition 1.4. Given a generic lattice ⊂ Zn, the neighborhood complex S = S( )
is the collection of s ⊂ such that for no λ ∈ is λ < max(s).
If s ∈ S, then all subsets of s are in S as well, so S is a simplicial complex. Definition
5.3 gives S in the nongeneric case. Basically, we must perturb the vertices slightly so we
are in the generic case.
Example 1.5. If A is a 1 × 3 matrix (that is, G is a one-dimensional additive semigroup
with three generators), then is a two-dimensional sublattice of Z3. There exists a basis
{h1, h2} of such that the neighborhood complex consists of vertices {x }, for x ∈ ;
edges
{x , x + h1}, {x , x + h2}, and {x , x + h1 + h2};
and triangles
{x , x + h1, x + h1 + h2} and {x , x + h2, x + h1 + h2}
(see Fig. 1, where has been transformed to be Z2, and see, for example, [Sc2]). Notice
that these triangles exactly tile the linear span of . This is not true in higher dimensions.
Neighborhood complexes often appear in the field of integer programming in a slightly
different, but equivalent, form. Let r be the dimension of the lattice , and let B be an n×r
integer matrix whose columns form a basis for , so that = {B x : x ∈ Zr }. Then we
may form a simplicial complex, S , on Zr , as follows. Given s = {x 1, x 2, . . . , x k } ⊂ Zr ,
let Ps be the polytope defined by
Ps =
x ∈ Rr : B x ≤ max{B x 1, B x 2, . . . , B x k } .
Ps is the smallest polytope of any {x : B x ≤ b}, for b ∈ Zn, which contains s . In the
generic case we say that s ∈ S if and only if Ps contains no integer points in its interior.
It is easily seen that S and S are isomorphic under the map x → B x .
y
h1
h2
h1+h2
x
Fig. 1. Example 1.5, the neighborhood complex (transformed to lie on Z2) when A is a 1 × 3 matrix.
If {0, x } ∈ S is an edge of the complex, then x is called a neighbor of the origin.
The set of neighbors of the origin forms a test set for the family of integer programs
minimize βn, x such that βi , x ≤ bi , for 1 ≤ i ≤ n − 1,
where βi is the i th row of B, where b = (b1, b2, . . . , bn−1) is allowed to vary in Zn−1, and
where ·, · is the standard dot product on Rr . The set of neighbors is a test set, because,
for a fixed b, if x is a feasible solution (that is, it satisfies the linear inequalities), then
x minimizes βn, x if and only if there is no neighbor, x , of the origin such that both
x − x is feasible and βn, x − x < βn, x . For an introduction to neighbors and their
applications to integer programming, see [Sc2].
Returning to S, the complex with vertices in , we see that S is invariant under
translation by . Let S¯ be a set of distinct representatives of S modulo .
Definition 1.6. The generating function fS¯ (z) is given by
for.
The following theorem states that this is the generating function that we are looking
Theorem 1.7. Given a d × n matrix of integers A, let = {λ ∈ Zn: Aλ = 0}. Define
the neighborhood complex S on (if is generic, this is Definition 1.4; if is
nongeneric, this is Definition 5.3), and let S¯ be a set of distinct representatives of S modulo
. If f (z) and fS¯ (z) are given by Definitions 1.2 and 1.6, respectively, then
f (z) = fS¯ (z).
λ ∈
In the generic case this theorem follows from algebraic results of Bayer and Sturmfels
[BS], but we prove it here using elementary geometric methods. Bayer and Sturmfels
construct the hull complex, which coincides with S¯ when is generic, but which is larger
than S¯ in the nongeneric case. Note that they use Hilbert series terminology, which is
equivalent, because f (z) is the Hilbert series for the monomial ring C[xa1 , xa2 , . . . , xan ]
with the standard Zd -grading. Barvinok and Woods show [BW] that f (z) can be written
as a “short” rational generating function (much shorter than fS¯ (z)), but, when written in
that form, the structure of the neighborhood complex is lost.
The function fS¯ (z) makes sense even if is a proper sublattice (perhaps of full
dimension, perhaps not) of {λ ∈ Zn: Aλ = 0}. That is, we may still take the neighborhood
complex, S, choose S¯, a set of distinct representatives of S modulo , and then take
fS¯ (z) as in Definition 1.6. Does fS¯ have an interpretation as a generating function, as in
Theorem 1.7?
In fact, it does, as we shall see. Let be any lattice in Zn such that Aλ = 0, for all
.
Definition 1.8. The nonnegative integers cb, for b ∈ Zd , are defined, as follows. Given
b ∈ Zd , define
Tb = {ξ ∈ Zn: ξ ≥ 0 and Aξ = b}.
That is, Tb represents the set of ways to write b as a nonnegative integer combination of
the a1, a2, . . . , an (and so Tb is nonempty if and only if b is in the semigroup G). Define
an equivalence relation on Tb by
ξ ∼ η
iff ξ − η ∈
Theorem 1.9. Given a d × n matrix of integers A, let ⊂ Zn be a lattice such that
Aλ = 0 for all λ ∈ . Define the neighborhood complex S on (if is generic, this
is Definition 1.4; if is nongeneric, this is Definition 5.3), and let S¯ be a set of distinct
representatives of S modulo . If fS¯ (z) and cb are given by Definitions 1.6 and 1.8,
respectively, then
When is a generic lattice, this theorem can be retrieved from a result of Peeva and
Sturmfels [PS], but they again use algebraic methods. In the case where is the full
lattice {λ ∈ Zn: Aλ = 0}, every element of Tb is equivalent to every other, since if
Aξ = Aη = b, then A · (ξ − η) = 0 and so ξ − η ∈ . In this case, if b ∈ G then cb = 1
(and if b ∈/ G then cb = 0), and we recover Theorem 1.7.
At the other extreme, if = {0}, each element of Tb is in its own equivalence class.
Then, since S is the complex with one vertex 0, we have
and Theorem 1.9, in this case, is clear. We present other examples of Theorems 1.7 and
1.9 in Section 2.
Let L be the full orthogonal lattice { ∈ Zn: A = 0}, and let C be a lattice-invariant
simplicial complex on L. Note that when the lattice in Theorem 1.9 is not all of L,
then S, the neighborhood complex on , is not L-invariant. In this case if L¯ is a set
of distinct representatives of L modulo , then the complex C we examine will be the
disjoint union
C =
S + ,
∈L¯
max(s) ≤ ξ.
where
S + = {λ1 + , λ2 + , . . . , λk + }: {λ1, λ2, . . . , λk } ∈ S ,
which is L-invariant.
Definition 1.10. Given a simplicial complex C with vertices in Zn and an ξ ∈ Zn, the
simplicial complex Cξ is the subcomplex of C consisting of simplices s ∈ C such that
(2,-4,2)
(1,-2,1)
Example 1.11. Let A = [3 4 5] so that G is the additive semigroup generated by 3, 4,
and 5. Let = L = {λ ∈ Z3: Aλ = 0}, and let C = S be the neighborhood complex
defined on . One can show that C has vertices {λ}, for λ ∈ ; edges
{λ, λ + (2, 1, −2)}, {λ, λ + (1, −2, 1)}, and {λ, λ + (
3, −1, −1
)};
and triangles
{λ, λ + (2, 1, −2), λ + (
3, −1, −1
)} and {λ, λ + (1, −2, 1), λ + (
3, −1, −1
)}.
Let ξ = (2, 1, 2). Then Fig. 2 shows Cξ . Note that if {λ} is a vertex of Cξ , then
ξ − λ ≥ 0 by definition of Cξ , and
A(ξ − λ) = Aξ = 20,
and so (as will be important later), each vertex of Cξ corresponds to a way to write 20 as
a nonnegative integer combination of 3, 4, and 5. For example, {(1, −2, 1)} is a vertex
of Cξ , ξ − (1, −2, 1) = (
1, 3, 1
), and 1 · 3 + 3 · 4 + 1 · 5 = 20.
Define the Euler characteristic, EC(Cξ ), by
EC(Cξ ) =
s∈Cξ
(−1)dim(s).
Since C is L-invariant, Cξ− = Cξ − for all ∈ L. Then, given b ∈ Zd , all of the
Cξ , for ξ ∈ Zn such that Aξ = b, are isomorphic to each other, and we can make the
following definition.
Definition 1.12. Given b ∈ Zd , the integer db is given by db = EC(Cξ ), for some
(any) ξ such that Aξ = b (where Cξ is given by Definition 1.10).
We prove Theorems 1.7 and 1.9 using the following lemma, which says that these
Euler characteristics, db, are the coefficients of the Laurent power series fC¯ (z).
Lemma 1.13. If A is a d × n matrix of integers and C is a lattice-invariant simplicial
complex on L = { ∈ Zn: A = 0}, let db be given by Definition 1.12, for all b ∈ Zd . If
C¯ is a set of distinct representatives of C modulo L, then
where
fC¯ (z) =
b∈Zd
dbzb,
fC¯ (z) =
s∈C¯ (−1)dim(s)zA·max(s)
We prove this lemma in Section 3. First, in Section 2, we give several examples of
Theorems 1.7 and 1.9. In Section 4 we examine neighborhood complexes and make the
Euler characteristic calculations necessary to prove Theorems 1.7 and 1.9 from Lemma
1.13. The key ingredient in these calculations is the fact (first proved in [BSS]) that these
neighborhood complexes have a very nice topological structure. In Section 5 we examine
the nongeneric case, and prove Theorems 1.7 and 1.9 for these lattices.
2. Examples
In this section we look at several examples of Theorems 1.7 and 1.9. First we examine
Theorem 1.7, for varying n and d.
Suppose d = 1. If a1, a2, . . . , an are positive integers whose greatest common divisor
is one, then the Frobenius number is the largest integer not in G. The problem of finding
this number dates back to Frobenius and Sylvester. Scarf and Shallcross [SS] have related
the Frobenius number itself to the neighborhood complex. They show (using slightly
different terminology) that, if
N = max{ A · max(s): s is in the neighborhood complex, S},
then the Frobenius number is
N − (a1 + a2 + · · · + an).
Note that, in the terminology of this paper, N is the largest exponent in the numerator
of fS¯ (z) = f (z).
Example 2.1. Theorem 1.7, with d = 1, n = 2. Then
f (z) = (1 − za1 )(1 − za2 ) .
1 − zlcm(a1,a2)
In this case we may choose S¯ to consist of the vertex {0} and the edge {0, h}, where h is
a generator of the lattice . This formula can easily be verified directly.
y
h1
h2
Example 2.2. Theorem 1.7, with d = 1, n = 3. Then
poly(z)
f (z) = (1 − za1 )(1 − za2 )(1 − za3 ) ,
where poly(z) is a polynomial with at most six monomials.
In this case, S¯ consists of one vertex, three edges, and two triangles (see [Sc1]). More
specifically, for some h1, h2 ∈ , we may take S¯ to be the set with vertex {0}; edges
{0, h1}, {0, h2}, and {0, h1 + h2}; and triangles {0, h1, h1 + h2} and {0, h2, h1 + h2} (see
Fig. 3). This formula was previously shown in [D], and also follows from [H], but their
proofs required algebraic methods.
Here is a specific example:
Example 2.3. Theorem 1.7, with a1 = 11, a2 = 17, and a3 = 23. Then
Example 2.4. Theorem 1.7, with n = d + 1. If the R-span of the ai is all of Rd (and
so = {λ ∈ Zn: Aλ = 0} is a one-dimensional lattice), then
where a = Aλ, and λ is a generator of the lattice .
As in the special case d = 1, n = 2, S¯ consists solely of one vertex and one edge.
This formula can also easily be verified directly.
Example 2.5. Theorem 1.7, with n = d + 2. If the R-span of the ai is all of Rd (and
so is a two-dimensional lattice), then
In other words, we can write f (z) using relatively “few” terms. This is not immediately
obvious, because the number of simplices in S¯ may be much larger than C · (nd +
log2 Ai j ), exponentially larger, in fact. In [Sc1], however, Scarf shows that S¯ has
a nice structure, which we exploit. In particular, we may represent the edges of S¯ by
{0, hi j }, for i ∈ I and 0 ≤ j ≤ Ni , where hi0, hi1, . . . , hi Ni lie on an interval, that is
hi j = ci + j di ,
for some ci , di ∈ . The number of such intervals, |I |, is bounded by C1 · (nd +
log2 Ai j ), where C1 is a constant. The triangles and 3-simplices also lie on intervals
(and there are no higher-dimensional simplices). For example, the 3-simplices are
{0, di , ci + ( j − 1)di , ci + j di },
for i ∈ I and 1 ≤ j ≤ Ni . The exponents in the numerator of fS¯ (z), which are A · max(s)
for s ∈ S¯, will also lie on intervals αk + jβk , for k ∈ K , 0 ≤ j ≤ Nk , and αk , βk ∈ Zd ,
and we may write
Nk
j=0
zαk+ jβk as
zαk − zαk+(Nk+1)βk
1 − zβk
.
Doing this gives us a short formula for f (z).
Here is a specific example:
Example 2.6. Theorem 1.7, with a1 = (2, 0), a2 = (
0, 3
), a3 = (
3, 8
), and a4 = (5, 2).
Then
f (z, w) = (1 − z2w−6)(1 − z2)(1 − w3)(1 − z3w8)(1 − z5w2)
−(z20w42 − z32w6) + (z23w50 − z35w14)
(z22w42 − z32w12) − (z25w50 − z35w20)
+ (1 − z2w−6)(1 − z2)(1 − w3)(1 − z3w8)(1 − z5w2)
1 − z5w8 − z18w48 + z20w48
+ (1 − z2)(1 − w3)(1 − z3w8)(1 − z5w2) .
In this example, S¯ has one vertex, and it has eight edges on two intervals, represented
by {0, hi j }, where h10 = (1, −2, 1, −1) and
h2 j = (
10, 14, −5, −1
) + j · (1, −2, 1, −1),
for j = 0, . . . , 6.
In all, S¯ has twelve triangles and five 3-simplices.
Unfortunately, for general n and d, the neighborhood complex has no known structure
as nice as in the n = d + 2 case. If it did, then perhaps we could write f (z) in a short
way. For example, Lova´sz conjectured [L] that the neighbors of the origin, b such that
{0, b} ∈ S, are exactly lattice points in “few” polytopes of dimension less than dim ,
where “few” means the number is bounded by a polynomial in nd + log2 Ai j . This
is the case, as mentioned, for n = d + 2, and it is also the case when n = 4, d = 1 (see
[Sh]), but for more complicated cases the conjecture is not known to be true or false.
Here is an example of Theorem 1.9.
Example 2.7. Theorem 1.9, with a1 = 2, a2 = 3, and
Zn: A = 0} is generated by (
3, −2
). Then
= 2L, where L = { ∈
1 − z12
f (z) = (1 − z2)(1 − z3)
In this case, is generated by (6, −4), and S¯ has one vertex represented by {0} and
one edge represented by {0, (6, −4)}. T8, for example, contains two points (4, 0) and
(1, 2) (since 8 = 4 · 2 + 0 · 3 = 1 · 2 + 3 · 3). Their difference, (
3, −2
), is not in , so
T8 has two equivalence classes, and the coefficient of z8 is 2. In general, when d = 1
and = {0}, the coefficient of za is constant for sufficiently large a, and it is exactly
|L/ |. When d > 1, is a full-dimensional sublattice of L, and K ⊂ Rd is the cone
generated by a1, a2, . . . , an, the coefficient of za is |L/ | for a ∈ K sufficiently far from
the boundary of K .
3. Proof of Lemma 1.13
In this section we prove Lemma 1.13. Assume that C is a lattice-invariant simplicial
complex on L = { ∈ Zn: A = 0}, and let C¯ be a set of distinct representatives of
C modulo L. We will need the following basic lemma about Cξ , for ξ ∈ Zn (where
Cξ is given by Definition 1.10 as the complex of s ∈ C such that max(s) ≤ ξ ). This
lemma says that Cξ partitions nicely into pieces, and these pieces are translates of certain
subsets of C¯ . See Example 3.2 and Fig. 4 for an illustration of this lemma applied to
Example 1.11.
∈L
Cξ =
((C¯ ∩ Cξ− ) + ),
Cξ −
Proof. Note that the union is disjoint, by the definition of C¯ . We use the fact that
(2,1,-2)
(0,0,0)
for all ∈ L , since C is invariant under lattice translations. If s ∈ Cξ , write s = s +
where s ∈ C¯ and ∈ L . Then
s = s −
∈ Cξ − .
Therefore s ∈ C¯ ∩ Cξ − , and s ∈ ((C¯ ∩ Cξ − ) + ).
Conversely, if s ∈ ((C¯ ∩ Cξ − ) + ) for some , then
s −
∈ Cξ − ,
Let Cξ be as in Example 1.11 and Fig. 2. We may take C¯ to be the vertex
{0, (2, 1, −2)}, {0, (1, −2, 1)}, and {0, (
3, −1, −1
)};
and so s ∈ Cξ .
Example 3.2.
{0}; the edges
and the triangles
{0, (2, 1, −2), (
3, −1, −1
)} and {0, (1, −2, 1), (
3, −1, −1
)}.
Then Lemma 3.1 gives the disjoint union illustrated in Fig. 4.
We define another generating function that will be useful in the proof.
Definition 3.3.
The generating function FC¯ (x) is given by
FC¯ (x) =
s∈C¯ (−1)dim(s)xmax(s)
where x = (x1, . . . , xn ).
Then
fC¯ (z) = FC¯ (za1 , za2 , . . . , zan ).
Lemma 3.4. Given ξ ∈ Zn and FC¯ (x) as in Definition 3.3, the coefficient of xξ in
FC¯ (x) is
Proof. For a given s ∈ C¯ , the term
will contribute (−1)dim(s)xξ if max(s) ≤ ξ , and otherwise it will contribute nothing. The
lemma follows, by the definition of Cξ .
Now we have the tools to prove Lemma 1.13.
Proof of Lemma 1.13. Given an L-invariant simplicial complex, C , fix b ∈ Zd . Take a
particular ξ0 ∈ Zn such that Aξ0 = b. Then all ξ ∈ Zn such that Aξ = b are given by
ξ0 − , for ∈ L. Let db = EC(Cξ0 ). We want to show that the coefficient of zb in fC¯ (z)
is db. Since fC¯ (z) = FC¯ (za1 , za2 , . . . , zan ),
the coefficient of zb in fC¯ (z) =
the coefficient of xξ in FC¯ (x)
the coefficient of xξ0− in FC¯ (x)
(−1)dim(s )
(by Lemma 3.4)
(by Lemma 3.1)
s∈C¯ ∩Cξ
(−1)dim(s).
(−1)dim(s)xmax(s)
4. The Neighborhood Complex
Assume that is a generic lattice such that Aλ = 0 for all λ ∈ (we deal with the
nongeneric case in Section 5), and let S be the neighborhood complex, as given by
Definition 1.4. In this section we prove Theorems 1.7 and 1.9. First we examine S and
the subcomplexes Sξ (the complex of s ∈ S such that max(s) ≤ ξ , as given by Definition
1.10). Our goal is to prove the following lemma.
Lemma 4.1. For ξ ∈ Zn, if Sξ = ∅, then EC(Sξ ) = 1.
We prove this lemma by giving a geometric realization of the Sξ and then using prop
erties of this realization to compute the Euler characteristic. We use a construction from
[BSS], where the authors prove that a particular complex (the neighborhood complex
with ideal vertices included) is homeomorphic to Rm−1, where m = dim( ). In fact, the
Sξ also have a nice topological property: they are contractible (this is shown in [BPS]).
Contractibility implies that the Euler characteristic is 1 (this can be seen by applying
standard facts from the homology of CW-complexes, see, for example, Theorem IX.4.4
of [M]), but here we will find EC(Sξ ) directly and geometrically. Bayer and Sturmfels
[BS] also use a very similar construction to analyze their hull complex.
For purposes of exposition, we present lemmas in a different order from how they are
proved. The structure of the proof of Lemma 4.1 is: Lemmas 4.8 and 4.7 imply Lemma
4.5, and then Lemmas 4.3 and 4.5 imply Lemma 4.1.
Let X = {x 1, x 2, . . . , x m }, with xi ∈ Rn, be given.
Definition 4.2. The complex C (X ) on the vertices X is the collection of s ⊂ X such
that there is no x ∈ X with x < max(s).
C (X ) is a simplicial complex. We first prove the following lemma.
Lemma 4.3. For ξ ∈ Zn, if X = {x ∈
: x ≤ ξ }, then Sξ = C (X ).
Proof. Suppose s = {λ1, λ2, . . . , λk } ∈ Sξ . Then λ1, . . . , λk ≤ ξ and for no λ ∈ is
λ < max(s). Therefore for no x ∈ X is x < max(s) (since X ⊂ ), and so s ∈ C (X ).
Conversely, suppose s = {λ1, λ2, . . . , λk } ∈ C (X ). Then λ1, . . . , λk ≤ ξ and for no
x ∈ X is x < max(s). Suppose (seeking a contradiction) that λ < max(s) for some
λ ∈ . Then for each i there is a j such that
λi < λij ≤ ξi .
It follows that λ < ξ and so λ ∈ X , contradicting that for no x ∈ X is x < max(s).
Therefore, for no λ ∈ is λ < max(s), and so s ∈ Sξ .
Definition 4.4. We say that X is generic if, whenever there is some x 1, x 2 ∈ X , with
x 1 = x 2 but xi1 = xi2 for some i , then there is an x ∈ X with x < max(x 1, x 2).
This definition is slightly more complicated than for a lattice (Definition 1.3), because X need not be lattice-invariant. Then Lemma 4.1 will follow from Lemma 4.3, and the following lemma.
Lemma 4.5. If X = {x 1, x 2, . . . , x m } is generic and C (X ) is given by Definition 4.2,
then EC(C (X )) = 1.
To prove this lemma, we follow the method of [BSS] and construct a polyhedron Pt
from the points x 1, x 2, . . . , x m , as follows. Given t ≥ 0, define Et : Rn → Rn by
Et (x ) = etx = (etx1 , etx2 , . . . , etxn ),
where x = (x1, x2, . . . , xn). Now we define
Pt = Rn≥0 ⊕ conv{Et (x 1), Et (x 2), . . . , Et (x m )},
where X = {x 1, x 2, . . . , x m }, conv{S} is the convex hull operation, and ⊕ is the
Minkowski sum operation given by S ⊕ T = {s + t : s ∈ S and t ∈ T }.
Example 4.6. Let X = {−2, −1, 0, 1, 2}. Then P1 is the polyhedron whose boundary
is the curve in Fig. 5.
The polyhedron Pt has the following useful property.
Lemma 4.7. There exists a sufficiently large t such that if s ⊂ X with s = {s1, s2, . . . , sk },
then s ∈ C (X ) if and only if conv{Et (s1), Et (s2), . . . , Et (sk )} is a face of Pt .
Proof. Theorem 2 of [BSS] demonstrates this for the infinite set X =
Lemma 4.7 is very similar, so we do not go through the details. . The proof of
In Example 4.6 (see Fig. 5), this lemma tells us that C (X ) has vertices −2, −1, 0, 1, 2,
and edges {−2, −1}, {−1, 0}, {0, 1}, {1, 2}, as we would expect. In general, Lemma 4.7
y
8
4
P
1
4
8
x
Fig. 5. Example 4.6, P1, with X = {−2, −1, 0, 1, 2}.
gives a geometric realization of C (X ) in Rn. In fact, as shown in Theorem 2 of [BSS],
if we take X to be the (infinite) set , Pt gives a geometric realization of S, the entire
neighborhood complex.
Now pick a sufficiently large t such that Lemma 4.7 holds. Then the simplices in
C (X ) are exactly the bounded faces of Pt . Then Lemma 4.5 (and hence Lemma 4.1)
follows from the following lemma.
Lemma 4.8. Let P be an unbounded polyhedron in Rn. Let F be the collection of
bounded faces of P. Then
EC(F ) =
(−1)dim(F) = 1.
F∈F
Proof. Choose a half-space H+ such that H+ contains all of the bounded faces of P in
its interior and such that P = P ∩ H+ is bounded. Let F be the collection of faces of
P . We know
F ∈F
(−1)dim(F ) = 1 + (−1)n−1.
This is the Euler–Poincare´ formula, and it can be seen combinatorially (see, for example,
Corollary VI.3.2 of [B]), or it can be seen from the fact that the complex F is
homeomorphic to an n − 1 sphere (and then applying standard facts from the homology of
CW-complexes, see, for example, Theorem IX.4.4 of [M]). Let H be the hyperplane
which is the boundary of H+. The faces of P fall into four categories:
1. F , the bounded faces of P,
2. the face P ∩ H ,
3. F ∩ H+, where F is an unbounded face of P, and
4. F ∩ H , where F is an unbounded face of P.
There is a bijective correspondence between the last two categories, mapping a face F
from category 3 of dimension k to F ∩ H , a face from category 4 of dimension k − 1.
Therefore, in F ∈F (−1)dim(F ), these two categories will exactly cancel each other,
and so we have
1 + (−1)n−1 =
(−1)dim(F ) =
F ∈F
F∈F
(−1)dim(F)
+ (−1)n−1 + 0.
The lemma follows.
Now we are ready to prove Theorems 1.7 and 1.9 (in the generic case).
Proof of Theorem 1.7. Let = L = {λ ∈ Zd : Aλ = 0}, and let S be the neighborhood
complex on . Take a particular ξ0 ∈ Zn such that Aξ0 = b, and let db = EC(Sξ0 ). We
want to show that
fS¯ (z) =
b∈G
zb,
and by Lemma 1.13 we know that
b∈Zd
dbzb.
By Lemma 4.1 we know that db = 1 if and only if Sξ0 is nonempty (and db = 0
otherwise), so it suffices to show that Sξ0 is nonempty if and only if b ∈ G.
Indeed, if {λ} ∈ Sξ0 , for some λ ∈ , then λ ≤ ξ0 and so ξ0 − λ ≥ 0. Then, since
A · (ξ0 − λ) = b − 0 = b with ξ0 − λ ≥ 0, we have that b ∈ G. Conversely, if b ∈ G, then
there is some ξ ≥ 0 such that Aξ = b. Then ξ0 − ξ ≤ ξ0, and A · (ξ0 − ξ ) = b − b = 0,
so ξ0 − ξ ∈ and {ξ0 − ξ } ∈ Sξ0 . The theorem follows.
Proof of Theorem 1.9. Let be a lattice in Zn such that Aλ = 0, for all λ ∈ , and
let S be the neighborhood complex defined on . Recall from Definition 1.8 that, for
b ∈ Zn, we take Tb = {ξ ∈ Zn: ξ ≥ 0 and Aξ = b}, we define an equivalence relation
on Tb by ξ ∼ η if and only if ξ − η ∈ , and we take cb to be the number of equivalence
classes in Tb. To use Lemma 1.13 we must have a lattice-invariant neighborhood complex
on all of L = { ∈ Zn: A = 0}. Let L¯ be a set of distinct representatives of L modulo
, and define C to be the disjoint union
C =
S + .
∈L¯
fS¯ (z) = fC¯ (z) =
b∈Zd
dbzb,
C is an L-invariant complex, and we can choose C¯ and S¯ (representatives of C modulo
L and S modulo , respectively) such that C¯ = S¯. By Lemma 1.13 we know
where db = EC(Cξ ), for some (any) ξ such that Aξ = b. Therefore we need to show
that cb = db, for all b ∈ Zn.
Fix a ξ0 such that Aξ0 = b. We claim that
Cξ0 =
(Sξ0+ − ),
∈L¯
where the union is disjoint. Indeed, if s = { 1, 2, . . . , k } ∈ Cξ0 , then, for each i ,
anid≤s ξ∈0.STξa0+ke− ∈. CL¯osnuvcehrstehlayt, isf +s= ∈{ 1S,. T2,h.e.n. ,i +k} ∈ ≤Sξ0ξ+0 +− ,,athnednsoi s++ ≤∈ξ0S+ξ0+ ,
for all i . Therefore, i ≤ ξ0, and so s ∈ Cξ0 . In addition, the union is disjoint, because
Sξ+ + ⊂ S + , which are themselves disjoint.
Since we have written Cξ0 as a disjoint union, we have
EC(Cξ0 ) =
EC(Sξ0+ ).
∈L¯
Since EC(Sξ0+ ) = 1 if Sξ0+ = ∅, by Lemma 4.1, and EC(Sξ0+ ) = 0 if Sξ0+ = ∅, we
have
EC(Cξ0 ) = #{ ∈ L¯ : Sξ0+ = ∅}.
Therefore, to prove Theorem 1.9, we must show that the number of nonempty Sξ0+ is
the number, cb, of equivalence classes of Tb.
For ξ, η ∈ Tb, ξ ∼ η if and only if ξ − η ∈ , which happens if and only if ξ and
η are in the same coset ξ0 + ( + ), for some ∈ L¯ . Then the equivalence classes
of Tb are exactly the ξ0 + ( + ) ∩ Zn≥0 which are nonempty. However, λ ∈ is
such that ξ0 + ( + λ) ≥ 0 if and only if −λ ≤ ξ0 + , which happens if and only if
{−λ} ∈ Sξ0+ . Therefore Sξ0+ is nonempty if and only if ξ0 + ( + ) ∩ Zn≥0 is a
nonempty equivalence class of Tb. The proof of Theorem 1.9 follows.
5. The Nongeneric Case
The strategy we follow is to perturb the elements of so that no two have any coordinate
that is the same. Then we will be in the generic case and can apply the lemmas of the
last section.
Definition 5.1. A map ϕ:
tions hold:
→ Rn is a proper perturbation if the following 3
condi1. If x = y, then [ϕ(x )]i = [ϕ(y)]i ,
2. if [ϕ(x )]i < [ϕ(y)]i , then xi ≤ yi , and
3. if [ϕ(x )]i < [ϕ(y)]i , then [ϕ(x + λ)]i < [ϕ(y + λ)]i for all λ ∈
.
The first condition ensures that we will be in the generic case, the second ensures that
the perturbation only “breaks ties” and does not change the natural ordering, and the third
condition will be needed to prove that the neighborhood complex is lattice-invariant.
To prove that proper perturbations exist, we construct an example of one.
Example 5.2. This example corresponds to the lexicographical tie-breaking rule used
in [Sc1]. Given an integer i , let fi : Z → R be a function such that
1. fi is strictly increasing,
2. fi (0) = 0 (an hence fi (x ) < 0 if x < 0), and
3. if |x | > 0 (hence |x | ≥ 1), then 1/22i ≤ | fi (x )| < 1/22i−1.
For example, fi could be an appropriate rescaling of arctan(x ). Now define ϕ:
by
→
Rn
ϕ(x ) = x + (x1 f1(x1) + x2 f2(x2) + · · · + xn fn(xn)) · 1,
where 1 is the n-vector of ones. One can check that ϕ is a proper perturbation.
Given a proper perturbation ϕ, we can now define the neighborhood complex, S, on
the vertices .
Definition 5.3. Given a nongeneric lattice ⊂ Zn and a proper perturbation ϕ, the
neighborhood complex S is the collection of s = {λ1, λ2, . . . , λk } such that for no λ ∈
is ϕ(λ) < max(ϕ(s)), where
ϕ(s) = {ϕ(λ1), ϕ(λ2), . . . , ϕ(λk )}.
S may be different for different ϕ, but many properties (including Theorems 1.7 and
1.9) hold regardless of the choice of ϕ. The following lemma shows that S is invariant
under lattice translations, and so fS¯ (z), as given by Definition 1.6, makes sense.
Lemma 5.4. If ϕ is a proper perturbation, then the neighborhood complex S is
latticeinvariant.
Proof. Given λ ∈
, we have the following chain of implications:
s = {λ1, λ2, . . . , λk } ∈ S
⇒ for no λ ∈
⇒ given λ ∈
⇒ given λ ∈
⇒ for no λ ∈
⇒ s + λ ∈ S.
is ϕ(λ ) < max(ϕ(s))
, ∃i such that, ∀ j, [ϕ(λ )]i ≥ [ϕ(λ j )]i
, ∃i such that, ∀ j, [ϕ(λ + λ)]i ≥ [ϕ(λ j + λ)]i
(by property 3 of the proper perturbations)
is ϕ(λ + λ) < max(ϕ(s + λ))
Given ξ ∈ Zn, Sξ is given by Definition 1.10, that is, Sξ is the complex of all s ∈ S
such that max(s) ≤ ξ . For generic X ⊂ Rn, C (X ) is given by Definition 4.2, that is,
C (X ) is the simplicial complex of s ⊂ X such that there is no x ∈ X with x < max(s).
We mimic Lemma 4.3.
Lemma 5.5. If ϕ is a proper perturbation, if ξ ∈ Zn is given, and if Y = {y ∈
ξ }, then ϕ(Sξ ) = C (ϕ(Y )) (and hence Sξ is isomorphic to C (ϕ(Y ))).
: y ≤
Proof. Suppose s = {λ1, λ2, . . . , λk } ∈ Sξ . Then λ1, . . . , λk ≤ ξ and for no λ ∈ is
ϕ(λ) < max(ϕ(s)). Therefore for no y ∈ Y is ϕ(y) < max(ϕ(s)) (since Y ⊂ ), and
so ϕ(s) ∈ C (ϕ(Y )).
Conversely, suppose ϕ(s) ∈ C (ϕ(Y )), with s = {λ1, λ2, . . . , λk }. Then λ1, . . . , λk ≤
ξ and for no y ∈ Y is ϕ(y) < max(ϕ(s)). Suppose (seeking a contradiction) that
ϕ(λ) < max(ϕ(s)) for some λ ∈ . Then for each i there is a j such that
Therefore λi ≤ λij , by property 2 of the proper perturbations, and so
[ϕ(λ)]i < [ϕ(λ j )]i .
λi ≤ λij ≤ ξi .
However, then λ ≤ ξ and so λ ∈ Y , contradicting that for no y ∈ Y is ϕ(y) < max(ϕ(s)).
Therefore, for no λ ∈ is ϕ(λ) < max(ϕ(s)), and so s ∈ Sξ .
In particular, this lemma, together with Lemma 4.5, implies that
EC(Sξ ) = EC C (ϕ(Y )) = 1
whenever Sξ is nonempty. The proofs of Theorems 1.7 and 1.9 in the nongeneric case
are now identical to their proofs in the generic case (see Section 4).
Acknowledgements References
The first author is extremely grateful to Dave Bayer for a long, thoughtful exposition of
the algebraic approach to the problems discussed in the current paper.
[B] Alexander Barvinok . A Course in Convexity . Volume 54 of Graduate Studies in Mathematics. American
Mathematical Society , Providence, RI, 2002 . [BPS] Dave Bayer , Irena Peeva, and Bernd Sturmfels . Monomial resolutions. Math. Res. Lett. , 5 ( 1 -2): 31 - 46 ,
1998 . [BS] Dave Bayer and Bernd Sturmfels . Cellular resolutions of monomial modules . J. Reine Angew . Math.,
502 : 123 - 140 , 1998 . [BSS] Imre Ba´ra´ny, Herbert Scarf, and David Shallcross. The topological structure of maximal lattice free
convex bodies: the general case . Math. Programming , 80 ( 1 , Ser . A): 1 - 15 , 1998 . [BW] Alexander Barvinok and Kevin Woods. Short rational generating functions for lattice point problems .
J. Amer . Math. Soc. , 16 ( 4 ): 957 - 979 ( electronic ), 2003 .
10:Research Paper 36, 7 pp. (electronic) , 2003 .
Math., 3 : 175 - 193 , 1970 .
1988 ), pages 177 - 201 . Volume 6 of Mathematics and its Applications (Japanese Series) . SCIPRESS,
Tokyo , 1989 .
[M] William Massey . A Basic Course in Algebraic Topology . Volume 127 of Graduate Texts in Mathematics.
Springer-Verlag, New York, 1991 . [PS] Irena Peeva and Bernd Sturmfels . Generic lattice ideals . J. Amer. Math. Soc. , 11 ( 2 ): 363 - 373 , 1998 . [Sc1] Herbert Scarf . Production sets with indivisibilities. II. The case of two activities . Econometrica,
49 ( 2 ): 395 - 423 , 1981 . [Sc2] Herbert Scarf . Test sets for integer programs . Math. Programming , 79 ( 1-3 , Ser. B): 355 - 368 , 1997 . [Sh] David Shallcross . Neighbors of the origin for four by three matrices . Math. Oper. Res. , 17 ( 3 ): 608 - 614 ,
1992 . [SS] Herbert Scarf and David Shallcross. The Frobenius problem and maximal lattice free bodies . Math.
Oper. Res. , 18 ( 3 ): 511 - 515 , 1993 .