100% found this document useful (1 vote)
20 views241 pages

Lattice Polytopes

The document is a draft of lecture notes on lattice polytopes, covering various topics in discrete geometry, including lattice polygons, triangulations, and Ehrhart theory. It includes detailed sections on polytopes, lattices, and their properties, as well as problems and examples related to the subject. The notes serve as a comprehensive resource for understanding the geometric and combinatorial aspects of lattice polytopes.

Uploaded by

Malik Nayab
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
20 views241 pages

Lattice Polytopes

The document is a draft of lecture notes on lattice polytopes, covering various topics in discrete geometry, including lattice polygons, triangulations, and Ehrhart theory. It includes detailed sections on polytopes, lattices, and their properties, as well as problems and examples related to the subject. The notes serve as a comprehensive resource for understanding the geometric and combinatorial aspects of lattice polytopes.

Uploaded by

Malik Nayab
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 241

Lecture Notes on Lattice Polytopes

(draft of June 28, 2021)

June 28, 2021


Discrete Geometry III; Summer 2019
TU Berlin

Christian Haase • Benjamin Nill • Andreas Paffenholz


1 An invitation to lattice polytopes . . . . . . . . . . . . . . . . . . . . . 5
1.1 Before we begin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.2 Lattice polygons and isomorphisms . . . . . . . . . . . . . . . . . . . 6
1.3 Triangulations and Pick’s formula . . . . . . . . . . . . . . . . . . . . 10
1.4 A Classification of Lattice Polygons . . . . . . . . . . . . . . . . . . . 12
1.5 Dilations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.6 Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

2 Polytopes and Lattices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19


2.1 Polyhedra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.1.1 Cones and Polytopes . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.1.2 Convex hulls and half-spaces . . . . . . . . . . . . . . . . . . . 23
2.1.3 The face lattice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.2 Decompositions of Polytopes . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.2.1 Polyhedral Complexes . . . . . . . . . . . . . . . . . . . . . . . . 30
2.2.2 Regular Subdivisions and Triangulations . . . . . . . . 31
2.3 Lattices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.3.1 Discrete Subgroup and Lattice Bases . . . . . . . . . . . . 33
2.3.2 Coordinates and Normal Forms . . . . . . . . . . . . . . . . 41
2.3.3 Metric Geometry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
2.3.4 Hilbert Bases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
2.4 Lattice polytopes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
2.4.1 Equivalence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
2.4.2 Examples of Lattice Polytopes and Constructions. 49
VIII

2.4.3 Volumes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
2.5 Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
2.6 Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

3 Ehrhart Theory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
3.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
3.1.1 Examples of Ehrhart polynomials . . . . . . . . . . . . . . 63
3.2 Generating Functions for Lattice Points . . . . . . . . . . . . . . . 65
3.3 Ehrhart’s theorem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
3.4 Stanley’s theorem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
3.4.1 Half-Open Decompositions of Cones . . . . . . . . . . . . 74
3.4.2 The integer point generating function of half-open
cones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
3.4.3 Stanley’s theorem and the h∗ -polynomial of a
lattice polytope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
3.4.4 Where does the h∗ -notation come from? . . . . . . . . . 79
3.5 Reciprocity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
3.5.1 Stanley reciprocity for cones . . . . . . . . . . . . . . . . . . . 81
3.5.2 Ehrhart-Macdonald reciprocity for lattice polytopes 83
3.6 Properties of the h∗ -polynomial . . . . . . . . . . . . . . . . . . . . . . 85
3.6.1 Degree and codegree of lattice polytopes . . . . . . . . 85
3.6.2 Ehrhart polynomials of lattice polygons . . . . . . . . . 88
3.6.3 Polytopes with Small Degree . . . . . . . . . . . . . . . . . . . 89
3.7 Brion’s theorem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
3.8 Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

4 Geometry of Numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
4.1 Minkowski’s Theorems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
4.2 Coverings and Packings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
4.3 Flatness Theorem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
4.4 Finiteness of lattice polytopes with few interior lattice
points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
4.4.1 Finiteness of barycentric coordinates of lattice
simplices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
4.4.2 Coefficient of asymmetry . . . . . . . . . . . . . . . . . . . . . . 113
4.4.3 Bounding the volume . . . . . . . . . . . . . . . . . . . . . . . . . 114
4.5 Lower Bounds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
4.6 Empty lattice simplices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
4.7 Lattice polytopes without interior lattice points . . . . . . . . 122
4.8 Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126

5 Minkowski meets Ehrhart . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131


5.1 Lattice Polytopes of given h∗ -Polynomial . . . . . . . . . . . . . . 131
5.1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
IX

5.1.2 The pyramid theorem for lattice simplices . . . . . . . 133


5.1.3 Proof of the pyramid theorem . . . . . . . . . . . . . . . . . . 135
5.2 Lattice polytopes of small degree . . . . . . . . . . . . . . . . . . . . . 137
5.2.1 Cayley-Polytopes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
5.2.2 Small Degree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
5.2.3 Normal Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
5.3 Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145

6 Short Rational Generating Functions . . . . . . . . . . . . . . . . . 147


6.1 Hermite and Smith Normal Forms . . . . . . . . . . . . . . . . . . . . 148
6.2 Computing Short Rational Generating Functions . . . . . . . 148
6.2.1 Polynommial Time Evaluation . . . . . . . . . . . . . . . . . 153
6.2.2 Integer Linear Programming via Evaluation . . . . . . 155
6.3 The Shortest Vector Problem . . . . . . . . . . . . . . . . . . . . . . . . 155
6.4 Short Lattice Bases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
6.4.1 Applications of LLL . . . . . . . . . . . . . . . . . . . . . . . . . . 168
6.5 Variations of Barvinok’s Algorithm . . . . . . . . . . . . . . . . . . . 168
6.6 The Closest Vector Problem . . . . . . . . . . . . . . . . . . . . . . . . . 170
6.7 Integer Programming in Fixed Dimension . . . . . . . . . . . . . 170
6.8 Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
6.9 Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173

7 Reflexive and Gorenstein polytopes . . . . . . . . . . . . . . . . . . . 175


7.1 Reflexive polytopes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
7.1.1 Dimension 2 and the number 12 . . . . . . . . . . . . . . . . 178
7.1.2 Dimension 3 and the number 24 . . . . . . . . . . . . . . . . 181
7.2 The combinatorics of simplicial reflexive polytopes . . . . . . 183
7.2.1 The maximal number of vertices . . . . . . . . . . . . . . . 183
7.2.2 The free sum construction . . . . . . . . . . . . . . . . . . . . . 184
7.2.3 The addition property . . . . . . . . . . . . . . . . . . . . . . . . 185
7.2.4 Vertices between parallel facets . . . . . . . . . . . . . . . . . 185
7.2.5 Special facets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
7.3 Gorenstein polytopes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
7.4 Finiteness of Gorenstein polytopes of given degree . . . . . . 193
7.5 Classification of reflexive polytopes . . . . . . . . . . . . . . . . . . . 194
7.5.1 Smooth reflexive polytopes . . . . . . . . . . . . . . . . . . . . 194
7.5.2 All reflexive polytopes . . . . . . . . . . . . . . . . . . . . . . . . 194
7.6 Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194

8 Unimodular Triangulations . . . . . . . . . . . . . . . . . . . . . . . . . . . 199


8.1 Regular Triangulations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
8.2 Pulling Triangulations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
8.3 Compressed Polytopes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
8.4 Special Simplices in Gorenstein Polytopes . . . . . . . . . . . . . 206
X

8.5 Dilations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210


8.5.1 Composite Volume . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
8.5.2 Prime Volume . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
8.6 Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213

A Some Convex Geometry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215


A.1 Convex Bodies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
A.2 Ellipsoids . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
A.3 Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219

B Solutions to some Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . 221


B.1 Solutions for Chapter 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
B.2 Solutions for Chapter 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221

Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229

Name Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235


R real numbers \R
R>0 positive integers \Rg
R≥0 nonnegative integers \Rge
R<0 negative integers \Rl
R≤0 nonpositive integers \Rle
Q rational numbers \Q
Z integers \Z
Z>0 positive integers \Zg
Z≥0 nonnegative integers \Zge
Z<0 negative integers \Zl
Z≤0 nonpositive integers \Zle
(Rd )? , (Qd )? , (Zd )? the dual spaces \Rdual, \Qdual, \Zdual
T a triangulation \triang
∆d a simplex \simplex
a the vector with variable name a, all others similar \va
V(P ) the vertices of a polytope P \verts(P)
F (P ) the facets of a polytope P \facets(P)
∂P the boundary (complex) of P \boundary P
Π(V ) the fundamental parallelepiped of V \fp(V)
G the integer point generating function\IntPtGenF(shortcuts siehe .sty
oder Text)
G the integer point generating series\IntPtGenS
b
bac the largest z ∈ Z with z ≤ a \floor
Lecture Notes Lattice Polytopes (draft of June 28, 2021)

dae the smallest z ∈ Z with z ≥ a \ceil


{a} the fractional part a − bac of a \fracpart
A a point/vector configuration, usually P ∩ Zd \configuration
ehr the Ehrhart counting function \ehrcount
Ehr the Ehrhart series \ehrseries
b
| a field \kk
1 the column vector with all entries equal to 1 \1
0 the column vector with all entries equal to 1 \0
C the cone over a polytope \pcone
C ? the dual cone to C \dpcone
h? coefficients of the h? -polynomial \hstar
f f-vector entries \fvec
TF P Tangent cone of a face \tangentcone{P}{F}
L Laurent series\LaurentS
b
L Laurent polynomials\LaurentP
Q Laurent quotient\LaurentQ
R Laurent rational functions \LaurentR
Φ The map onto the rational functions \LaurentHom
F  P F is a face of P \isfaceof
C ? \dual C
C ?? \ddual C
C ??? \dddual C
C a polyhedral complex \pcomplex
S a subdivision \psubdiv
pull(S; v ) a pulling refinement \pull{\psubdiv}{\vv}
star(§; F ) open star of a face F in a complex S \Star{\S}{F}
star(§; F ) closed star of a face F in a complex S \clStar{\S}{F}
V(P ) vertices of P
rank A rank of A
lin A linear space spanned by A
aff A affine hull of A
conv A convex hull of A
cone A conic hull of A
P ? Q the join of P and Q P \join Q
vol the (normalized?) volume \vol
nvolZd the normalized volume \Vol
lineal A lineality space of P
Sw (V ) regular subdivision induced by w on V \regsubdiv{\vw}{V}
lift(w ) the convex hull of the lift of V by w \reglift{\vw}{V}
Ψw the convex piecewise linear function \regfunction{\vw}{V}
id The identity matrix
The zero matrix
Λ A lattice \lattice

— 2 — Haase, Nill, Paffenholz: Lattice Polytopes


(draft of June 28, 2021)

Λ̂ The mother lattice \lambdahat


B A basis of a lattice
width(K; a) width of convex body K wrt functional a ∈ Λ? \width{K}{\va}
widthΛ (K ) width of convex body K wrt lattice Λ \lwidth{K}{\lattice}
% Λ packing radius of a lattice \packingradius{\lattice}
µ Λ covering radius of a lattice \coveringradius{\lattice}
ηF The unique primitive inner normal of a facet F of a polytope \innP_F
uF The unique primitive inner normal of CP corresponding to the facet
F of a polytope P \innC_F
uP The unique lattice point of the Gorenstein cone CP satisfying
h uP , x i = 1 for any primitive generator of CP \innC_P

P The Gorenstein polytope dual to P dualG P*fi
∆d The standard simplex conv(0, e1 , . . . , ed )
Cd The unit cube {x ∈ Rd | 0 ≤ x ≤ 1} = [0, 1]d .
TF P The tangent cone to P at F \tangentcone{P}{F}
visibleP (m) The complex of faces of P visible from m \visible{P}{\vm}

invitation durchlesen, fertig? exercises? B


neuere Resultate zusammenstellen, klassifizieren rein/exer-
cise/notes/raus
– Ehrhart
– GoN
– UT
Struktur sortieren Kap. GoN vs MinkowskiEhrhart; zus"at-
zliche Themen??
2.3 Lattices streamlinen C
Ch. 2 running examples A
Ch. 3 Ehrhart – Todos
Ch. 4 GoN – gegen Ende gro"se Baustelle (include size?)
Ch. 5 Ehrhart meets Minkowski zu kurz
Ch. 6 Algorithmen schreiben A
Ch. 7 Gorenstein
Ch. 8 UT
somewhere: Cayley-korrespondenz via lattice-point-
Zerlegung im dualen Kegel
somehwere: Minkowski-sums and refinement of normal fan,
Cayley-Trick

Haase, Nill, Paffenholz: Lattice Polytopes — 3 —


Lecture Notes Lattice Polytopes (draft of June 28, 2021)

how do we attribute results? in parantheses after “Theorem


xy”? In a separate senctence before or after? Do we give a
citation, a year? How do we do this for theorems with a
name (like Ehrhart’s Theorem)?

— 4 — Haase, Nill, Paffenholz: Lattice Polytopes


An invitation
to lattice polytopes
1
Contents
1.1 Before we begin . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.2 Lattice polygons and isomorphisms . . . . . . . 6
1.3 Triangulations and Pick’s formula . . . . . . . . . 10
1.4 A Classification of Lattice Polygons . . . . . . . 12
1.5 Dilations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.6 Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

In this chapter we would like to give the reader a gentle introduction


to the main players of this book. For this, we will mainly stick to objects
in two dimension, that is, we will consider polygons, their subdivisions
into smaller pieces and the lattice of all points with integer coordinates.
However, the reader will already encounter many methods and types of
results studied in more detail later, among them are triangulations, lattice
point counting, estimating volumes, and several classification results.
Our goal is to convey a first impression of the rich flavours of lattice
polytope theory. This is a branch of convex-discrete geometry with an
algebraic touch and a hint of number theory. It is surprising how many of
the interesting features of lattice polytopes already appear in dimensions
one, two or three. And there is no shortage of open questions for these
seemingly elementary objects.
Lecture Notes Lattice Polytopes (draft of June 28, 2021)

1.1 Before we begin

Before reading on, we would like to invite the reader to pull out a sheet
of graph paper and play with lattice polygons, making one’s first own
discoveries and building a feeling and an appreceation for the objects and
the questions treated in this book.
When we say lattice polygon, we mean a closed convex polygon with
all vertices at crossing points of your graph paper as in Figure 1.1 (and
Fig. 1.1: A lattice polygon not as in Figs. 1.2 and 1.3).
For such a polygon, we can record the number b of graph-paper-
crossing-points on the boundary, the number i of graph-paper-crossing-
points in the interior, and the enclosed area a measured in units of
graph-paper-squares. For example, our first polygon above has (b, i, a) =
(6, 5, 7).
Your task is now to play with these figures and find out what triples
(b, i, a) you can achieve. That is, if I say (3, 0, 1/2), you draw the picture in
Fig. 1.2: non-lattice Figure 1.4, and if I say (9, 1, 4.5), you draw the picture in Figure 1.5. The
reader is invited to try realizing the cases (5, 2, 4), (18, 0, 9), (3, 17, 17.5)
and (11, 2, 6.5).

1.2 Lattice polygons and isomorphisms

In this section, we formally introduce lattice polygons, which are the key
player of this chapter, find a famous connection between its lattice points
Fig. 1.3: non-convex and its volume, and develop the appropriate notion of when to consider
two such polygons the same.
Definition 1.1 A lattice polygon is the convex hull in R2 of finitely
many points in Z2 .
Here, the word lattice refers to Z2 whose elements we call lattice points.
In other words, in dimension 2, lattice points are simply the points on the
grid given by the vectors with all coordinates integral. A lattice polygon
Fig. 1.4: (b, i, a) = (3, 0, 1/2) is the smallest convex set that contains a given finite set of lattice points.
Restricting the vertices to lattice points is quite restrictive. In particular,
a lattice polygon cannot be arbitrarily small. We bound the volume with
the next proposition. We will see that even more is true. Any polygon
with this volume will be a triangle, and any such triangles are equivalent
to each other in some sense we develop below.
Proposition 1.2 (Pick’s Theorem) Any lattice triangle with only
three lattice points (which must be its vertices) has area 1/2.
Fig. 1.5: (b, i, a) = (9, 1, 4.5)
This Proposition may seem unspectacular, at first. But it is remarkable
in several ways. First, the corresponding statement is plain wrong in

— 6 — Haase, Nill, Paffenholz: Lattice Polytopes


Chapter 1. An invitation to lattice polytopes (draft of June 28, 2021)

higher dimensions (see (1.1) below). Second, it is the key ingredient in


the proof of Pick’s Formula (Theorem 1.8) answering whether or not the
triple (5, 2, 4) from Section 1.1 comes from a lattice polygon. Lastly, its
proof uses methods we will come across in several places throughout this
book, and it leads us to the notion of lattice equivalence that we develop
in Definition 1.4.

Proof (of Proposition 1.2). A translation by a lattice vector preserves


the number of lattice points as well as the area. Thus, we can assume
that our triangle ∆ is the convex hull of the origin 0 together with two
linearly independent lattice vectors v and w.
Consider the set

Π(v, w ) := {λv + µw : λ, µ ∈ [0, 1)}

(cf. Figure 1.6). This is a half-open parallelogram, where the segments


between the origin and v and w (but not v, w itself!) belong to the set,
the other two bounding segments do not.
Its area, | det[v, w ]|, the absolute value of the determinant of the
matrix with columns v and w, equals twice the area of ∆.
We claim that Π(v, w ) ∩ Z2 = {0}. Suppose u = λv + µw ∈
Π(v, w ) ∩ Z2 . Then either we have λ + µ ≤ 1 so that u is a lattice
point in ∆ which leaves only u = 0 as v, w 6∈ Π(v, w ). Or we have Fig. 1.6: The half-open parallelo-
λ + µ > 1 so that the reflection v + w − u of u in the parallelogram’s gram in the proof of Pick’s Theorem
(Proposition 1.2)
center is a lattice point in the interior of ∆; a contradiction.
Now, every lattice point z ∈ Z2 can be expressed in terms of v, w:

z = λv + µw = bλcv + bµcw + u

where

u = (λ − bλc)v + (µ − bµc)w ∈ Π(v, w )

but also

u = z − bλcv − bµcw ∈ Z2 .

By the above we must have u = 0, that is, z is an integer linear combi-


nation of v and w.
If we apply this to the standard basis vectors e1 and e2 , we obtain
integral coefficients fitting into the matrix equation
! !
λ λ0 10
[v, w ] = .
µ µ0 01

Because the determinant is multiplicative, the reciprocal of the integer


det[v, w ] is an integer. Hence, det[v, w ] = ±1 and ∆ has area 1/2. u
t

Haase, Nill, Paffenholz: Lattice Polytopes — 7 —


Lecture Notes Lattice Polytopes (draft of June 28, 2021)

We will dwell on this proof a little longer. The method of decomposing


an arbitrary lattice point z into an integral linear combination of v and
w plus a lattice point from the parallelogram is an instance of a general
decomposition, Lemma 3.26, which we will use over and over again.
Moreover, this proof shows more than what we set out to prove. It
shows that, if ∆ = conv(0, v, w ) is such a lattice triangle with only three
lattice points, then every lattice point is an integral linear combination
of v and w and thus the matrix [v, w ] has an intergral inverse and its
determinant is ±1. This deserves a definition.

Definition 1.3 A vector space basis v, w of R2 is a lattice basis of Z2


if the set of integral linear combinations equals Z2 :

{λv + µw : λ, µ ∈ Z} = Z2 .

In other words, a lattice basis of Z2 consists of two integral vectors so


that every other integral vector is an integral linear combination of these
two. A change of basis matrix A must have integer entries (Why?), and
so must its inverse A−1 . We define

Gl2 (Z) := {A ∈ Gl2 (R) : A, A−1 ∈ Z2×2 }.

A change of lattice basis corresponds to a linear map R2 → R2 represented


by the change of basis matrix in Gl2 (Z). We do not care which lattice
basis we use to coordinatize a given lattice polygon. So we will consider
to lattice polygons the same if they are related by such a Gl2 (Z)-map.
Also, it should not matter which lattice point we declare to be the origin.
Therefore, we also allow translations by lattice vectors, leading us to
consider affine maps

x 7→ Ax + b, with A ∈ Gl2 (Z) and b ∈ Z2 .

We call such maps affine lattice automorphisms of Z2 or unimodular


transformations.

Definition 1.4 Two lattice polygons P and P 0 are isomorphic (also


called unimodularly equivalent or lattice equivalent), if there is an affine
lattice isomorphism mapping P onto P 0 .
Exercise 1.1
Exercise 1.2 A more general definition is given in the next chapter (see Definition 2.74).
With the new nomenclature, we can formulate a stronger version of Pick’s
Exercise 1.3
Theorem (Proposition 1.2) which follows from our proof. For this let us
Exercise 1.4
denote by
Exercise 1.5
∆2 := conv(0, e1 , e2 )

the standard or unimodular triangle.

— 8 — Haase, Nill, Paffenholz: Lattice Polytopes


Chapter 1. An invitation to lattice polytopes (draft of June 28, 2021)

Fig. 1.7: Lattice Triangles


Proposition 1.5 Any lattice triangle with only three lattice points is
isomorphic to ∆2 .
It is important to build an intuition what these unimodular transforma-
tions are, and what they do. Figure 1.7 shows three examples of lattice
triangles. The three triangles look quite different: their vertices have
different Euclidean distances and different angles. Still, the top one is
considerably distinguished from the lower two: it has four lattice points,
while the others have only three. They cannot be lattice equivalent, as
unimodular transformations preserve the number of lattice points by
design. But the lower two triangles are equivalent by Proposition 1.5. If
we pick the filled lattice point as the origin and the other two vertices
of the third triangle as basis vectors (1, 0) and (0, 1). Then the second
and third triangles are indeed isomorphic by the following affine lattice
isomorphism: ! !
−1 1 1
Z → Z : x 7→
2 2
x+ .
−1 2 4
There are five more lattice isomorphisms carrying the third triangle to
the second. The reader is invited to find them. Exercise 1.6
So angles and Euclidean distances are not preserved by unimodular
transformations. But, as we observed at the end of the proof of Pick’s
Theorem (Proposition 1.2), a change of lattice basis has determinant ±1
(cf. Exercise 1.7). So unimodular transformations do preserve the area.
And there is also a replacement for Euclidean length. Exercise 1.7

Definition 1.6 The lattice length of a lattice segment e = conv(v, w ) ⊂


Rd is
length(e) := |e ∩ Zd | − 1 .
As this is the only reasonable notion of length in our context, we often
refer to the lattice length of a segment simply as its length. The following
is a summary of what we know thus far.

Proposition 1.7 Equivalent lattice polygons contain the same number


of lattice points, they have the same area and the same lattice perimeter.
u
t

Pick’s Theorem (Proposition 1.2) about the area of triangles is at the


heart of the proof of Pick’s Formula (Theorem 1.8) in the next section. Be

Haase, Nill, Paffenholz: Lattice Polytopes — 9 —


Lecture Notes Lattice Polytopes (draft of June 28, 2021)

warned, however, that the corresponding version fails in higher dimensions.


This is famously shown by the so called Reeve simplices:
d−1
!
X
Rd (m) := conv 0, e1 , e2 , . . . , ed−1 , ei + med (1.1)
i=1

Here, d is the dimension of the simplex, and m is a positive integer


(its normalized volume, see Definition 2.80 in the next chapter for this
notion). Figure 1.8 depicts the 3-dimensional Reeve simplex R3 (4). As
the reader is encouraged to prove in Exercise 1.9, any such simplex has
only its vertices as lattice points. This shows that in dimension d ≥ 3
there are infinitely many lattice simplices containing only d + 1 lattice
points each and which have pairwise different volumes. In particular they
are non-isomorphic. As we will discuss later in Section 4.6, this makes
life considerably more interesting in higher dimensions, and it highlights
Exercise 1.9 once more how remarkable Pick’s Theorem (Proposition 1.2) really is.

1.3 Triangulations and Pick’s formula

The goal of this section is to prove an elegant formula for the computation
of the area of a lattice polygon just by counting lattice points. We have
seen this miracle already for triangles (Pick’s Theorem (Proposition 1.2))
and we will now generalize it to arbitrary lattice polygons. We thus find
a first relation among the parameters b, i, a from Section 1.1.
Keep in mind that the Reeve simplices (1.1) exclude a straightforward
generalization to higher dimensions. To find some generalization is the
Fig. 1.8: Reeve’s Tetrahedron
topic of Chapter 3 on Ehrhart Theory.
Theorem 1.8 (Pick’s Formula) Let P be a lattice polygon with i in-
terior lattice points, b lattice points on the boundary, and (Euclidean)
area a. Then
b
a = i+ −1.
2
This shows, for instance, that the triple (5, 2, 4) from Section 1.1 can
never come from a lattice polygon.

Proof. We prove this by induction on the number l := b + i of lattice


points in the polygon P .
The smallest case b = 3 and i = 0 is covered by Pick’s Theorem
(Proposition 1.2). There are two cases to consider for the induction:
Fig. 1.9: Splitting P into pieces. (1) either P has b ≥ 4 lattice points on the boundary, or (2) b = 3 and
The first image is for the case
b ≥ 4, the second for i ≥ 1. we have at least one interior lattice point, i.e. i ≥ 1.

— 10 — Haase, Nill, Paffenholz: Lattice Polytopes


Chapter 1. An invitation to lattice polytopes (draft of June 28, 2021)

If P has at least four lattice points on the boundary then we can


cut P into two lattice polygons Q1 and Q2 by cutting along a chord
e through the interior of P given by two boundary lattice points. Let
Qj , j = 1, 2 have area aj , bj boundary lattice points, and ij interior
lattice points, respectively. Let e have ie interior lattice points (and two
boundary lattice points). Both Q1 and Q2 have less than l lattice points,
so by induction Pick’s Formula holds for Q and Q0 , i.e.
b1 b2
a1 = i1 + −1, a2 = i2 + −1.
2 2
Further

i = i1 + i2 + ie , b = b1 + b2 − 2ie − 2 ,

so
1
a = a1 + a2 = i1 + i2 + (b1 + b2 ) − 2
2
1 b
= i − ie + (b + 2ie + 2) − 2 = i + − 1 .
2 2
If b = 3 and i ≥ 1 then we can split P into three pieces Q1 , Q2 , and Q3
by coning over some interior point of P . See Figure 1.9.
Again, all three pieces have fewer lattice points than P , so we know
Pick’s Formula for those by our induction hypothesis. A similar compu-
tation as the one above shows that Pick’s Formula also holds for P (see
Exercise 1.10). u
t

The reader is invited to prove that the same relation is true for
non-convex lattice polygons in Exercise 1.13. One can also prove that this
theorem is equivalent to the Euler relation (see Exercise 1.11). Note that
the same induction shows that any lattice polygon can be subdivided into Fig. 1.10: Not allowed in a triangula-
tion
triangles which are isomorphic to ∆2 (called unimodular triangles). As
the Reeve simplex shows, this is not true in higher dimensions. Questions Exercise 1.10
about the existence of such unimodular triangulations will be discussed
in the last Chapter 8 of this book. See also Exercise 1.12. Exercise 1.11
The idea of subdiving a convex object into triangles, or simplices Exercise 1.12
in dimensions 3 and above, is quite influential. We will devote a whole
chapter to this (Chapter 8).
Definition 1.9 (Triangulation) Let P be a lattice polygon. A (lattice)
triangulation of P is a collection S of lattice triangles such that
(1) Any two triangles ∆d , simplex0 ∈ S intersect in an edge of both, and
(2) the union (as point sets) of all triangles is P .
Figure 1.10 shows two configurations of triangles that are not allowed in
a triangulation. In the first, the intersection is not a full edhe in both, in

Haase, Nill, Paffenholz: Lattice Polytopes — 11 —


Lecture Notes Lattice Polytopes (draft of June 28, 2021)

the second, the triangles intersect in more than an edge. A proper lattice
triangulation is shown in Figure 1.11.
In fact, Pick’s Formula (Theorem 1.8) also holds in a non-convex
setting. We can generalize it to any (non-convex) lattice polygon with
the property, that any vertex is incident to exactly two edges and no
Exercise 1.13 edges intersect. You will prove this in Exercise 1.13.

1.4 A Classification of Lattice Polygons

Scott’s theorem gives a precise bound on how large a lattice polygon


can be, given the number of interior lattice points. It thus provides the
answer to all questions (triples) from the end of Section 1.1. Problems
like these, which relate information about lattice points of a convex body
to its geometry and its invariants are subject of the field of Geometry of
Fig. 1.11: A triangulation Numbers. We deal with such questions again in Chapter 4.
Theorem 1.10 (Scott, 1976 [51]) Let P ⊂ R2 be a lattice polygon
with i ≥ 1 interior lattice points and Euclidean volume a. Then either
(1) P =∼ 3 ∆2 and hence, a = 9/2 and i = 1, or
p=3
(2) a ≤ 2(i + 1).

p0 = 5 Proof. Let b be the number of boundary lattice points. Using Pick’s


Formula (Theorem 1.8) we can reformulate the condition to
Fig. 1.12: P in a box
b ≤ a+4

q=1 unless P = 3 ∆2 , in which case b = 9 and a = 9/2.


Lattice isomorphisms preserve a, b and i, so we can place P tightly
into a rectangle R := [0, p0 ] × [0, p] and p is the smallest possible among
all lattice equivalent P . Then p ≥ 2 as i ≥ 1. Exchanging coordinates is
a lattice isomorphism, so we have

q0 = 3 2 ≤ p ≤ p0 . (1.2)

Fig. 1.13: The bot- The polygon P intersects the bottom and top edge of the rectangle in
tom and top edge of P
edges of length q and q 0 , see Figure 1.12.
At most 2(p − 1) boundary lattice points of P are not on the two
horizontal edges of R, so

b ≤ q + 1 + p − 1 + q 0 + 1 + p − 1 = q + q 0 + 2p. (1.3)

Subdividing the convex hull of the top edge and the bottom edge into
Fig. 1.14: Bounding the volume
two triangles as in Figure 1.14 we get
1 1 p
a ≥ pq + q 0 p = (q + q 0 ). (1.4)
2 2 2

— 12 — Haase, Nill, Paffenholz: Lattice Polytopes


Chapter 1. An invitation to lattice polytopes (draft of June 28, 2021)

Using Pick’s Formula (Theorem 1.8) and i ≥ 1 we also know that

a ≥ b/2 . (1.5)

We split the proof into four cases:


(1) p = 2 or q + q 0 ≥ 4,
(2) p = q + q 0 = 3,
(3) p = 3 and q + q 0 ≤ 2,
(4) p ≥ 4 and q + q 0 ≤ 3
For (1) we can combine (1.3) and (1.4) into

2b − 2a ≤ 2(q + q 0 + 2p) − p(q + q 0 ) = (q + q 0 − 4)(2 − p) + 8 ,


(1.6)

which is at most 8 as the first summand is at most 0. This implies


b ≤ a + 4 as desired.
For (2) we can use the same inequality to obtain 2b − 2a ≤ 9, i.e.
b ≤ a + 9/2. Now, if P has at least one vertex not on the upper or lower
edge of R, then (1.4) and hence also (1.6) become strict inequalities, so
that in this case b < a + 9/2. As a ∈ 12 Z≥0 , this implies b ≤ a + 4. If,
U U0
on the other hand, all vertices of P are on the upper and lower edge
of R, then a = p(q +q0 )/2 = 9//2 and b ≤ a + 9/2 = 9. If b < 9 then
b ≤ a + 4. Otherwise, all vertices are on the upper and lowe redge of
R, b = 9, a = 9/2 and thus i = 1. A simple geometric consideration X
shows that then either q = 3 or q 0 = 3 and P must be the triangle 3 ∆2
Y
(Exercise 1.14). In case (3) the inequlity (1.3) implies b ≤ 8 and (1.5)
shows
L0 L
b − a ≤ b − b/2 ≤ 4 . δ
Now assume we are in the forth case, so p ≥ 4 and q + q 0 ≤ 3. We choose
points L = (l, 0), U = (u, p), X = (0, x), and Y = (p0 , y ) in P such
Fig. 1.15: The δ-gap
that δ := |u − l| is minimal. See Figure 1.15. We can assume that u ≤ l
(otherwise we flip the polygon). Let L0 = (u, 0) and U 0 = (l, p). The Exercise 1.14
triangle SL spanned by A, L0 , and U bounds the volume of the triangle
spanned by X, L, and U (look at the height over the edge XU ). Similarly,
the triangle SU spanned by Y , U 0 and L bounds the volume of the triangle
Y , U , and L from below. Hence,
1
a ≥ p(p0 − δ ) .
2
The shearing
Fig. 1.16: Estimating the area of P
!
from below: The triangle XU L
1k
v 7→ v
01

Haase, Nill, Paffenholz: Lattice Polytopes — 13 —


Lecture Notes Lattice Polytopes (draft of June 28, 2021)

(a) Realization for b = 3 (b) Realization for 4 ≤ b ≤ i + 5 (c) Realization for i + 5 ≤ b ≤


Fig. 1.18: Realizations of pairs (i, b) 2i + 6
according to Scott’s Theorem

is a lattice isomorphism that, if applied to P , leaves p, q, and q 0 invariant.


Hence, we can transform P such that
1
δ ≤ (p − q − q 0 ) . (1.7)
2
As p was chosen to be minimal, we also still have p ≤ p0 after this
transformation. This implies
1
a ≥ p(p + q + q 0 ) ,
4
so that

4(b − a) ≤ 8p + 4q + 4q 0 − p(p + q + q 0 ) = p(8 − p) − (p − 4)(q + q 0 ) .

We have p ≥ 4, so that the left hand side is bounded by 16. This shows
b ≤ a + 4. u
t

Note that for polygons that are not lattice polygons, there is no such
upper bound on their areas. Figure 1.17 shows why.
Scott’s theorem defines a polyhedral set L given by the inequalities

i ≥ 1 a ≥ 3/2 a ≤ 2(i − 1)

such that any pair (a, i) coming from a lattice polygon is either (a, i) =
Fig. 1.17: An arbitrarily big rational (9/2, 1) or inside L. What about the converse? Is every point
triangle with one interior lattice point
1
(a, i) ∈ Z×Z∩L
2
the volume an number of interior lattice points of some lattice polygon?
This is easier to answer when we move from the pair (a, i) used in Scott’s
Theorem to the pair (b, i) using Pick’s Theorem. With this transformation
our inequalities read

i ≥ 1 b ≥ 3 b ≤ 2(i + 3) .

We can indeed realize all of these pairs of integers as the number of lattice
points in the interior and the boundary of a lattice polygon. Figure 1.18
Exercise 1.15 shows the construction.
Exercise 1.16
Exercise 1.17
— 14 — Haase, Nill, Paffenholz: Lattice Polytopes
Chapter 1. An invitation to lattice polytopes (draft of June 28, 2021)

1.5 Dilations

If we know the number of interior and boundary lattice points of a


lattice polygon P , then we know its area by Pick’s Theorem. Can we also
say something about dilates of P , i.e. about the number of interior or
boundary lattice points of k · P for some k ∈ Z≥0 ? The interior points
cannot just scale: Even for lattice polygons without interior lattice points
all sufficiently high multiples will contain a lattice point in their interiors.
However, the volume clealy scales with k 2 , and the number of boundary
lattice points scales with k.
We can plug this into Pick’s Theorem to obtain the number i(k ) of
interior lattice points in k · P :
b
i(k ) = ak 2 − k + 1 .
2
which is a polynomial of degree 2 in k with coefficients a, −b/2 and 1. We
can reformulate this for the number l (k ) = i(k ) + b(k ) of total lattice
points in k · P to obtain
b b
l (k ) = i(k ) + b(k ) = k 2 a − k + 1 + kb = ak 2 + k + 1 ,
2 2
which is again a polynomial of degree 2 in k. Furthermore, we observe B
that i(k ) = l (−k ). C
We will see that this observation is a special case of two much more B0
A
general and funcamental theorems, the Theorems of Ehrhart and Ehrhart-
Macdonald, which we will study in detail in Chapter 3. The catch is that C0
in any dimension the number of lattice points in the k-th dilate of a D
polytope is given by a polynomial in k, and that the number of interior 0
lattice polytopes is given (up to sign) by evaluating this same polynomial
at −k.

1.6 Problems

1.1. Let P be the lattice polygon with the vertices A, B, C, D (and P 0


A0 D 0
respectively with the vertices A0 , B 0 , C 0 , D0 ) as given in Figure 1.19.
(1) Compute the areas of P and P 0 .
(2) Are P and P 0 isomorphic? If yes, find an explicit unimodular Fig. 1.19: Two lattice polygons
transformation mapping P to P 0 .
Exercise 1.18
included on page 8
1.2.
included on page 8

1.3. included on page 8

included on page 8

Haase, Nill, Paffenholz: Lattice Polytopes — 15 —


Lecture Notes Lattice Polytopes (draft of June 28, 2021)

1.4.
included on pa

1.5.
included on pa

1.6. A vector v ∈ Z2 (or in any lattice) is called primitive if it is not a


non-trivial integer multiple of some other lattice vector.
(1) Show that any primitive v ∈ Z2 is part of a lattice basis.
(2) Show that every rational simplicial 2-dimensional cone is uni-
modularly equivalent to a cone spanned by ( 1 0 ) and ( p q ) for
integers 0 ≤ p < q.
included on page 9

1.7. Show that an integral matrix A ∈ Z2×2 has an integral inverse if


and only if det A = ±1, that is,

Gl2 (Z) = A ∈ Z2×2 : det A = ±1 .




included on page 9

1.8. Show that the converse of Proposition 1.7 is wrong.


included on page 10

1.9. Show that Rd (m) are d-dimensional simplices of volume m/d! with
d + 1 lattice points.
Hint: projection map.
included on page 11

1.10. Finish the induction in the proof of Pick’s Formula (Theorem 1.8)
for the missing case b = 3 and i ≥ 1.
included on page 11

1.11. Euler’s Formula states that a finite planar graph with v nodes, e
edges and f bounded faces satisfies

v − e + f = 1

Show that this is equivalent to Pick’s Formula.


included on page 11

1.12.
included on page 12

1.13. We have seen in Pick’s Formula (Theorem 1.8) that there is a


simple relation between the area and the lattice points of a convex
lattice polygon. Prove, that the same relation also holds for non-
convex lattice polygons, where a non-convex polygon is a connected
subset of R2 bounded by straight noncrossing segments starting
and ending in lattice points (the vertices) such that to any vertex
there are precisely two incident segments.
Hint: The proof for the convex case essentially works. The part that
needs consideration is the induction step, where we assume
that we can subdivide our polygon with a diagonal.

— 16 — Haase, Nill, Paffenholz: Lattice Polytopes


Chapter 1. An invitation to lattice polytopes (draft of June 28, 2021)

1.14. Show that a polygon with volume 9/2, one interior lattice points, 9
boundary lattice points, and whose vertices are on parallel lines at
distance 3 must be the simplex 3 ∆2 .

1.15. Describe as precisely as you can which pairs (b, i) can be realized
for lattice polygons.
Hint: Consider long and flat quadrilaterals in which the interior
points are lined up on a straight line. We will study this in
detail in Chapter 3
included on page 14

1.16. Let P be a lattice polygon, b(P ) the number of boundary lattice


points, and i(P ) the number of interior lattice points. Prove that a
given pair (b, i) of nonnegative integers equals the (b(P ), i(P )) for
some lattice triangle P if and only if there exist integers A, B, C ∈
Z with A > 0 and 0 ≤ B < C such that b = A + gcd(B, C ) +
gcd(B − A, C ) and i = (AC − b)/2 + 1. In this case, the triangle
with vertices (0, 0), (A, 0), (B, C ) can be chosen.
Hint: Move a vertex of the triangle into the origin and use Exer-
cise 1.6.
included on page 14

1.17. Following up on Exercise 1.16 one can plot (b(P ), i(P )) for all
lattice triangles P in a given range, see Figure 1.20. Prove that the
region at the bottom, denoted by σ1◦ , is given by Scott’s theorem
(the special point (9, 1) is not visible in the very dense plot). Can
you also describe the other prominent regions σi◦ (for i ≥ 1)?
included on page 15

***1.18.

Haase, Nill, Paffenholz: Lattice Polytopes — 17 —


Lecture Notes Lattice Polytopes (draft of June 28, 2021)

2000

σ6o

1500
σ5o

i (interior points)

σ4o

1000

σ3o

500 σ2o

σ1o

0
0 500 1000 1500 2000
b (boundary points)

Fig. 1.20: Number of boundary and in-


terior lattice points of lattice triangles

— 18 — Haase, Nill, Paffenholz: Lattice Polytopes


Polytopes and Lattices
2
Contents
2.1 Polyhedra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.1.1 Cones and Polytopes . . . . . . . . . . . . . . . . . . . 20
2.1.2 Convex hulls and half-spaces . . . . . . . . . . . . . 23
2.1.3 The face lattice . . . . . . . . . . . . . . . . . . . . . . . . 26
2.2 Decompositions of Polytopes . . . . . . . . . . . . . 29
2.2.1 Polyhedral Complexes . . . . . . . . . . . . . . . . . . 30
2.2.2 Regular Subdivisions and Triangulations . . 31
2.3 Lattices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.3.1 Discrete Subgroup and Lattice Bases . . . . . 33
2.3.2 Coordinates and Normal Forms . . . . . . . . . . 41
2.3.3 Metric Geometry . . . . . . . . . . . . . . . . . . . . . . . 45
2.3.4 Hilbert Bases . . . . . . . . . . . . . . . . . . . . . . . . . . 46
2.4 Lattice polytopes . . . . . . . . . . . . . . . . . . . . . . . . 48
2.4.1 Equivalence . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
2.4.2 Examples of Lattice Polytopes and
Constructions. . . . . . . . . . . . . . . . . . . . . . . . . . 49
2.4.3 Volumes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
2.5 Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
2.6 Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

You have seen in the previous chapter how polygons and integer points
interact nicely and produce some nice and useful classification results.
We will show that all these results can, with appropriate modifications,
Lecture Notes Lattice Polytopes (draft of June 28, 2021)

actually be carried over to general dimensions. However, before we can


start with this in the chapter on Ehrhart Theory (Chapter 3) we should
take a closer look at the objects we are considering. We will do this in
the next sections, but only very briefly. Most of the topics are covered in
other courses, and we will give pointers to other books where appropriate.

2.1 Polyhedra

Polyhedral cones are the intersection of a finite set of linear half spaces.
Generalizing to intersections of affine half spaces leads to polyhedra. We
are mainly interested in the subset of bounded polyhedra, the polytopes.
Specializing further, we will deal with integral polytopes.
In the second part of this chapter we link integral polytopes to
lattices, which are discrete subgroups of the additive group Rd . This gives
a connection to commutative algebra by interpreting a point v ∈ Zd as
the exponent vector of a monomial in d variables.

2.1.1 Cones and Polytopes

We use Z, Q, R and C to denote the integer, rational, real and complex


numbers. For X ∈ {Z, Q, R} we use

X>0 := {x ∈ X | x > 0} X≥0 := {x ∈ X | x ≥ 0}

and similarly X<0 and X≤0 .


We are mostly concerned with objects that can be defined from a,
usually finite, subset X ⊆ Rd . We can study spaces generated by such a
set. The most commonly studied notion here is the linear span of X.
Definition 2.1 Let X ⊆ Rd . A linear combination of X is a sum
X
v := λx x
x∈X

where λx = 0 for all but finitely x ∈ X. The linear hull or linear span
lin(X ) of X is the set of all linear combinations of X,
( )
X λx ∈ R
lin(X ) := λx x : .
and λx = 0 for all but finitely many x
x∈X

The set X is a linear space if X equals its linear span.


A linear combination is an affine combination if addtionally the sum
of the coefficients λx is 1. The affine hull aff (X ) of X is the set of all
affine combinations,
( )
λx ∈ R with
P
X
x∈X λx = 1
aff (X ) := λx x : .
and λx = 0 for all but finitely many x
x∈X

— 20 — Haase, Nill, Paffenholz: Lattice Polytopes


Chapter 2. Polytopes and Lattices (draft of June 28, 2021)

The linear span of X is the smallest linear space containing X and the
common intersection of all linear spaces containing X. Similarly, the affine
hull of X is the smallest affine space containing X and the intersection
of all affine spaces containing X. For a matrix A ∈ Rd×n with column
vectors a1 , . . . , an we also write

lin(A) := lin ({a1 , . . . , an }) and aff (A) := aff ({a1 , . . . , an })

A set of points X is linearly or affinely independent if no point of X


can be written as a linear or affine combination of the other points.
Linear spaces can always be spanned by a finite subset of X. All
minimal such sets, the bases of lin X, have the same size, which is the
dimension of lin X. The translation of a subset Y ⊆ Rd by a vector
t ∈ Rd is

Y − t := {y − t : y ∈ Y }

For any affine space A = aff X we can consider its translation by a vector
x ∈ A. This is a linear space. The dimension of A is the dimension of
A − x. Hence, any point in the affine hull of X can be written as an affine
combination of at most d + 1 points in X.
Definition 2.2 A linear combination is conic if all coefficients are non-
negative, and it is convex if it is conic and affine. The set of all conic
combinations of a set X is the cone over X, denoted by cone(X ). The
set of all convex combinations of X is the convex hull conv(X ). X is a
cone if X = cone(X ) and X is a convex set if X = conv(X ).
A polyhedral cone is the cone of a finite subset of Rd . A polytope is
the convex hull of finitely many points in Rd .
The dimension of a cone is the dimension of its linear span. The
dimension of a polytope is the dimension of the affine space it spans.
See Figure 2.1 for an example. Again, we sometimes write cone(A) and
conv(A) for the conic or convex hull of the set of column vectors of a
matrix A ∈ Rd×n . We are mostly interested in cones and convex sets
defined by a finite set X. Clearly, if the dimension of a polytope is less
than the dimension of the ambient space, then we can restrict to that
affine space. Hence, we may assume that the dimension of our polytopes
coincides with the dimension of the space (we will see later that it will
be useful to also consider lower dimensional polytopes, though).
Fig. 2.1: Cone (blue) and Polytope
For polytopes in dimension 2 we have already seen the polygons in (red) for the point set of the red
the previous chapter. Those are all 2-dimensional polytopes. points.
We need at least d + 1 affinely independent points in Rd to affinely
span Rd , so any full-dimensional polytope has at least d + 1 points in its
defining set. Any polytope defined by precisely d + 1 affinely independent
points is called simplex. Any two simplices can be identified via a bijective

Haase, Nill, Paffenholz: Lattice Polytopes — 21 —


Lecture Notes Lattice Polytopes (draft of June 28, 2021)

Fig. 2.2: Simplex, Cube, Cross Poly-


tope, Dodecahedron, Icosahedron affine map (if you translate both simplices such that one point is in the
origin this a just a change of basis).
In dimension 3 there are the famous regular polytopes, which are
the cube, the tetrahedron, the octahedron, the dodecahedron, and the
icosahedron, see Figure 2.2. Three of them can be generalized to higher
dimensions. We have seen the simplex above, which is a tetrahedron in
dimension 3. The unit cube Cd is the convex hull of the set X := {0, 1}d .
The octrahedron can be realized as the special case d = 3 of the polytope
defined as the convex hull of ±ei for 1 ≤ i ≤ d, where ej is the j-th unit
vector in Rd . In general, those polytopes are called cross polytopes.
Let us also look at a slightly more complicated, but highly intersting
group of polytopes, the hypersimplices. The hypersimplex h(d, k ) ⊂ Rd
for 1 ≤ k ≤ d − 1 is most easily defined as a polytope of one dimension
less than its ambient space. It is the convex hull of all vertices of the unit
cube whose coordinates sum up to k:
d
!
X
h(d, k ) := conv x ∈ {0, 1}d : xi = k
i=1
d
( )
X
= Cd ∩ x ∈ Rd : xi = k .
i=1

For k = 1 and k = d − 1 we obtain a (d − 1)-dimensional simplex. You


can of course extend the definition to k = 0 and k = d, but these are
just single points in Rd .
Definition 2.3 (boundary and interior points) Let K be a convex
set. A point x ∈ K is an interior point of K if there is some ε > 0 such
that Bx (ε) ⊆ K. Otherwise x is a boundary point.
x ∈ K is a relative interior point of K if it is an interior point of K
Bε (b) if considered as a subset of aff K.
Bε (i)
See also Figure 2.3.
Similar to the linear and affine spaces above any point x in a cone
can be written as the conic generation of at most d elements of X, and
a point in the convex hull as the convex combination of at most d + 1
Fig. 2.3: An interior point
elements of X. Diffently from above, however, the choice of these points
i and a boundary point b.

— 22 — Haase, Nill, Paffenholz: Lattice Polytopes


Chapter 2. Polytopes and Lattices (draft of June 28, 2021)

depends on x. The followinf theorem, whose proof ist left as Exercise 2.1,
makes this precise.
Theorem 2.4 (Carathéodory’s Theorem) Let X ⊆ Rd , C = cone(X ),
and y ∈ C. Then there are x1 , x2 , . . . , xd ∈ X and λ1 , λ2 , . . . , λd ≥ 0 such
that
d
X
y = λ i xi .
i=1

Similarly, for P = conv(X ) and z ∈ P there are x0 , x1 , . . . , xd ∈ X v4


and λ0 , λ1 , . . . , λd ≥ 0 such that v3
d d
X X v5
z = λi xi and λi = 1 .
i=0 i=0 x
See also Figure 2.4 v2 v6

2.1.2 Convex hulls and half-spaces


v1
There is a second definition of a polytope that we want to introduce now.
Fig. 2.4: x can be written as a convex
combination of v1 , v3 and v5 .
Definition 2.5 (hyperplanes and half-spaces) For any non-zero func-
Exercise 2.1
tional a ∈ (Rd )? and β ∈ R the set

H := {x | h a, x i ≤ β}

is the affine hyperplane defined by a and β. An affine hyperplane is a


linear hyperplane if β = 0. The (negative) half-space corresponding to
an affine hyperplane is

H − := {x | h a, x i ≤ β} .

We say that a point y ∈ Rd is beneath H if h a, y i < β and beyond H if


h a, y i > β.
Note that λa, λβ for any λ 6= 0 defines the same hyperplane as a, β, and
the same affine half space if λ > 0. Hence, the defining functional for a
hyperplane or half space is unique only up to a non-zero and positive
factor, respectively.
Definition 2.6 A polyhedron P is the intersection of finitely many
affine half spaces,
\
P = {x | h ai , x i ≤ βi } = {x | h a1 , x i ≤ β1 , . . . , h am , x i ≤ βm }

for ai ∈ Rd and βi ∈ R and 1 ≤ i ≤ k. This is often written in the more


consise form

Haase, Nill, Paffenholz: Lattice Polytopes — 23 —


Lecture Notes Lattice Polytopes (draft of June 28, 2021)

P = { x | Ax ≤ b }

where A ∈ Rk×d whose rows are the functionals a1 , a2 , . . . , ak and b is


the vector with entries β1 , β2 , . . . , βk .

Example 2.7 We look at some simple examples.


(1) The unit cube Cd is defined by the inequalities

xi ≥ 0 xi ≤ 1 for 1 ≤ i ≤ d .

(2) The inequalities

x1 ≥ 0 x1 − x2 ≤ 2 x1 + 3x2 ≤ 10 3x1 − x2 ≥ 0
3x1 − x2 ≥ 0
define a polygon with vertices
x1 − x2 ≤ 2 " # " # " # " #
0 2 4 1
x1 + 3x2 ≤ 10 .
0 0 2 3
x1 ≥ 0 see Figure 2.5.

Definition 2.8 A polyhedron P is a (polyhedral) cone if all defining


inequalities are linear, that is,

Ha−i ,0
\
P = (2.1)
Fig. 2.5: The poly-
gon of Example 2.7(2) for some a1 , a2 , . . . , ak ∈ (Rd )? .

We have already defined a cone over a set X as the set of all conic
combinations in the previous section. We will see below that this and the
newly defined notion of a polyhedral cone coincide if X is a finite set,
i.e. any polyedral cone can equally be described as the cone over some
suitably chosen finite set X, and any cone over a finite set is polyhedral.
We will not encounter non-polyhedral cones, that is, cones defined
as the set of conic combinations over an infinite set X, in this book.
Therefore, we will often omit the word polyhedral and just speak of cones
in the text, and only stress this restriction in definitions and theorems.
The dimension of such a polyhedron defined by half spaces is again
defined as the dimension of its affine hull. We sometimes use the notion d-
polytope for a d-dimensional polyhedron. A polyhedron is full dimensional
if dim P = d.

Definition 2.9 Let P = Ha−i ,βi be a polyhedron. The recession cone


T

and lineality space of P are

Ha−i ,0
\ \
rec P = and lineal P = Hai ,0 .

A polytope is pointed if lineal P = ∅.

— 24 — Haase, Nill, Paffenholz: Lattice Polytopes


Chapter 2. Polytopes and Lattices (draft of June 28, 2021)

Example 2.10

We can associate a cone to each polyhedron P ⊆ Rd that esssentially has


the same combinatorial and geometric properties. This is the homoge-
nization of P or just the cone over P defined by

C (P ) := cone({1} × P ) ⊆ Rd+1 , (2.2)

so if P := {x | h a1 , x i ≤ β1 , . . . , h am , x i ≤ βm } ⊆ Rd with ai ∈ (Rd )? ,
βi ∈ R for i ∈ [m] then

C (P ) = {(x0 , x) | −β1 x0 + h a1 , x i ≤ 0, . . . , −βm x0 + h am , x i ≤ 0} .

It is often convenient to look at the homogenization of the polyhedron


instead of the polyhedron itself as it is defined by linear instead of affine
inequalities. We can recover the polyhedron by intersecting the cone with
the hyperplane x0 ≡ 1 (and projecting).
Definition 2.11 (Minkowski sum) The Minkowski sum of two sets
X, Y ⊆ Rd is the set

X + Y := {x + y | x ∈ X, y ∈ Y } .

A set X is finitely generated if it can be written as a Minkowski sum


of a polytope, a cone, and a linear space, that is, there are vi ∈ Rd , Fig. 2.6: The orange polygon is the
i = 1, . . . , r, rj ∈ Rd , j = 1, . . . , s, vbk ∈ Rd , k = 1, . . . , t such that Minkowski sum of the red and blue
polygons
 
r s r
X X X λi , µj , νk ∈ R, 
X = λi vi + µi ri + νi bi : Pr .
 λi , µj ≥ 0, i=1 λi = 1 
i=1 j =1 k =1
(2.3)

Theorem 2.12 (Weyl-Minkowski Theorem) Let P ⊆ Rd . Then P


is a polyhedron if and only if it is finitely generated.
A proof of this theorem can be found in [50]. Projections of polyhedra are
again polyhedra, finitely generated by the projections of the generators.
Example 2.13 In the notation of Weyl-Minkowski Theorem (Theo-
rem 2.12) we can define a polyhedron with
" # " # " # " # " #
1 1 2 1 3
v1 : = v2 : = v3 : = r1 := r2 := ,
3 2 1 3 1

see Figure 2.7. It is defined by the inequalities

3x1 − x2 ≥ 3 x1 ≥ 1 x1 + x2 ≥ 3 x1 − 3x2 ≤ −1 .

Haase, Nill, Paffenholz: Lattice Polytopes — 25 —


Lecture Notes Lattice Polytopes (draft of June 28, 2021)

The Minkowski sum of a polytope with a cone C or a linear space L is


unbounded if C or L have positive dimension. Hence, we can deduce the
following duality for polytopes from the Weyl-Minkowski Theorem.
Corollary 2.14 (Weyl-Minkowski-Duality) A bounded set P ⊆ Rd
r1 is a polytope if and only if it is the bounded intersection of a finite number
of affine half spaces. u
t
From this theorem we obtain two equivalent descriptions of a polytope:
(1) as the convex hull of a finite set of points in Rd ,
v1 (2) as the bounded intersection of a finite set of affine half spaces.

v2 The first is called the interior or V-description, The second is the exterior
r2 or H-description. Both are important in polytope theory, as some things
v3 are easy to describe in one and may be difficult to define in the other.

2.1.3 The face lattice


Fig. 2.7: The polyhedron
of example Example 2.13 Throughout this section let P := {x | h a1 , x i ≤ β1 , . . . , h am , x i ≤ βm }
be a polyhedron defined by ai ∈ (Rd )? , βi ∈ R for i ∈ [m]. We have seen
in the examples above that some intersections of the hyperplanes distin-
guish lower dimensional subsets of a polyhedron. We want to formalize
this observation in this section.
A hyperplane H := {x | h a, x i ≤ β} for some a ∈ (Rd )? and β ∈ R
defines a valid hyperplane if P is contained in the negative half space of
H, that is, if h a, x i ≤ β for all x ∈ P . A valid hyperplane is supporting
if P ∩ H is non-empty.

Definition 2.15 (faces) Let P be a polytope. A face F of P is either


P itself or the intersection of P with a valid linear hyperplane. If F 6= P
then F is a proper face.

Observe that the empty set is also a face of P . For any face F we have

F ∩ P = aff F ∩ P ,

so faces of polyhedra are again polyhedra and a face of a face of the


polyhedron is a face of the polyhedron. The dimension of a face of a
polyhedron P is its dimension as a polyhedron,

dim F := dim aff F .

We sometimes use the notion k-face for a k-dimensional face of a polytope


P . If for a polyhedron P and a functional a ∈ (Rd )? the value β of

max{h a, x i | x ∈ P }

— 26 — Haase, Nill, Paffenholz: Lattice Polytopes


Chapter 2. Polytopes and Lattices (draft of June 28, 2021)

is finite then H := {x | h a, x i ≤ β} is a supporting hyperplane of P and


P ∩ H is a face of P , the face defined by a. The functionals defining a
face are exactly those in the negative dual of the recession cone.
Any functional ai in the definition of P for some i ∈ [m] is an implied
equality if h a, x i = βi for all x ∈ P . The set of all implied equalities of
P is

eq (P ) := {j ∈ {1, . . . , m} | h aj , x i = βj for all x ∈ P } .

Observe that this is a property of the specified hyperplane description,


not of the polytope itself. The affine hull of P is then given by the
intersection of the implied equalities,
\
aff (P ) = {x | h aj , x i = βj } .
j∈eq (P )

The hyperplane description is irredundant if no proper subset of the half


spaces defines the same polytope, and redundant otherwise. Let P := be
a polyhedron. A point x ∈ P is a relative interior point of P if

h ai , x i = β i for all i ∈ eq (P ) h ai , x i < βi for all i 6∈ eq (P ) .

Any polytope of dimension d ≥ 1 has a relative interior point. Observe


that this notion of relative interior points coincides with the one given in
Definition 2.3. So we have two different ways to check whether a point is
in the realitve interior of a polyhedron.
If F is a proper face of P , then F = {x | h ai , x i = βi for i ∈ I} ∩ P
for a subsystem I ⊆ [m] of the inequalities of P . In particular, P has
only a finite number of faces. A proper face F of P is a facet if it has
dimension dim P − 1.
Now assume that P is full dimensional and the defining functionals
α1 , . . . , αm are irredundant. Then F is a facet of P if and only if F = {x |
Q
ai x = βi } ∩ P for some i ∈ [m]. Furthermore, if P is full dimensional,
then a1 , . . . , am are unique up to scaling with a positive factor. Also, any
proper face of P is contained in a facet, and if F1 , F2 are proper faces,
then F1 ∩ F2 is a proper face of P . A face F of P is minimal if there is
no non-empty proper face G of P with G ( F . F is minimal if and only
if F = aff F if and only if it is a translate of lineal P . The minimal faces
of a pointed polyhedron are called vertices. They are points in Rd . The
set of all vertices is denoted by V(P ). If P is pointed, then F is an edge
of P , if e is a segment, and a extremal ray otherwise. If P is a cone, then
F is called a minimal proper face. Two vertices of P are adjacent if they
are contained in the same edge. Faces of a polyhedron are ordered by
inclusion. Hence, the set faces(P ) of all faces of P (including the empty
set and P itself) is a poset, which is actually an Eulerian lattice, the face

Haase, Nill, Paffenholz: Lattice Polytopes — 27 —


Lecture Notes Lattice Polytopes (draft of June 28, 2021)

lattice of P . A k-face F and a j-face G of P are incident if either F is a


face of G or vice versa. The f -vector (or face vector) of P is the vector

f (P ) := (f0 (P ), . . . , fd−1 (P )) ,

where fi (P ) is the number of i-dimensional faces of P , for 0 ≤ i ≤ d − 1.


Exercise 2.5
Exercise 2.6 Let P ⊆ Rd be a full-dimensional polyhedron with 0 ∈ int P . The
polar dual of a polytope P is
Theorem 2.16 Let P ⊆ Rd be a d-dimensional polytope with 0 ∈ int P
and vertices v1 , . . . , vm . Then P ? is defined by the inequalities
n o
P ? := a ∈ (Rd )? : h a, v1 i ≤ 1, . . . , h a, vm i ≤ 1

and its vertices are 1/bj aj for each facet defining inequality h aj , x i ≤ bj
of P . u
t
You will show in Exercise 2.7 that dualizing twice gives back the original
Exercise 2.7 polytope.
Corollary 2.17 Let P ⊆ Rd be a d-dimensional polytope with 0 ∈
int P . Then we have a bijective correspondence between k-faces of P
and (d − 1 − k )-faces of P ? for 0 ≤ k ≤ d − 1 and if a k-face F of P is
contained in a (k + 1)-face G of P , then the face corresponding to G in
P ? is contained in the face corresponding to F in P ? . u
t

Corollary 2.18 If f = (f1 , . . . , fd−1 ) is the f -vector of P and f 0 =


0
(fd−1 , . . . , f00 ) that of P ? then
0
fi = fd−1−i for 0 ≤ i ≤ d−1. u
t

For the next observations we switch to the interior description of a


polytope. Let ϕ : Rd → Re be an affine map and P = conv(v1 , . . . , vn ) +
cone(w1 , . . . , wl ) a polyhedron for some v1 , . . . , vn , w1 , . . . , wl ∈ Rd . Then
 
Xd l
X Xd X l
ϕ λ i vi + µj wj  = λi ϕvi + µj ϕwj ,
i=1 j =1 i=1 j =1

so ϕP is again a polyhedron.

Definition 2.19 (affine equivalence) Let P ⊆ Rd and Q ⊆ Re be


two polytopes. P and Q are affinely equivalent if there are affine maps
ϕ : Rd → Re and ψ : Re → Rd such that

ϕP = Q ψQ = P .

— 28 — Haase, Nill, Paffenholz: Lattice Polytopes


Chapter 2. Polytopes and Lattices (draft of June 28, 2021)

A polytope is simplicial if all faces are simplices. It is simple if all k-


dimensional faces are incident to exactly dim P − k faces. It suffices
to check this condition for the vertices. Simplicial and simple are dual
notions, that is, the dual of a full dimensional simplicial polytope is
simple, see Exercise 2.8.
f -vectors of simplicial polytopes have been completely charecterized
in the g-Theorem of Billera, Lee [12] and Stanley [55] following a conjec-
ture of McMullen [39]. This theorem can best be described with a linear
transformation of the f -vector, which we introduce now. We can write
the f -vector as a polynomial in the form
d
X
f (t) : = (t − 1)d + fi−1 (t − 1)d−i .
i=1

Writing this polynomial in the basis 1, t, t2 , . . . , td gives the h-polynomial


d
X
f (t) = hj tj .
j =0

We also need the following notion of an M -sequence. For any integers


n, k ≥ 1 there is a unique way to express n in the form
     
ak ak−1 ai
n = + + ··· +
k k−1 i

with ak ≥ ak−1 ≥ . . . ≥ ai ≥ i ≥ 1. We define


     
ak−1 ak−2 ai−1
nhki := + + ··· +
k−1 k−2 i−1

and 0h0i = 0. A nonnegative sequence (m0 , m1 , m2 , . . .) is an M -sequence


hki
if m0 = 1 and mk ≤ mk−1 for all k ≥ 2. With this notion we have the
following theorem.
Theorem 2.20 (g-Theorem) A sequence h = (h0 , . . . , hd ) is the h-
vector of a simplicial polytope if and only if
(1) hi = hd−i for i = 0, . . . , bd/2c
(2) (g0 , g1 , . . . , gbd/2c ) is an M -sequence, where g0 = h0 and gi = hi −
hi−1 for i = 1, . . . , bd/2 c.

Example 2.21

2.2 Decompositions of Polytopes

We start our considerations with subdivisions of polytopes into smaller


pieces and study polyhedral complexes and triangulations.

Haase, Nill, Paffenholz: Lattice Polytopes — 29 —


Lecture Notes Lattice Polytopes (draft of June 28, 2021)

2.2.1 Polyhedral Complexes

Definition 2.22 (polyhedral complex) A polyhedral complex C is


a finite family of polyhedra (the cells of the complex) such that for all
P,Q ∈ C
(1) if P ∈ C and F is a face of P then F ∈ C, and
(2) F := P ∩ Q is a face of both P and Q.
A cell P is maximal if there is no Q ∈ C strictly containing it. The
dimension of C is the maximal dimension of a cell of the complex. A
complex is pure if all maximal cells have the same dimension. In this
case the maximal cells are the facets of the complex. We will denote by
C[k ] the set of k-dimensional faces of C.
A polyhedral complex S is a subcomplex of C if its cells are a subset
of the cells of C.

Example 2.23 Here are some examples of a polyhedral complex. See


also Figure 2.8.
(1) Any polytope or cone can be viewed as a polyhedral complex. This
complex has one maximal cell, the cone or polytope itself. This is
also called the trivial subdivision of the cone or polytope. In general,
subdivisions are defined with the next definition below.
(2) The boundary complex of a d-dimensional polytope naturally has
the structure of a pure polyhedral complex. The maximal cells are the
Fig. 2.8: The upper figure
is not a polyhedral complex.
facets of the polytope, and its dimension is d − 1, the dimension of
The second is, but it is not the facets of the polytope.
pure, the third is also pure. (3) See the middle figure in Figure 2.8 for a non-pure polyhedral complex.
It has three 2-dimensional maximal cells and one 1-dimensional
maximal cell.

Definition 2.24 (face vector) The face vector of a pure d-dimensional


polyhedral complex C is the vector

f (C) = (f−1 , f0 , . . . , fd )

where fk counts the number of k-dimensional faces of C.

Observe that this is completely analogous to our earlier definition of the


face vector of a polytope. Further, f−1 corresponds to the empty face,
hence, f−1 = 1 for any polyhedral complex. We will see later that the
entries of the face vector satisfy a linear relation, the Euler equation. The
Euler characteristic of the complex C is

χ(C) := −f−1 + f0 − f1 + . . . + (−1)d fd .

— 30 — Haase, Nill, Paffenholz: Lattice Polytopes


Chapter 2. Polytopes and Lattices (draft of June 28, 2021)

This satisfies some addition formula. Let C and C0 be two polyhedral


complexes such that C ∩ C0 is a subcomplex of both. Then there union is
also a polyhedral complex and

χ ( C ) + χ ( C0 ) = χ ( C ∪ C0 ) − χ ( C ∩ C0 ) . (2.4)

Definition 2.25 (fan) A fan is a pure connected polyhedral complex


such that all cells of the complex are cones.

Definition 2.26 (normal cone) The normal cone NP (F ) of a face F


of a polytope P is the set of linear functionals a such that there is some
β with h a, F i = β and h a, P i ≤ β.

Proposition 2.27 The normal cone is a polyhedral cone spanned by the


facet normals defining the face F . u
t

Definition 2.28 (normal fan) The normal fan of a polytope P is the


collection of all normal cones of proper faces of P .

Fans naturally have the structure of a polyhedral complex. In this case


all cells are cones.

Definition 2.29 (tangent cone) Let P be a d-polytope and F a face


of P . The tangent cone TF P of F is the cone

TF P := {p + v ∈ Rd | p ∈ F , p + εv ∈ P for some ε > 0} .

The tangent cone is the common intersection of all supporting half-spaces


at F . Note that the tangent cones are not cones in the usual sense, as
their apex is not in the origin. We call them affine cone if we want to
emphasize this. We can use a point w ∈ F to shift the cone into the
origin. The following proposition is proved in Exercise 2.9.
Proposition 2.30 The shifted cone TF P − w is dual to the normal cone
of F .
Exercise 2.9
Exercise 2.10
2.2.2 Regular Subdivisions and Triangulations

Often it is useful to subdivide a polytope into smaller pieces and look at


the pieces separately. It will turn out that the most useful subdivisions
are those where all pieces are simplices. Such subdivisions are called
triangulations of the polytope. The next definition formalizes this notion.

Definition 2.31 (Subdivision and Triangulation) A subdivision of


a polytope P is a pure polyhedral complex S such that P = C∈S C.
S

A subdivision is a triangulation of P if all cells are simplices.

Haase, Nill, Paffenholz: Lattice Polytopes — 31 —


Lecture Notes Lattice Polytopes (draft of June 28, 2021)

Example 2.32

A subdivision or triangulation is without new vertices, if V(∆d ) ⊆ V(P )


for any ∆d ∈ T. We will use the basic fact that for every finite V ⊂ Rd
the polytope conv V has a triangulation with vertex set V . Similarly, the
cone pos V has a triangulation with rays {R≥0 v : v ∈ V } [19].
Definition 2.33 (regular subdivision) A subdivision S of a polytope
with vertices {v1 , . . . , vm } (of the subdivision) is regular if there is a
weight vector w such that S is the projection of the lower hull of

conv((wi , vi ) | 1 ≤ i ≤ m) ,

where the lower hull is the polyhedral complex of those facets whose normal
has negative first coordinate.
Given a set of points V := {v1 , . . . , vm } and a weight vector w ∈ Rm
we denote by Sw (V ) the regular subdivision obtained as the lower hull of
lift(w ) := conv((wi , vi ) | 1 ≤ i ≤ m).
You will show in Exercise 2.11 that all subdivisions of a polygon using only
Exercise 2.11 the vertices of the polygon are regular. WISHLIST: convex piecewise
linear function Ψw (x) = min{h : (h, x) ∈ lift(w )}
Definition 2.34 (polyhedral sphere, polyhedral ball)

Theorem 2.35 Every d-polytope P has a regular triangulation using


only the vertices of the polytope.

Proof. Let V := V(P ) be the vertices of the polytope. We can assume


that P is full dimensional. We claim that any sufficiently generic vector
w induces a regular triangulation.
The subdivision induced by w is a triangulation if and only if for
each facet of the lower hull of lift(w ) is a d-simplex, i.e. if at most d + 1
of the points

(w1 , v1 ), . . . , (wd , vd )

lie on a common hyperplane. For any (d + 2)-tuple

(wi1 , vi1 ), . . . , (wid+2 , vid+2 )

being on a common hyperplane means that the determinant


 
1 1 ··· 1
det  wi1 wi2 · · · wid+2 
 
vi 1 vi 2 · · · vi d + 2
vanishes. We can view this determinant as a linear functional in the entries
of w. There are (dm+2) different such functionals, hence, the complement
c
Z of the union of the zero sets of these functionals is not empty. Choosing
any w ∈ Z c satisfies our requirements. u
t

— 32 — Haase, Nill, Paffenholz: Lattice Polytopes


Chapter 2. Polytopes and Lattices (draft of June 28, 2021)

It is important to realize that not all triangulations of a polytope are


regular. See e.g. Figure 2.9 for a simple example. You will prove that it
is indeed not regular in Exercise 2.12
(1) intersections
(2) refinements

Corollary 2.36 Every pointed cone C can be triangulated into simplicial


cones without introducing new generators.

Proof. If C is pointed, then there is a functional u such that

ut x > 0 for all x ∈ C .

Then P := C ∩ {x | ut x = 1} is a polytope, and C is the cone over P . By


the previous Theorem 2.35 P has a regular triangulation T without new
vertices. The cones over the cells in this triangulation give a triangulation
of the cone C without using new generators. u
t
Exercise 2.12

2.3 Lattices

We introduce the central tool for this book. It will link our geometric
objects, the polytopes, to algebraic objects, namely toric ideals and toric
varieties.
Throughout this section, V will be a finite-dimensional real vector
space equipped with the topology induced by a norm k . k and with a
translation invariant volume form. Fig. 2.9: A non-regular subdivision

2.3.1 Discrete Subgroup and Lattice Bases

Lattices can be defined in two different (but equivalent) ways. On the one
hand as the integral generation of a linearly independent set of vectors,
on the other hand as a discrete abelian subgroup of the vector space.
We will start with the latter characterization of a lattice, This is often
very useful to describe lattices without the explicit choice of a basis. We
will deduce the other representation in a sequence of propositions that
introduce some interesting structure ofr lattices.
Recall that a subset Λ ⊆ V is an additive subgroup of V if

(1) 0∈Λ
(2) x+y ∈ Λ for any x, y ∈ Λ
(3) −x ∈ Λ for any x ∈ Λ .

Haase, Nill, Paffenholz: Lattice Polytopes — 33 —


Lecture Notes Lattice Polytopes (draft of June 28, 2021)

Definition 2.37 (lattice, rank) A lattice Λ in V is a discrete additive


subgroup Λ of V : for all x ∈ Λ there is ε > 0 such that Bε (x) ∩ Λ = {x}.
The rank of Λ is the dimension of its linear span, that is, rank Λ :=
dim lin Λ.
Exercise 2.13
Exercise 2.14 Note that this notion of a lattice is not connected to the face lattices that
we looked at earlier. You will show in Exercise 2.15 that this definition
is independent of the chosen norm, and in Exercise 2.16 that one can
Exercise 2.15 choose the same ε for all x ∈ Λ.
Exercise 2.16 Example 2.38 (1) The standard integer lattice is the lattice spanned
by the d standard unit vectors e1 , . . . , ed . It is commonly denoted by
Zd . We will later see that essentially any lattice looks like this integer
lattice. See Figure 2.10.
(2) Root systems are a famous class of lattices. We introduce some of
them here, and you can explore more in the exercises.
a) We can identify Rd with the linear subspace
d
( )
X
d+1
L := x ∈ R : xi = 0 .
i=0
Fig. 2.10: The lattice Z2
The set Ad := L ∩ Zd+1 is a lattice in L. Ad is clearly discrete,
as it is a subset of a discrete set, and the addition of any two
elements in A stays in L, as this is a linear subspace. The same
is true for the multiplication by −1. This is the root lattice Ad .
See Figure 2.11.
b) Let Dd be the set
d
( )
X
Dd := x ∈ Z : d
xi is even . (2.5)
i=1
Fig. 2.11: The lattice A2
Again, this is a discrete set and addition and multiplication by
−1 stay inside the set. This is the root lattice Dd .
(3) Subgroups of lattices are again lattices. To make a concrete example
for this, the set

Λ2;3 := x ∈ Z2 : x1 + x2 ≡ 0 mod 3


is a lattice.
(4) Let Λ be a lattice and L ⊂ V be a proper linear subspace of V . Then
Λ ∩ L is a lattice in L.
Exercise 2.17
For a set B = {b1 , . . . , bd } ⊂ V of linearly independent vectors we define
the subgroup
( d )
X
Λ(B) : = λi bi | λi ∈ Z, 1 ≤ i ≤ d
i=1

— 34 — Haase, Nill, Paffenholz: Lattice Polytopes


Chapter 2. Polytopes and Lattices (draft of June 28, 2021)

Definition 2.39 (lattice basis) A linearly independent subset B ⊂ V


is called a lattice basis (or Λ-basis) if it generates the lattice: Λ = Λ(B).
(" # " #)
3 −1
Example 2.40 B := , is a basis of the lattice in Ex-
0 1
ample 2.38(3).

Definition 2.41 (parallelepiped) For a finite subset A = {v1 , . . . , vk } ⊂


Rd the half-open zonotope Π(A ) spanned by these vectors is the set
( k )
X
Π(A ) : = λi vi | 0 ≤ λi < 1 for 1 ≤ i ≤ k .
i=1

If A is linearly independent, the zonotope is a parallelepiped.

Here is one of the most fundamental definitions for lattices.


Definition 2.42 (fundamental parallelepiped) Let Λ be a lattice
with basis B = {b1 , . . . , bd }. The parallelepiped Π(B) is the fundamental u
parallelepiped of the lattice with basis B.
v
See Figure 2.12 for an example. Clearly, the fundamental parallelepiped
depends on the chosen basis. However, its volume, the determinant of 0
the lattice, does not, and we obtain a very nice representation of points
Fig. 2.12: A parallelepiped spanned
in the underlying vector space with the following proposition. by some vectors

Proposition 2.43 Let Λ be a lattice in V and assume it has a basis


B = {b1 , . . . , bd }. Then any point x ∈ lin Λ has a unique representation
x = a + y for a ∈ Λ and y ∈ Π(B).

Proof. There are unique λ1 , . . . , λd ∈ R such that x = di=1 λi bi . Set


P
Pd Pd
a := i=1 bλi c bi and y := i=1 {λi } bi . Then y ∈ Π(B), a ∈ Λ, and
x = a + y.
Now assume that there is a second decomposition x = a0 + y 0 with
a 6= a0 (and thus also y 6= y 0 ). We can write y and y 0 as
d
X d
X
0
y= αi bi y = αi0 bi
i=1 i=1

for some 0 ≤ αi , αi0 < 1, 1 ≤ i ≤ d. Hence, |αi − αi0 | < 1. From


d
X
a0 − a = y − y 0 = (αi − αi0 )bi
i=1

and a0 − a ∈ Λ we know that αi − αi0 ∈ Z for 1 ≤ i ≤ d. Hence,


αi − αi0 = 0, so y = y 0 . Hence, also a = a0 . u
t

From this theorem it follows immediately that the parallelepipeds of a


lattice with basis B tile the space, see also Exercise 2.18.

Haase, Nill, Paffenholz: Lattice Polytopes — 35 —


Lecture Notes Lattice Polytopes (draft of June 28, 2021)

Corollary 2.44 Let Λ be a lattice in Rd and assume it has a basis B :=


{b1 , . . . , bd } and let Π := Π(b1 , . . . , bd ) be the fundamental parallelepiped.
Then Rd is the disjoint union of all translates of Π by vectors in Λ. u t
Exercise 2.18
We now show that any set B of linearly independent vectors actually
generates a lattice with basis B.
Lemma 2.45 Let B = {b1 , . . . , bd } ⊂ V be linearly independent. Then
the subgroup
( d )
X
Λ(B) : = λi bi : λi ∈ Z, 1 ≤ i ≤ d
i=1

generated by B is a lattice.

Proof. The linear map Rd → lin B given by λ 7→ di=1 λi bi is bijective,


P

and hence a homeomorphism. It maps the discrete set Zd ⊂ Rd onto


Λ(B).
Let z ∈ Rd ∩ Π(b1 , . . . , bd ) be an interior point of Π(b1 , . . . , bd ).
Then there is ε > 0 such that Bε (z ) ⊆ Π(b1 , . . . , bd ). We claim that
Bε (x) ∩ Λ = {x} for all x ∈ Λ. Indeed, if y ∈ Bε (x) ∩ Λ = {x} and
y 6= x, Then x0 := x − y ∈ Λ and x0 + z ∈ Π(b1 , . . . , bd ), a contradiction
to Proposition 2.43. u
t

Theorem 2.46 Every lattice has a basis.

For the proof we need some prerequisites. The following lemma is imme-
diate from the definition.
Lemma 2.47 If K ⊂ V is bounded, then K ∩ Λ is finite. u
t

Definition 2.48 (Λ-rational subspace) A subspace U ⊆ V is Λ-


rational if it is generated by elements of Λ.

Proposition 2.49 Let V be a finite-dimensional real vector space, let


Λ ⊂ V be a lattice, and let U ⊆ V be a Λ-rational subspace. Denote the
quotient map π : V → V /U .
(1) Then π (Λ) ⊂ V /U is a lattice.
(2) Furthermore, if Λ ∩ U has a basis b1 , . . . , br , and π (Λ) has a basis
c1 , . . . , cs , then any choice of preimages ĉi ∈ Λ of the ci for 1 ≤ i ≤ s
yields a Λ-basis b1 , . . . , br , ĉ1 , . . . , ĉs .

In the situation of the proposition, we will often write Λ/U for π (Λ).
Proof. (1) π (Λ) is the image of a group under a homomorphism. Hence,
it is a subgroup of V /U . The hard part of the proposition is to prove
that π (Λ) is discrete in V /U .
The space U is Λ-rational. So we can choose a vector space basis
{v1 , . . . , vr } ⊂ Λ ∩ U of U . We can extend this basis to a vector space

— 36 — Haase, Nill, Paffenholz: Lattice Polytopes


Chapter 2. Polytopes and Lattices (draft of June 28, 2021)

basis B = {v1 , . . . , vd } ⊂ Λ of lin Λ. These bases yield maximum


norms
d
X
λi vi := max ({|λi | : i = 1, . . . , d})
i=1

on lin Λ and
d
! 0
X
λi vi +U := max ({|λi | : i = r + 1, . . . , d})
i=1

on lin Λ/U . Denote the unit ball of lin Λ by W . By Lemma 2.47, the
set W ∩ Λ is finite. Set

ε := min {1} ∪ {kv + U k0 : v ∈ W ∩ Λ \ U } .




This minimum over a finite set of positive numbers is positive. Now


suppose
d
X
v = λi vi ∈ Λ
i=1

with kv + U k0 < ε. Then


r
X d
X
v 0 := (λi − bλi c)vi + bλi cvi ∈ Λ
i=1 i=r +1

represents the same coset: v + U = v 0 + U , and v 0 ∈ W ∩ Λ. We


conclude v 0 ∈ U and thus v 0 + U = 0 ∈ V /U .
(2) Let b1 , . . . , br , ĉ1 , . . . , ĉs be as in the proposition, and let v ∈ Λ. Be-
cause the cj form a lattice basis of π (Λ), there are integers λ1 , . . . , λs
so that π (v ) = sj=1 λj cj . Thus, v − sj=1 λj ĉj ∈ ker π = U . Be-
P P

cause the bi form a lattice basis of Λ ∩ U , there are integers µ1 , . . . , µr


so that v − sj=1 λj ĉj = ri=1 µi bi . So b1 , . . . , br , ĉ1 , . . . , ĉs generate
P P

Λ. They must be linearly independent for dimension reasons. u


t

Definition 2.50 (primitive vector) A non-zero lattice vector v ∈ Λ


is primitive if it is not a positive multiple of another lattice vector, i.e.
conv(0, v ) ∩ Λ = {0, v}.

Proof (of Theorem 2.46). We proceed by induction on r := rank Λ. For


r = 0, the empty set is a basis for Λ. For r = 1, a primitive vector yields
a basis.
Assume r ≥ 2. Let b ∈ Λ be primitive, and set U := lin b. Then
{b} is a basis for U ∩ Λ, and Λ/U is a lattice by the first statement of
Proposition 2.49. Because rank Λ/U = r − 1, it has a basis by induction.
By the second statement of Proposition 2.49, we can lift to a basis of
Λ. u
t

Haase, Nill, Paffenholz: Lattice Polytopes — 37 —


Lecture Notes Lattice Polytopes (draft of June 28, 2021)

Exercise 2.19

Definition 2.51 (unimodular transformation) Let Λ and Λ0 be lat-


tices. A linear map T : lin Λ → lin Λ0 which induces a bijection Λ → Λ0 is
called unimodular or a lattice transformation. T is a lattice isomorphism
if Λ = Λ0 .

Definition 2.52 (sublattice and index) Let Λ ⊂ Rd be a lattice.


Any lattice Γ ⊆ Λ is a sublattice of Λ.
Sets of the form a + Γ := {a + x | x ∈ Γ } for some a ∈ Λ are cosets
of Γ in Λ. The set of all cosets is Λ/Γ . The size |Γ /Λ| is the index of Γ
in Λ.

Theorem 2.53 Let Λ0 ⊆ Λ be lattices with lin Λ = lin Λ0 . Then there


is a basis b1 , . . . , br of Λ and integers k1 , . . . , kr ∈ Z>0 with λi |λi+1 for
1 ≤ i ≤ d − 1 such that k1 b1 , . . . , kr br is a basis of Λ0 .

Proof. We proceed by induction on r := rank Λ = rank Λ0 . For r = 1, a


Λ-primitive vector has a positive integral multiple which is Λ0 -primitive.
Assume r ≥ 2. Because lin Λ = lin Λ0 , for every v ∈ Λ there is a
positive integer k so that kv ∈ Λ0 . Choose br ∈ Λ and kr ∈ Z>0 so that
br is Λ-primitive, and so that kr is minimal.
Set U := lin br . Then br is a basis for U ∩ Λ, and kr br is a basis for
U ∩ Λ0 . By Proposition 2.49, Λ0 /U ⊆ Λ/U are lattices of rank r − 1. By
induction, there is a basis b1 , . . . , br−1 of Λ/U together with positive
integers k1 , . . . , kr−1 so that k1 b1 , . . . , kr−1 br−1 is a basis for Λ0 /U .
Let b̂i ∈ Λ be representatives of the bi for i = 1, . . . , r − 1. Then there
are representatives ci ∈ Λ0 of the ki bi . By Proposition 2.49, b1 , . . . , br is a
basis for Λ, and c1 , . . . , cr−1 , kr br is a basis for Λ0 . By adding a suitable
multiple of kr br ∈ Λ0 to the ci , we may assume that ci = ki b̂i + li br for
0 ≤ li < kr and for all i = 1, . . . , r − 1.
But then, ci is a positive integral multiple of some Λ-primitive vector:
ci = mi ai . The two expressions for ci together imply li = 0 or mi ≤ li <
kr in contradiction to the minimality of kr .
Altogether, we obtain li = 0 for all i, and hence, ci = ki b̂i as required.
u
t
Exercise 2.20
Exercise 2.21
Corollary 2.54 Let Λ0 ⊆ Λ be lattices with lin Λ = lin Λ0 , and let B0 be
a basis of Λ0 . Then

|Λ/Λ0 | = |Π(B0 ) ∩ Λ| = detΛ Λ0 .

Proof. The quotient map π : Λ → Λ/Λ0 induces a bijection Π(B0 ) ∩ Λ →


Λ/Λ0 by Proposition 2.43. So the first two quantities are equal, and in
particular the second one is independent of the chosen Λ0 -basis.

— 38 — Haase, Nill, Paffenholz: Lattice Polytopes


Chapter 2. Polytopes and Lattices (draft of June 28, 2021)

That means, for the proof that the last two quantities agree, we can
choose bases as in Theorem 2.53. Then the change of bases matrix is
diagonal with determinant k1 · . . . · kr , while the set Π(B0 ) ∩ Λ consists
P
of the points i li bi for 0 ≤ li ≤ ki − 1. u
t
Exercise 2.22
In dimensions d ≥ 2 there are infinitely many unimodular matrices. Exercise 2.23
Hence, there are also infinitely many different bases of a lattice. In
Exercise 2.24
Section 6.4 we deal with the problem of finding bases of a lattice with
Exercise 2.25
some nice properties. We will e.g. construct bases with “short” vectors.
Exercise 2.26
Definition 2.55 (dual lattice) Let Λ ⊂ V be a lattice with lin Λ = V . Exercise 2.27
Then set Exercise 2.28
Exercise 2.29
Λ? := {α ∈ V ? | α(a) ∈ Z for all a ∈ Λ}

is the dual lattice to Λ.

If b1 , . . . , bd is a basis of Λ and α1 , . . . , αd is the corresponding dual basis


(i.e. αi (bj ) = 1 if i = j, and αi (bj ) = 0 otherwise), then Λ? is spanned by
α1 , . . . , αd as a lattice. Hence, the dual lattice is indeed a lattice. Further,
dualizing twice gives us back the original lattice, Λ?? = Λ, as b1 , . . . , bd is
a dual basis to α1 , . . . , αd . The following observation is left to the reader
as as Exercise 2.32. Exercise 2.30
Exercise 2.31
Lemma 2.56 det(Λ) det(Λ? ) = 1 .
Exercise 2.32
Recall the distance function in Rd ,

d(x, y ) := kx − yk
and d(x, S) := inf (d(x, z ))
z∈S

for any x, y ∈ Rd , S ⊆ Rd .

Lemma 2.57 Let Λ ⊆ Rd be a lattice and v1 , . . . , vk ∈ Λ, k < d, linearly


independent. Define V := lin(v1 , . . . , vk ). Then there is v ∈ Λ − V and
x ∈ V such that

d(v, x) ≤ d(w, y ) for any y ∈ V , w ∈ Λ − V .

Proof. Let Π := Π(v1 , . . . , vk ). Then Π is a compact subset of Rd . Choose


any a ∈ Λ − V and set r := d(a, Π). Let

Br (Π) := {x | d(x, Π) ≤ r} .

Then a ∈ (Br (Π) − V ) ∩ Λ. Further, Br (Π) is bounded, so Br (Π) ∩ Λ is


finite by Lemma 2.47. Hence, we can choose some v ∈ (Br (Π) − V ) ∩ Λ
that minimizes d(v, Π). Choose some x ∈ Π such that d(v, x) attains this

Haase, Nill, Paffenholz: Lattice Polytopes — 39 —


Lecture Notes Lattice Polytopes (draft of June 28, 2021)

minimal distance. We will show that these choices satisfy the requirements
of the proposition.
Let w ∈ Λ − V and y ∈ V . By definition of V there are coefficients
λ1 , . . . , λk ∈ R such that
k
X
y= λi vi .
i=1
Xk k
X
Set z := bλci vi , and z 0 := {λ}i vi ,
i=1 i=1
Then z, w − z ∈ Λ and z 0 = y − z ∈ Π. Further, w − z 6∈ V . Hence,
d(y, w ) = d(y − z, w − z ) ≥ d(w − z, Π) ≥ d(v, Π) = d(v, x) . u
t
We obtain a second proof that any lattice has a basis. For this, let
v1 , . . . , vd ∈ Λ be any linearly independent set in Λ. We consider the
chain of subspaces
L0 := {0} and Li := lin (v1 , . . . , vi )

L0 ( L1 ( . . . ( Ld .
By Lemma 2.57 we can find b1 ∈ L1 closest to 0. Let w be any other
lattice vector in L1 . Then there is λ such that w = λb1 , and
0 ≤ kw − bλcb1 k < 1 .
By our choice of b1 now λ ∈ Z.
Now assume by induction that we habe a lattice basis of Lk−1 . Choose
any bk ∈ Łk \ Lk−1 closest to Lk−1 via Lemma 2.57. Let w ∈ Λ ∩ Lk .
Then there are µi , ηi ∈ R for 1 ≤ i ≤ k such that
X X
bk := µ i vi and w := η i vi .
Potentially flipping bk we can assume than µk > 0. We can find some
` ∈ Z such that 0 ≤ ηk0 := ηk − `µk < µk . Then
d(w − `bk , Lk−1 ) = d(ηk0 vk , Lk−1 ) < d(µk vk , Lk−1 ) = d(bk , Lk−1 ) .
Hence, by our choice of bk we conclude that w − `bk ∈ Lk−1 − capΛ, so
that ` ∈ Z. As we already know a lattice basis b1 , . . . , bk−1 of Lk−1 we
ontain an integral representation of w in b1 , . . . , bk . Hence, wen we habe
reached Ld , then we have constructed a lattice basis of Λ. This reproves
Theorem 2.46.
So far, we have considered lattices in linear spaces. We can shift all
definitions to affine spaces.
Definition 2.58 (affine lattice) Let Λ be a subset of an affine space
A. Λ is an affine lattice if for some x ∈ Λ the set Λ − x is a lattice. A
subset B ⊆ Λ is an affine lattice basis of Λ if B − x is a lattice basis of
Λ − b. An affine lattice isomorphism is a map on Λ that comes from a
lattice isomoprhism on Λ − x.

— 40 — Haase, Nill, Paffenholz: Lattice Polytopes


Chapter 2. Polytopes and Lattices (draft of June 28, 2021)

2.3.2 Coordinates and Normal Forms

So far, all our considerations about lattices did not depend on a particular
basis and a representation of transformations in coordinates w.r.t. to such
a basis. However, sometimes, in particular for explicit computations in
examples, it is more convenient to consider lattices and transformations
in a given basis. We now reconsider some notions in the presence of a
basis and introduce the Hermite and Smith normal form. Those allow us
to compute bases and reprove Theorem 2.53.
Lemma 2.59 Let B and B0 be bases of the lattices Λ and Λ0 respectively.
Then a linear map T : lin Λ → lin Λ0 is unimodular if and only if the
matrix representation A of T with respect to the bases B and B0 is
integral and satisfies | det A| = 1.

Proof. The matrix A has only integral entries if and only if T(Λ) ⊆ Λ0 .
Similarly, if T is unimodular, then the inverse transformation exists,
and its matrix A−1 also has integral entries. Thus, det A and det A−1 are
integers with product 1.
Conversely, if A is integral with | det A| = 1, then, by Cramer’s rule
A−1 exists and is integral. u
t

Lemma 2.60 Let A ∈ Zd×d be non-singular. Then Aλ = µ has an


integral solution λ for any integral µ ∈ Zd if and only if | det A| = 1.

Proof. “⇒”: By Cramer’s rule, the entries of λ are λi = ± det(Ai ), where


Ai is the matrix obtained from A by replacing the i-th column with µ.
“⇐”: If | det A| > 1, then 0 < | det A−1 | < 1, so A−1 contains a
non-integer entry aij . If ej ∈ Zm is the j-th unit vector, then Aλ = ej
has no integer solution. u
t

The set of such matrices is denoted by Gl(d, Z).


Corollary 2.61 An integral matrix A ∈ Zd×d is the matrix representa-
tion of a unimodular transformation of a lattice if and only if | det A| = 1.
u
t

Corollary 2.62 Let Λ be a lattice with basis b1 , . . . , bd lin Λ. Then


c1 , . . . , cd ∈ Λ is another basis of Λ if and only if there is a unimod-
ular transformation T :∈ Λ → lin Λ such that T(bi ) = ci for 1 ≤ i ≤ d.
u
t

We are now ready to define an important invariant of a lattice.


Definition 2.63 (Determinant of a lattice) Let Λ0 ⊆ Λ be lattices
with lin Λ = lin Λ0 , and let B and B0 be bases of Λ and Λ0 respectively. Let
A be the matrix representation of the identity lin Λ0 → lin Λ with respect
to the bases B0 and B. Then the determinant of Λ0 in Λ is the integer

Haase, Nill, Paffenholz: Lattice Polytopes — 41 —


Lecture Notes Lattice Polytopes (draft of June 28, 2021)

detΛ Λ0 := | det A| .

If Λ = Zd , we will often write det Λ0 for det Zd Λ0 .


By Lemma 2.59 and Corollary 2.62 this definition is independent of the
Exercise 2.33 chosen bases.
Exercise 2.34 Next we study a way to obtain a nice basis for a lattice generated by
a set of (not necessarily linearly independent) vectors in Qd .
Definition 2.64 (Hermite normal form) Let A = (aij ) ∈ Qd×m
with m ≥ d be of full row-rank. The matrix A is in Hermite normal
form if
É aij = 0 for j > i and
É ajj > aij ≥ 0 for i > j .

So a matrix in Hermite normal form is an lower triangular matrix, and


the largest entry in each row is on the diagonal.
Depending on the context we sometimes use the transposed matrix,
i.e. we claim that a matrix is in Hermite normal form if it has at least as
  many rows as columns, it is upper triangular, and the largest entry in
5000 each column is on the diagonal (and if the matrix is square we can also
1 2 0 0 consider lower triangular matrices).
 
3140
Theorem 2.65 (Hermite normal form) Let A ∈ Qd×m of full row-
A matrix in Hermite normal form.
rank. Then there is a unimodular matrix U ∈ Zm×m such that AU is in
Hermite normal form.

Proof. Let g be the common denominator of all entries of A. Then gA is


an intergral matrix, and if H is in Hermite normal form with a unimodular
transformation U such that gA = HU , then also 1/gH is in Hermite
normal form and A = 1/gHU . Hence, in the following we can replace A
by gA and assume that A is an integral matrix.
Now observe that the following three transformations on the columns
of a matrix A can be realized by a multiplication with suitably chosen
unimodular matrix T from the right:
(1) Exchanging two columns, and
(2) multiplying a column by −1, and
(3) adding an integral multiple of one column to another column.
These operations are called elementary transformations for a matrix.
Any succession of such operations is then realized by the product of the
corresponding transformation matrices, which is again unimodular. In
the following, we will show that we can transform A into its Hermite
normal form using only such elementary transformations. The unimodular
matrix U in the theorem is then given by the product of the corresponding
tranformation matrices.

— 42 — Haase, Nill, Paffenholz: Lattice Polytopes


Chapter 2. Polytopes and Lattices (draft of June 28, 2021)

We show that we can tranform A into its Hermite normal form by


induction on the rows of A. So assume that A already has the form
" #
B 0
A = (2.6)
M C

for matrices B, C, M where B ∈ Zk×k is in Hermite normal form and


k ≥ 0. Consider the first row (c11 , . . . , c1,m−k ) of the matrix C. Using
elementary column operations we can transform C such that

(1) c11 ≥ c12 ≥ . . . , c1,m−k ≥ 0 and


(2) c := c11 + c12 + · · · + c1,m−k is as small as possible.

Then c11 > 0 as A has full row rank. Further, if c12 6= 0, then we can
subtract the second from the first column and reorder the columns if
necessary to obtain a smaller total sum c. Hence, c12 = c13 = . . . =
c1,m−k = 0. The column operations on C clearly extend to A without
affecting B and M , so we can apply them to A to obtain a matrix
 
B 0 0
A =  m c11 0  ,
 
M 0 c01 C 0

where m0 is a row vector of length k, the first row of the matrix M .


By adding or subtracting multiples of the (k + 1)st column (the one
containing c11 ) to the first k columns of A we can assume that all entries
of m are nonnegative and smaller than c11 .
In this way we have again reached a matrix of the form (2.6), but this
time B has size (k + 1) × (k + 1). After d steps A is in Hermite normal
form using only elementary operations. u
t

Remark 2.66 Using only elementary column operations in the proof


was convenient as this directly provides a proof that the transformation
matrix turning A into its Hermite normal form H is unimodular.
However, this is inefficient for cumputations. Here one usually does
the following. To transform the first row of C into one where all but the
first elements are zero one does the following steps:

(1) swap a column with a non-zero entry in the first position to the front,
possibly multiply by −1 to make it positive
(2) for any column cj with non-zero first entry c1j one computes the
greatest common divisor g of c11 and c1j and two integers x, y such
that g = xc11 + y + c1j . This can be done with the extended Euclidean
algorithm. Now we replace the first column c1 by xc1 + ycj and
the column cj by 1/g (c1j c1 − c11 cj ). Note that in the second linear
combinations the coeffcients 1/gc1j and 1/gc11 are both integral.

Haase, Nill, Paffenholz: Lattice Polytopes — 43 —


Lecture Notes Lattice Polytopes (draft of June 28, 2021)

A simple consideration shows that the transformation matrix correspond-


ing to the transformation used in the second step has determinant ±1
and thus is unimodular.
Using this approach implies that a Herminte normal form of any
rational matrix can be computed in polynomial time in the size of the
input matrix A.

Theorem 2.67 The Hermite normal form of a matrix A ∈ Qd×m is


unique. u
t

Remark 2.68 We can use the Hermite normal form to efficiently per-
form various tasks on lattices. For this, Let B and B 0 be matrices whose
columns generate lattices Λ := Λ(B ) and Λ0 := Λ(B 0 ).
(1) The first d colunms of the Hermite normal form of B give a basis of
the lattice Λ.
(2) The lattices Λ and Λ0 are equal if and only if the Hermite normal
forms of B and B 0 coincide.
(3) lattice0 is a sublattice of Λ if and only if the Hermite normal forms of
B and the matrix obtained by adding the columns of B 0 to B coincide.

For the Hermite normal form we have used elementary column trans-
formations, which we can realize by multiplication with a unimodular
matrix from the right. Clearly, we can study the same transformations
also for the rows of a matrix, and we can realize them by multiplications
with a unimodular matrix from the left. This leads to another important
normal form of a matrix, which we explain with the next theorem.
Theorem 2.69 (Smith normal form) Let A ∈ Zd×m be a matrix
of full row rank. Then there are unimodular matrices L ∈ Zd×d and
R ∈ Zm×m such that S = (sij )1≤i≤d,1≤j≤m := LAR satisfies
(1) sij = 0 for i 6= j,
(2) sii > 0 for 1 ≤ i ≤ d, and
(3) si−1,i−1 divides sii for 2 ≤ i ≤ d.
The matrix S is unique, the companion matrices L and R are not.
The last statement about the non-uniqueness of L and R follows from
the obsevation that there are unimodular matrices that commute with
S. When actually computing smith normal forms with their companions,
this fact can be used for an attempt to keep entries in L and R small.

Proof. As in the proof of the Hermite normal form it suffices to show


that we can transform A into its Smith normal form using elementary row
and column operations. The existence of the companions then follows.
We again use induction. Suppose that after some elementary trans-
formations A has the form

— 44 — Haase, Nill, Paffenholz: Lattice Polytopes


Chapter 2. Polytopes and Lattices (draft of June 28, 2021)

" #
S 0
A = (2.7)
0C

where S is a diagonal matrix with positive entries s11 , . . . , skk for k ≥ 0


on the diagonal such that sj−1,j−1 divides sjj for 2 ≤ j ≤ k, and skk
devides all entries of C.
Among all transformations of C that we can reach with elementary
row and column operations we pick one such that min(|cij | | 1 ≤ i ≤
d, 1 ≤ j ≤ mandcij 6= 0) is minimal. We can also assume that this
minimum is attained by a11 . Then clearly c11 is the only non-zero element
in the first row and column, as otherwise we can obtain a smaller entry
by a suitable row of column operation. Further, a similar consideration
shows that c11 must divide all other entries of C. We have extended our
induction form (2.7) from k to k + 1.
Uniqueness of S follows from the observation that in each step the
element c11 that we construct is the greatest common divisor of the
elements in C. u
t

You will use the Smith normal form to reprove Theorem 2.53 using bases
of the lattices in a representation w.r.t. to a basis of the vector space in
Exercise 2.35. Exercise 2.35

2.3.3 Metric Geometry

In this section, we will give a short discussion about lattices and metric
geometry (mainly following [4]). This is the first point in the book where
Λ really is meant to be a (non-standard) lattice in Rd . An interesting
geometric application can be found in the next section.
Usually, when dealing with lattice polytopes we start with an abstract
∼ Zd and associate an abstract vector space Λ ⊗Z R =
lattice Λ = ∼ Rd with
the volume form which evaluates as 1/d! on a fundamental domain of
Λ. In particular, note that the ’length’ of a vector is not well-defined. In
general, we define the dual lattice as

Λ? := HomZ (Λ, Z)

and the dual vector space as

(Λ ⊗Z R)? := HomR (Λ ⊗Z R, R) .

Note that the dual lattice naturally sits inside of the dual vector space.
While these definitions are abstract, they stress the point that in general
it is not necessary and often misleading to identify dual spaces or lattices.
In contrast, in lattice theory the viewpoint is opposite to ours. The
starting point is an euclidean vector space, say, Rd with the usual scalar

Haase, Nill, Paffenholz: Lattice Polytopes — 45 —


Lecture Notes Lattice Polytopes (draft of June 28, 2021)

product h ·, · i. Now, the choice of the embedded lattice matters! For


instance, their determinants differ. In this section, we will follow this
convention.
So, let Λ ⊂ Rd be a lattice of full rank, and we assume that we have
?
a scalar product h ·, · i. Now, we can identify Rd and (Rd ) :

∼ ( Rd ) ? ,
Rd = x → h ·, x i.

In particular, we get under this identification

Λ? = {x ∈ Rd : h x, y i ∈ Z ∀ y ∈ Λ} ⊆ Rd .

Note that while Λ?? = Λ, it may happen that Λ? 6= Λ. For instance, if


Λ = Zd /2, then Λ? = 2Zd .

2.3.4 Hilbert Bases

Let v1 , . . . , vn ∈ Λ. Then C := cone(v1 , . . . , vn ) is a polyhedral cone. Let


SC := C ∩ Λ Then SC with addition is a semi-group, the semi-group of
lattice points in C. Indeed, 0 ∈ SC and if x, y ∈ SC , then x + y ∈ SC .
A set H ⊆ SC generates SC as a semigroup if for any x ∈ SC there are
λh ∈ Z≥0 for h ∈ H such that
X
x= λh h .
h∈H

Such a set is a Hilbert basis of SC . A Hilbert basis is minimal if any other


Hilbert basis of SC contains this basis.
Observe that in general an inclusion-minimal Hilbert basis is not
unique. Consider e.g. the cone C = R2 . Then both H1 := {e1 , e2 , −(e+ e2 )}
and H2 := {±e1 , ±e2 } are minimal Hilbert bases, but they differ even in
size.
A vector a ∈ Zd is primitive if gcd(a1 , . . . , ad ) = 1.
Theorem 2.70 Let v1 , . . . , vn ∈ Λ, C := cone(v1 , . . . , vn ), and S :=
C ∩ Zd the semi-group of lattice points in C. Then SC has a Hilbert
basis.
If C is pointed, then SC has a unique minimal Hilbert basis.

Proof. Define the parallelepiped


( k )
X
Π := λi yi | 0 ≤ λi ≤ 1, 1 ≤ i ≤ k .
i=1

Let H := Π ∩ Λ. We will prove that H is a Hilbert basis.


(1) H generates C, as y1 , . . . , yk ∈ H.

— 46 — Haase, Nill, Paffenholz: Lattice Polytopes


Chapter 2. Polytopes and Lattices (draft of June 28, 2021)

(2) Let x ∈ C ∩ Λ be any lattice vector in C. Then there are η1 , . . . , ηk ≥ 0


such that x = ki=1 ηi yi . We can rewrite this as
P

k
X
x = (bηi c + {ηi }) yi ,
i=1

so that
k
X k
X
x− bηi cyi = {ηi }yi .
i=1 i=1

The left side of this equation is a lattice point. Hence, also the right
side is a lattice point. But
k
X
h := {ηi }yi ∈ Π ,
i=1

so h ∈ Π ∩ Zd = H. This implies that x is a integral conic combina-


tion of points in H. So H is a Hilbert basis.
Now assume that C is pointed. Then there is b ∈ Rd such that

bt x > 0 for all x ∈ C − {0} .

n o
y not a sum of
Let K := y ∈ C ∩ Zm | y 6= 0, two other integral vectors in C .

Then K ⊆ H, so K is finite.
Assume that K is not a Hilbert basis. Then there is x ∈ C such that
x 6∈ Z≥0 K. Choose x such that bt x is as small as possible.
Since x 6∈ K, there must be are x1 , x2 ∈ C such that x = x1 + x2 .
But

bt x 1 ≥ 0 , bt x2 ≥ 0, bt x ≥ 0 and bt x = bt x1 + bt x2 ,
so bt x 1 ≤ bt x , bt x 2 < b t x .

By our choice of x we get x1 , x2 ∈ Z≥0 K, so that x ∈ Z≥0 K, a contra-


diction. u
t

From the above proof it follows that for a simplicial cone all Hilbert
basis elements ecept for the generators of the cone are contained in the
fundamental parallelepiped of the cone. Computing these points in the
parallelepiped can be done by computing the Smith normal form. This,
together with the generators of the cone is only a generating set G for
the integer points in the cone. So we need to check for all of the (finitely
many points) whether it is a sum of two other elements in G and in this
case remove it from G.
For non-simplicial cones we can obtain a Hilbert basis in three steps:

Haase, Nill, Paffenholz: Lattice Polytopes — 47 —


Lecture Notes Lattice Polytopes (draft of June 28, 2021)

(1) Triangulate the cone


(2) Compute a Hilbert basis in each simplicial cone
(3) Combine all Hilbert bases. This is a generating set for the integer
points in the original cone. Reduce this set to a Hilbert basis by
removing all points from it that are the sum of two other points in
the set.

Definition 2.71 (homogeneous) Let Λ ⊂ Rd be a lattice and C ⊆ Rd


a finitely generated cone with generators v1 , . . . , vd ∈ Λ. C is homogeneous
with respect to some linear functional c ∈ Zd if there is λ ∈ Z such that
ct vj = λ for 1 ≤ j ≤ d.
The height of an integer point x ∈ C is

ht(x) := ct x

Definition 2.72 (normal cone) A finitely generated cone C which is


homogeneous w.r.t. a functional c is normal if all Hilbert basis elements
have height 1.

2.4 Lattice polytopes

Definition 2.73 A lattice polytope is a polytope in Rd with vertices in


a given lattice Λ ⊂ Rd .

Note that dim(P ) ≤ rank(Λ). Usually we will consider full-dimensional


lattice polytopes, i.e., dim(P ) = rank(Λ). However, we note that we can
always consider P as a full-dimensional lattice polytope with respect to
its ambient lattice aff (P ) ∩ Λ of rank dim(P ) in its ambient affine space
aff (P ). Note that we need to be careful when considering lattices in faces
Exercise 2.36 of a polytope w.r.t. to the lattice of the polytope, see Exercise 2.36.
Throughout (except when explicitly noted otherwise), the reader should
assume Λ = Zd . In this case, a lattice polytope is also called integral
polytope. We will use more general lattices only at very few places in the
chapter on Geometry of Numbers (Chapter 4).

2.4.1 Equivalence

Having introduced the objects of our interest, we should next state


when two of them are considered isomorphic. Figure 2.13 shows three
examples of lattice triangles in dimension two. As the reader should
notice, all three triangles look quite different: their vertices have different
Euclidean distances and different angles. Still, the top one is considerably
distinguished from the lower two: it has four lattice points, while the
others have only three. Actually, more is true: the second and third are
Fig. 2.13: Lattice triangles
isomorphic.

— 48 — Haase, Nill, Paffenholz: Lattice Polytopes


Chapter 2. Polytopes and Lattices (draft of June 28, 2021)

0
Definition 2.74 Two lattice polytopes P ⊂ Rd and P 0 ⊂ Rd (with
0
respect to lattices Λ ⊂ Rd and Λ0 ⊂ Rd ) are isomorphic or unimodularly
equivalent, if there is an affine lattice isomorphism of the ambient lattices
Λ ∩ aff (P ) → Λ0 ∩ aff (P 0 ) mapping the vertices of P onto the vertices of
P 0.
Recall from Definition 2.51 that a lattice isomorphism is just an iso-
morphism of abelian groups. Moreover, an affine lattice isomorphism is
an isomorphism of affine lattices. Here, note that an affine lattice does
not need to have an origin (e.g., consider the set of lattice points in
a hyperplane). However, if we fix some lattice point to be the origin,
an affine lattice isomorphism can be defined as a lattice isomorphism
followed by a translation, i.e., x 7→ T x + b where T : Λ → Λ0 is a (linear)
lattice isomorphism and b ∈ Λ0 .

Luckily, by Corollary 2.61, in our usual situation Λ = Zd = Λ0 there


is an easy criterion to check when a linear map Rd → Rd is a lattice
automorphism of Zd . The matrix corresponding to the map must have
integal entries and its determinant is 1 or −1.
Again, as we have seen from the example above, it is very important
to realize that in our setting isomorphisms do not preserve angles or
distances! Let us note an immediate consequence of Corollary 2.61
Corollary 2.75 Unimodularly equivalent lattice polytopes have the same
number of lattice points and the same volume. u
t

2.4.2 Examples of Lattice Polytopes and Constructions.

A theory only comes to life through its examples and counterexamples.


Luckily, there are many interesting lattice polytopes, reflecting the many
mathematical fields where lattice polytopes play a role. Repeatedly, the
same polytope comes by several different names, due to the fact that
it has been (re-)discovered from different points of departure. In the
following we collect only the most important constructions and examples
as provisions for the road through this text. More examples are treated
in the exercises.
Definition 2.76 ∆d := conv(0, e1 , . . . , ed ) is called the standard or
unimodular d-simplex. We also call any polytope isomorphic to ∆d a
unimodular d-simplex.
In other words, a lattice polytope is a unimodular simplex if and only
if its vertices form an affine lattice basis. This is the simplest possible
lattice polytope. Exercise 2.37
We discuss ways to construct new lattice polytopes from given ones.
We have seen already the Minkowski sum construction introduced in

Haase, Nill, Paffenholz: Lattice Polytopes — 49 —


Lecture Notes Lattice Polytopes (draft of June 28, 2021)

Definition 2.11. Clearly, if in this construction both summands are lattice


polytopes, then so is their sum.
One of the most useful constructions is the product of two (or more)
polytopes. Given two lattice polytopes P in Rd and Q in Re we can
construct a lattice polytope P × Q, the product of P and Q in Rd+e via
n o
P × Q := (p, q ) ∈ Rd+e : p ∈ P and q ∈ Q .

The product has vertices (p, q ) for vertices p of P and q of Q. Thus P × Q


is a lattice polytope. The prism over P is a special case of a product
where Q is just an interval. Mostly, one takes Q = [0, 1] if nothing else is
specified.
Let P = conv(v1 , . . . , vn ) be a polytope. P is a pyramid with apex v1
if there is an affine hyperplane H such that v2 , . . . , vn ∈ H and v1 6∈ H.
Given a polytope P , we can construct a pyramid over P by embedding
P into {0} × Rd ⊆ R × Rd and taking the convex hull with any x 6∈
{0} × Rd . We define

Pyr(P ) := conv({0} × P , e0 ) ,

where e0 is the first standard unit vector in R × Rd .


Let P ⊆ {0} × Rd be a polytope and x, y 6∈ {0} × Rd , such that the
segment between x and y intersects P in the interior of P . Then

BiPyr(P ) := conv(P , x, y ) ,

is the bipyramid with apices x and y. A polytope Q is a bipyramid if it


can be written as an (affine image) of the bipyramid over a polytope P .
The join of two lattice polytopes P and Q of dimensions d and e is

P ? Q := conv (P × 0e × {0}, 0d × Q × {1}) ,

where 0d and0e are the zero vectors in dimension d and e. This is clearly
again a lattice polytope. Note that a pyramid is a special case of this,
where we take Q to be a single point.
Further constructions, e.g. Cayley polytopes and Lawrence prisms
will be discussed at the relevant places in the next chapters.
Lattice polytopes also play an important role in various branches of
mathematics. We give a few examples.
(1) In enumerative combinatorics one can study the order polytope
(2) cut polytopes or traveling salesperson polytopes in combinatorial opti-
mization
(3) hypersimplex
(4) Birkhoff polytope and the permutation polytopes

— 50 — Haase, Nill, Paffenholz: Lattice Polytopes


Chapter 2. Polytopes and Lattices (draft of June 28, 2021)

2.4.3 Volumes

This section is devoted to a fundamental result on lattice polytopes.


In Section 1.2 we have shown that for polygons the number of interior
lattice points and the volume are connected. Here we will prove that
in any dimension d there are only finitely many isomorphism classes of
d-dimensional lattice polytopes of fixed volume. We have seen that for
polygons this implies that there are only finitely many isomorphism types
with a fixed number of lattice points. Unfortunately, no such result is
true in dimensions three and above and you have constructed examples
in Exercise 1.9. It is an extremely important point to realize that starting
already in dimension three, having information about the volume of a
lattice polytope is much stronger than just knowing the number of its
(interior) lattice points.
Remark 2.77 Note that here we always take the volume as induced by
the lattice Λ, i.e., the volume of a fundamental parallelepiped equals one.
For instance, [0, 1]d is a fundamental parallelepiped for Zd .
Consider the standard simplex ∆d defined in Definition 2.76. Note that
vol(∆d ) = 1/d! The following observation shows that the standard simplex
defined in is indeed the smallest possible lattice polytope:
Proposition 2.78 Let P ⊂ Rd be a d-dimensional lattice simplex. Then
there is an affine lattice homomorphism ϕ : Zd → Zd , x 7→ Ax + b
mapping the vertices of ∆d onto the vertices of P . In this case,

d! vol(P ) = | det(ϕ)| ∈ Z≥1 .

Proof. We may assume that P = conv(0, v1 , . . . , vd ). In this case, ϕ is


given by ei 7→ vi for i = 1, . . . , d. Hence,
  1
vol(P ) = | det(ϕ)| vol(∆d ) = det v1 · · · vd . u
t
d!
Corollary 2.79 Let P ⊂ Rd be a d-dimensional lattice polytope. Then

d! vol(P ) ∈ Z≥1 .

We have d! vol(P ) = 1 if and only if P is a unimodular simplex.

Proof. By Theorem 2.35 we can triangulate P into simplices without


introducing additional vertices apart from those of P . In particular, any
simplex is a d-dimensional lattice simplex. Now, the statement follows
from the previous proposition. u
t

This motivates the following definition.

Haase, Nill, Paffenholz: Lattice Polytopes — 51 —


Lecture Notes Lattice Polytopes (draft of June 28, 2021)

Definition 2.80 The normalized volume of a d-dimensional lattice poly-


tope P ⊂ Rd is defined as the positive integer

nvol(P ) := d! vol(P ) .

Remark 2.81 Note that it makes sense to extend the previous defini-
tion also to low-dimensional lattice polytopes by considering them as
full-dimensional polytopes with respect to their ambient lattice. Hence,
nvol(P ) ≥ 1 for any lattice polytope.

Note that, if P = conv(0, v1 , . . . , vd ) is a d-dimensional lattice simplex


in Rd , then by Proposition 2.78 the normalized volume of P equals the
volume of the parallelepiped spanned by v1 , . . . , vd .
As we have seen, lattice polytopes have normalized volume at least
1. Given a triangulation of a lattice polytope P of normalized volume V
into lattice simplices, we see that this triangulation can have at most V
simplices. This observation gives us an empirical reason why there should
be only finitely many lattice polytopes of given volume and dimension
(of course, up to unimodular transformations). Finally, let us give the
formally correct proof.

Theorem 2.82 Let P ⊂ Rd be a d-dimensional lattice polytope, nvol(P ) =


V . Then there exists some lattice polytope Q ⊂ Rd such that Q ⊆
∼ Q.
[0, d · V ]d and P =
Moreover, if P is a simplex, then d · V may be substituted by V .

Corollary 2.83 There exist only finitely many isomorphism classes of


lattice polytopes of given dimension and volume. u
t

We will first prove Theorem 2.82 for simplices. We need the following
useful observation to extend this result to arbitrary polytopes. The proof
is left as Exercise 2.38. The centroid of a simplex with vertices v0 , . . . , vd
1 Pd
is d+ 1 i = 0 vi .

Lemma 2.84 Let P ⊂ Rd be a d-dimensional polytope. Then there


exists a d-dimensional simplex S ⊆ P whose vertices are vertices of P
such that

S ⊆ P ⊆ (−d)(S − x) + x ,

where x is the centroid of S. In other words, if v0 , . . . , vd are the vertices


of S, then
d
X
S ⊆ P ⊆ (−d)S + vi . u
t
i=0
Exercise 2.38

— 52 — Haase, Nill, Paffenholz: Lattice Polytopes


Chapter 2. Polytopes and Lattices (draft of June 28, 2021)

Proof (of Theorem 2.82). We can assume that one vertex of P is the
origin 0. First, let P = conv(0, v1 . . . , vd ) be a simplex. Let V ∈ Zd×d
be the matrix whose columns are the coordinate vectors of v1 , . . . , vd .
By the Hermite normal form (Theorem 2.65) (where we transpose the
left and right side of the equation) there exists U ∈ Gld (Z) such that
U V = H and H is an upper triangular matrix with non-negative integer
entries such that in each column the maximal element is on the diagonal.
We denote the columns of the right matrix by h1 , . . . , hd . Therefore,
U defines a unimodular transformation mapping P to

Q := conv(0, h1 , . . . , hd ) ⊆ [0, det H ]d ,

where the last inclusion follows, as det H ≥ hii for all 1 ≤ i ≤ d and
0 ≤ hij ≤ max hii . This proves the claim for simplices, as nvol(P ) =
nvol(Q) = det H.
In general, there exists a lattice d-simplex S ⊆ P as in Lemma 2.84.
Then the previous part of the proof shows that there exists a unimodular
transformation ϕ : Zd → Zd such that

ϕ(S ) ⊆ [0, nvol(S )]d .

Let S have vertices v0 , . . . , vd . Then


d
∼ ϕ(P ) ⊆ (−d)ϕ(S ) +
X
P = ϕ ( vi )
i=0
d
X
⊆ [0, −d nvol(S )]d + ϕ ( vi ) .
i=0

Since nvol(S ) ≤ nvol(P ), the statement follows after an affine unimodular


transformation (translating by − di=0 ϕ(vi ) and multiplying by −1). u
P
t

2.5 Software

We can du actual computations with polytopes, cones and fans using the
software framework polymake.
polytope> $c=cube(3);
polytope> print $c->VERTICES;
1 0 0 0
1 1 0 0
1 0 1 0
1 0 0 1
1 1 1 0
1 1 0 1
1 0 1 1
1 1 1 1

Haase, Nill, Paffenholz: Lattice Polytopes — 53 —


Lecture Notes Lattice Polytopes (draft of June 28, 2021)

2.6 Problems
included on pa
2.1. Prove Carathéodory’s Theorem (Theorem 2.4).
included on page 27

2.2. Show that the preimage of the projection of a face F is again a


face (but not necessarily the original one).
included on page 27

2.3. If some x ∈ Rd is in the relative interior of two faces of a convex


set, then the two faces coincide.
included on page 27

2.4. Let π : Rd → Rm be a projection that maps a d-dimensional


polytope P onto a m-dimensional polytope Q. Then, if x is a point
in the interior of Q, relint(π −1 (x) ∩ P ) ⊆ int (P ).
included on page 28

2.5. Show that a d-dimensional polytope has faces in any dimension


0 ≤ k ≤ d − 1.
included on page 28

2.6. Prove that any (d − 2)-dimensional face of a d-dimensional polytope


is contained in precisely two facets.
included on page 28

2.7. Let P ⊆ Rd be a d-dimensional polytope with 0 ∈ int P . Prove


that dualizing the dual polytope P ? gives you back the original
polytope P .
included on page 29

2.8. Show that simple and simplicial are dual notions.


included on page 31

2.9. Prove Proposition 2.30.


included on page 31

2.10. Prove that the tangent cone of a face of a polytope is precisely the
intersection of the half spaces defining F .
included on page 32

2.11. Show that any subdivision S of a polygon P such that V(S) = V(P )
is regular.
included on page 33

2.12. Prove that the subdivision in Figure 2.9 is not regular.


included on page 34

2.13. Show that a discrete additive subgroup of Rd is closed.


included on page 34

2.14. Let Λ be a discrete closed subset of Rd (for instance, a discrete


additive subgroup by Exercise 2.13) and B a bounded subset of
Rd . Then Λ ∩ B is a finite set. Give an example that shows that
this is not correct for general discrete subsets.

— 54 — Haase, Nill, Paffenholz: Lattice Polytopes


Chapter 2. Polytopes and Lattices (draft of June 28, 2021)

2.15. Show that the definition of a lattice in Definition 2.37 does not
depend on the norm chosen to define the balls.

2.16. Show that in Definition 2.37 we can choose the same ε for all x ∈ Λ.

2.17. Prove that the following subsets of Rd are lattices.


(1) Bd
(2) Recall the definition of Dd from (2.5). Let us define Dd/2 :=
1

Dd +( 12 1 + Dd ) for even d. Show that this is a lattice. For


d = 8 this is the root system E8 .
(3) E7
(4) E6
These are the so called root systems.
included on page 36

2.18. Let Λ ⊆ Rd be a lattice wit fundamental parallelepiped Π. Show


that the lattice translates of Π cover Rd without overlap, i.e.
[
(x + Π) = Rd
x∈Λ

and (x + Λ) ∩ (y + Λ) = ∅ for x, y ∈ Λ, x 6= y.
included on page 38

2.19. Show that any full-dimensional cone contains a lattice basis.


Hint: Use induction over the dimension.
included on page 38

2.20. Let b1 , . . . , bd be linearly independent lattice points in a lattice Λ of


rank d. Show that the closed fundamental parallelepiped spanned
by b1 , . . . , bd contains a lattice basis of Λ.
included on page 38

2.21. Let Λ ⊆ Rd be a lattice and v1 , . . . , vd ∈ Λ be such that


vol Π(v1 , . . . , vd ) = det Λ. Then v1 , . . . , vd is a basis of Λ.
included on page 39

2.22. Let Λ0 be a sublattice of Λ ⊆ Rd with rank d. Let Π be the


fundamental parallelepiped of a lattice basis of Λ.
Show that v 7→ v + Λ0 is a bijektion from Π ∩ Λ to Λ/Λ0 ist.
included on page 39

∼ Z/k1 Z ⊕ Z/k2 Z for k1 , k2 ∈


2.23. Show that Z2 / < k1 e1 , k2 e2 >Z =
Z
included on page 39

2.24. Let Λ be a lattice of rank d in Rd and let L be a linear subspace in


Rd of dimension n. Show that, if L ∩ Λ is a lattice of rank n, then
any lattice basis of L ∩ Λ0 can be extended to a lattice basis of Λ.

Haase, Nill, Paffenholz: Lattice Polytopes — 55 —


Lecture Notes Lattice Polytopes (draft of June 28, 2021)

included on pa

2.25. Let Λ be a lattice and v ∈ Λ prtimitive. Show that v is part of


some lattice basis.
included on pa

2.26. Let Λ be a lattice of rank d in Rd and B := {b1 , . . . , bd } ⊂ Λ


linearly independent.
Show that B is a lattice basis of Λ if and only if Π(B) as volume
det Λ.
included on page 39

2.27. The following map is a (canonical) isomorphism

ψ : Rd → ((Rd )∗ )∗ , x 7−→ (u 7→ u(x)) .

included on page 39

2.28. The map ψ ψ from Exercise 2.27 induces a natural isomorphism


between Λ and (Λ∗ )∗ .
included on page 39

2.29. Let Λ be a lattice of rank d in Rd , and T : Rd → Rd a linear


map with T (Λ) ⊆ Λ.
Show that for T ∗ : (Rd )∗ → (Rd )∗ , ϕ 7→ (v →7 ϕ(T (v ))) we
∗ ∗
have that T (Λ ) ⊂ Λ .∗
included on page 39

2.30. let b1 , . . . , bd be a basis of Rd . For x = di=1 λi bi ∈ Rd we define


P

b∗i (x) = λi . Show that b∗1 , . . . , b∗d is a basis of (Rd )∗ .


included on page 39

2.31. Let b1 , . . . , bd be a lattice basis of the lattice Λ in Rd . Then


b∗1 , . . . , b∗d is a lattice basis of the lattice Λ∗ in (Rd )∗ .
included on page 39

2.32. Prove Lemma 2.56.


included on page 42

2.33. Let Λ ⊆ Rd be a lattice, v1 , . . . , vk ∈ Λ, L := lin(v1 , . . . , vk )


and L⊥ its orthogonal complement with orthogonal projection
π : Rd → L⊥ .
(1) Show that Γ := π (Λ) is a lattice in L⊥ .
(2) Show that Γ ? ⊆ Λ? .
included on page 42

2.34. Let Λ ⊆ Zd be a sub-lattice of rank d, and let v1 , . . . , vd be a basis


of Λ with fundamental parallelepiped
nX o
Π ( v1 , . . . , vd ) = λi bi | λi ∈ [0, 1) .

Show that

|Zd /Λ| = |Π(v1 , . . . , vd ) ∩ Zd | = det Λ .

— 56 — Haase, Nill, Paffenholz: Lattice Polytopes


Chapter 2. Polytopes and Lattices (draft of June 28, 2021)

2.35. Reprove Theorem 2.53 using the Smith normal form (Theo-
rem 2.69).

2.36. Construct a Λ-polytope P and a face F where

aff F ∩ Λ 6= aff F ∩ hP ∩ Λi 6= aff F ∩ hF ∩ Λi .


included on page 49

2.37. Show that ∆d has volume 1/d!.


Hint: think of ∆d as iterated pyramids or subdivide [0, 1]d into d!
simplices.
included on page 52

2.38. Let P ⊆ Rd be a d-dimensional lattice polytope (or any convex


body) Show that there is a simplex S ⊆ P with vertices v0 , . . . , vd
such that

P ⊆ (−d)(S − x) + x = (−d)S + (d + 1)x (2.8)

and

P ⊆ (d + 2)(S − x) − x = (d + 2)S − (d + 1)x (2.9)

where
d
1 X
x := vi
d+1
i=0

is the centroid of S.
Hint: Choose S := conv(v0 , . . . , vd ) ⊆ P with maximal volume in
P.
For any 0 ≤ i ≤ d let Hi be the facet hyperplane of the
facet of S not containing vi , ri := d(vi , Hi ) and Ri := {x :
d(x, Hi ) ≤ ri }.
Show that P ⊆ Ri for 0 ≤ i ≤ d.
Td
Express i=0 Ri , (−d)(S − x) + x, and (d + 2)(S − x) − vx
in barycentric coordinates with respect to v0 , . . . , vd and
compare.
included on page 9

2.39. Sei K eine konvexe Menge in Rd , und a, b ∈ Z≥0 . Zeige (a + b)K =


aK + bK := {ax + by : x, y ∈ K}. (Gilt das auch für a, b < 0?)
included on page 9

2.40. Recall the isolation theorem : Given an open convex set S in Rd .


Then any point outside of S can be strictly separated from S. Finde
explizite Beispiele in Dimension 2, dass
(1) dies die Voraussetzung konvex braucht
(2) dies die Voraussetzung offen braucht

Haase, Nill, Paffenholz: Lattice Polytopes — 57 —


Lecture Notes Lattice Polytopes (draft of June 28, 2021)

(3) eine abgeschlossene konvexe Menge kann einen Extrempunkt


haben, der keine Seite (Ecke) ist
(4) eine kompakte Menge K eine Seite F haben kann, die eine
Seite G hat, die aber keine Seite von K ist
included on pa

2.41. Wie kann man die affine Hülle mithilfe von ‘Affin-Kombinationen’
beschreiben? kleinster ist!
included on page 9

2.42. (Härter) Sei S ⊂ Rd , x ∈ Rd . Zeige: x ist ein Extrempunkt von


conv(S ) g.d.w. x ∈ S und x 6∈ conv(S\{x}).
included on page 9

2.43. Check that Weyl-Minkowski for cones implies that for polytopes
included on page 9

2.44. Man erinnere sich, wieso die Determinante einer linearen Abbildung
unabhängig von der Basiswahl ist. Nun beweise für ein Gitter
Λ ⊂ Rd , dass wenn T eine lineare Abbildung von Rd nach Rd
ist, so dass die Einschränkung TΛ : Λ → Λ wohldefiniert ist und
surjektiv, dann ist TΛ bijektiv. (Tipp: wieso ist T bijektiv?) Zeigen
Sie allgemeiner(?), dass ein Homomorphismus von Λ → Λ surjektiv
ist g.d.w. bijektiv.
included on page 9

2.45. Dualizing non-polyhedral cones.


included on page 9

2.46. Existence of a Hilbert basis


included on page 9

2.47. Man mache sich an einem Beispiel plausibel (oder beweise für
i = 1), dass für gegebenes i ∈ {1, . . . , n} und für ganzzahlige n × n-
Matrizen der ggT aller Determinanten von i × i-Untermatrizen bei
Multiplikation mit unimodularen Matrizen invariant bleibt. Wieso
impliziert dies die Eindeutigkeit der Smith-Normalform?
included on page 9

2.48. Man berechne die Smith-Normalform für


!
3 0
0 14

und für eine 3 × 3-Matrix Ihrer Wahl.


included on page 9

2.49. Sei P ein d-dim. Gitterpolytop in Rd mit 0 ∈ int (P ) und F eine


Facette von P . Zeige dass es eine lineare unimodulare Transforma-
tion gibt, die F auf eine Teilmenge von Rd−1 × {m} für m ∈ Z≥1
abbildet. qDie Zahl m ist der ganzzahlige Abstand des Ursprunges
von F ). Hinweis: Betrachten Sie ηF und bilden Sie es auf e∗d ab.

— 58 — Haase, Nill, Paffenholz: Lattice Polytopes


Chapter 2. Polytopes and Lattices (draft of June 28, 2021)

2.50. Ist ein Skalarprodukt h·, ·i auf Rd gegeben, so ist

ϕ : Rd → (Rd )∗ , y 7→ (x 7→ hy, xi)

ein Isomorphismus.
included on page 9

2.51. Ein Gitter-Isomorphismus Zn → Zn wurde definiert als eine Z-


lineare Abbildung, die bijektiv ist. Man mache sich klar, dass hier
eine Z-lineare Abbildung nichts anderes als ein Gruppenhomo-
morphismus ist (wenn man von Gruppen und Homomorphismen
schon gehört hat). Prüfe, dass die inverse Abbildung eines Gitteriso-
morphismus auch wieder ein Gitterisomorphismus ist. Kennen Sie
Beispiele z.B. aus der Analysis wo ‘bijektiv’ und ‘Isomorphismus’
nicht das gleiche sind? (Idee: stetige Funktionen).
included on page 9

2.52. Man mache sich klar:


Jeder Gitter-Isomorphismus Zn → Zn definiert auch einen Vektorraum-
Isomorphismus Rn → Rn (Hinweis: Betrachte die Standardba-
sis). Jeder Gitter-Isomorphismus ist durch eine Gln (Z)-Matrix
gegeben. Dies ergibt eine Bijektion zwischen Gitterisomorphismen
und Gln (Z)-Matrizen.
included on page 9

2.53. Zeige, dass für v1 , . . . , vd ∈ Rd das Volumen des aufgespannten


Parallelepipeds gleich d! mal dem Volumen der konvexen Hülle von
0, v1 , . . . , vd ist.
included on page 9

2.54. Zeige, dass unter einer affin-linearen Abbildung die konvexe Hülle
des Bildes einer Menge gleich dem Bild der konvexen Hülle ist.
included on page 9

2.55. Hmm, kann man eigentlich einen Isomorphiebegriff für rationale


Polytope (also solche, deren Ecken alle rationalen Koordinaten
besitzen) formulieren?
included on page 9

2.56. Finde das normalisierte Volumen der konvexen Hülle von (2, 0, 4),
(1, 1, 0), (0, 2, −2).
included on page 9

2.57. Ist der Endlichkeitssatz für Gittersimplizes scharf? (Offen: was für
Gitterpolytope?)

Haase, Nill, Paffenholz: Lattice Polytopes — 59 —


Ehrhart Theory
3
Contents
3.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
3.1.1 Examples of Ehrhart polynomials . . . . . . . . 63
3.2 Generating Functions for Lattice Points . . . 65
3.3 Ehrhart’s theorem . . . . . . . . . . . . . . . . . . . . . . . 71
3.4 Stanley’s theorem . . . . . . . . . . . . . . . . . . . . . . . 74
3.4.1 Half-Open Decompositions of Cones . . . . . . 74
3.4.2 The integer point generating function of
half-open cones . . . . . . . . . . . . . . . . . . . . . . . . 77
3.4.3 Stanley’s theorem and the h∗ -polynomial
of a lattice polytope . . . . . . . . . . . . . . . . . . . . 77
3.4.4 Where does the h∗ -notation come from? . . 79
3.5 Reciprocity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
3.5.1 Stanley reciprocity for cones . . . . . . . . . . . . . 81
3.5.2 Ehrhart-Macdonald reciprocity for lattice
polytopes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
3.6 Properties of the h∗ -polynomial . . . . . . . . . . . 85
3.6.1 Degree and codegree of lattice polytopes . . 85
3.6.2 Ehrhart polynomials of lattice polygons . . . 88
3.6.3 Polytopes with Small Degree . . . . . . . . . . . . 89
3.7 Brion’s theorem . . . . . . . . . . . . . . . . . . . . . . . . . 89
3.8 Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

In this chapter we will be concerned with counting lattice points in


polytopes. The central theorem of this chapter gives a very beautiful
Lecture Notes Lattice Polytopes (draft of June 28, 2021)

relation between geometry and algebra. It is due to Eugène Ehrhart and


tells us that the function counting the number of lattice points in dilates
of a polytope P ⊆ Rd , the Ehrhart counting function,

ehrP (k ) := |k · P ∩ Zd | ,

is the evaluation of a polynomial ehrP (t) of degree d in t = k. This


polynomial ehrP (t) is called the Ehrhart polynomial of P , and it is at
the heart of the theory of lattice polytopes.

3.1 Motivation

Pick’s Theorem and Reciprocity

Monomials of degree d in R[x1 , . . . , xd ]


Semi-Magic Squares A magic square is an n by n grid filled with
n2 positive integers, such that the sum of each row, each column, and
the two main diagonals is the same for all. This number is the magic
16 3 2 13 constant. Sometimes it is additionally required that the entries in each
row, column and diagonal are pairwise distinct and the total set of entries
5 10 11 8
is {1, . . . , n2 }. See Table 3.1 for a famous example that already appeared
9 6 7 12 in the painting Melancholia I by Albrecht Dürer in 1514.
4 15 14 1 The number of possible n × n magic squares with magic constant b
is given by the set of positive integer solutions to
Table 3.1: Dürers magic square of 1514.
n−1
X n−1
X n−1
X n−1
X
xij = xji = xii = xi,n−i = b .
i=0 i=0 i=0 i=0

for 0 ≤ j ≤ n − 1.
Volumes The most important natural invariant of a convex body is
its volume. Computing the volume of a convex body is in general a
complicated problem. Counting lattice points in multiples of a polytope
is directly related to it. Let P ⊂ Rd be a convex body. As illustrated
in Figure 3.1, we can approximate the volume by counting the volume
of little cubes centered at the more and more refined lattice Zd /k (for
k → ∞).
Z
1 1
vol(P ) = dx = lim d |P ∩ (Zd /k )| = lim d |kP ∩ Zd |
P k→∞ k k→∞ k
1
= lim d ehrP (k )
Fig. 3.1: Approximating a convex k→∞ k
body by smaller and smaller cubes (3.1)

We see that knowing infinitely many values of the Ehrhart counting


function allows to determine the volume. However, if we would know

— 62 — Haase, Nill, Paffenholz: Lattice Polytopes


Chapter 3. Ehrhart Theory (draft of June 28, 2021)

that ehrP (k ) is actually a polynomial function, then by Equation (3.1)


it must have degree d and leading coefficient vol(P ). In particular, the
Ehrhart polynomial would be determined by knowing d + 1 many values
of it. It follows that if the Ehrhart counting function of P is polynomial
with constant term 1 (as we will show later for lattice polytopes P ), then
vol(P ) can be explicitly computed from |kP ∩ Zd | for k = 1, . . . , d. This
looks already very much like a generalization of Pick’s formula (which we
have seen in Pick’s Formula (Theorem 1.8))! In Exercise 3.1, the reader
is invited to work this out explicitly in dimension three. Exercise 3.1
Exploiting the important reciprocity principle which we will also
learn about later in this chapter, one can even show that (and this is
just one possibility of such a generalized Pick’s formula), the volume of
a d-dimensional lattice polytope can be determined from knowing the
number of lattice points in kP for k = 1, . . . , dd/2e together with the
number of interior lattice points of kP for k = 1, . . . , bd/2c. This gives
a nice formula for the volume of a three-dimensional lattice polytope
(see Exercise 3.2) that should satisfy the curiosity of the reader for a
Pick’s formula in dimension three and convey the usefuleness of Ehrhart’s
theorem. Exercise 3.2
Of course, there are many more arguments why Ehrhart polynomials
are important:
É they allow to read off important properties of the polytope,
É their coefficients form a basis for the space of ...,
É they have algebro-geometric analogues,
É ...

3.1.1 Examples of Ehrhart polynomials


In this short section, we compute for some simple examples the counting
function ehrP (k ) of a polytope directly. We will observe that it is indeed
given by a polynomial, and that evaluating at negative integers gives the
number of interior points.
Before we start, we want to give a formal definition of the counting
function. For this, let S ⊆ Rd , and let k ∈ Z>0 . The k-th-dilation of a
set of S is the set

kS := {kx : x ∈ S} .

We introduce the following counting function.


Definition 3.1 The Ehrhart counting function of a bounded subset
S ⊆ Rd is the function

ehrS (k ) : Z≥1 −→ Z≥1

k 7−→ kS ∩ Zd .

Haase, Nill, Paffenholz: Lattice Polytopes — 63 —


Lecture Notes Lattice Polytopes (draft of June 28, 2021)

With this definition we can look at our first examples. Let L :=


L [a, b] ⊂ R, a, b ∈ R be an interval on the real line. Here, counting is easy,
2L L contains bbc − dae + 1 integers. The k-th dilate of P is [ka, kb]. By the
3L same argument it contains bkbc − dkae + 1 integral points, so

Fig. 3.2 ehrL (k ) = bkbc − dkae + 1 .

Figure 3.2 shows the interval I = [0, 32 ] and its second and third dilation.
If the boundary points a and b are integral and a ≤ b, then we can
simplify the formula. In this case also all multiples of a and b are integral,
and we can omit the floor and ceiling operations to obtain

ehrL (k ) = k (b − a) + 1 .

We observe that this is a polynomial of degree 1 in k. We will see that


this observation is a very special case of the Theorem of Ehrhart that we
will prove below.
Now we turn to some examples of polytopes in general dimension
d ≥ 0. Let us first consider the standard simplex

∆d := conv(0, e1 , . . . , ed )

introduced in Definition 2.76. See Figure 3.3 for the lattice points in a
multiple of this ismplex.
Proposition 3.2 Let ∆d be the d-dimensional standard simplex. Then
 
d+k (d + k ) · (d + k − 1) · . . . · (k + 1)
ehr∆d (k ) = = .
d d!
Observe that this is a polynomial in the variable k of degree d with
leading coefficient 1/d! .

Fig. 3.3: Lattice points


Proof. There is a bijection between the lattice points in k ∆d and se-
in a standard simplex. quences of k dots and d bars: to each such sequence, assign the vector
x ∈ Rd whose ith coordinate equals the number of dots between the ith
Exercise 3.3 bar and the (i + 1)st bar for 1 ≤ i ≤ d − 1 (we don’t write down the
number of dots after the last bar, it is determined by the rest):

· · | · · · ||· ←→ x = (2, 3, 0)

This yields a bijection between the sequences and lattice points with
P
non-negative coordinates and with xi ≤ k. u
t
Another simple, but very important example is the unit cube defined in
Example 2.7(1). The k-th dilate of the cube is kCd = k · [0, 1]d = [0, k ]d .
Hence, the Ehrhart counting function is given by

ehrCd (k ) = (k + 1)d .

Note again that this is a polynomial in k of degree d.

— 64 — Haase, Nill, Paffenholz: Lattice Polytopes


Chapter 3. Ehrhart Theory (draft of June 28, 2021)

3.2 Generating Functions for Lattice Points

The examples in the previous sections show that we really want to


investigate lattice points S := P ∩ Zd in polytopes or polyhedra P ⊆ Rd ,
i.e. count them (if the nuber is finite), enumerate them, explore structure
on this set S, or explain their interactions with polyhedral geometry,
algebra and other field.
All of this requires us to first find a way to distinguish lattices points
in a polyhedron from all others, i.e. a way to encode them, preferably in
an efficient and explicit way, that we can easily write down in a short and
concise form. It should be simple from our notation to decide whether a
point is in our list or not.
We have already seen two more indirect ways already above, directly
from the interior and exterior description of a polytope. A lattice point x
is in our set S if it is either a convex combination of the vertices of P or
satisfies all defining inequlities of P . This description is fine for a single
particular lattice point. But it does not tell us much about the whole set
of points, nor about the structure of the set.
For this, we need to find a way to make our description of the set S
more explicit. In a first, rather naïve approach, we could now be tempted
to explicitely list all lattice points in our polytope (this clearly only
works well for bounded objects). To make a simple example, look at the
polytope P3 := [0, 3]. This is the simple segment shown in Figure 3.4.
The naïve approach gives us the list:
Fig. 3.4: The polytope P3 .
0, 1, 2, 3 .

This works well in this small example, but consider the structurally
similar example P10002 := [0, 10002]. Here, our plain list

0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, . . .

easily exceeds a line, and also the length of this book. To get a compact
encoding of the points we need a better idea.
Here is one that might look really strange at first, but will prove to
be very powerful. We can replace each point k ∈ P3 with its monomial tk .
With this we define a polynomial that contains precisely the monomial
corresponding to points in our polytope:
3
X
1+t+t +t 2 3
= ti ,
i=0

The option to write our polynomial as a sum already shows a quite


compact way to encode the lattice points. Observe, that the representation
is not really more complicated for P10002 . However, it is pretty obvious

Haase, Nill, Paffenholz: Lattice Polytopes — 65 —


Lecture Notes Lattice Polytopes (draft of June 28, 2021)

that this particular compact notation as a sum is only possible in very


special cases, so we need to look further.
If you look at the polynomial you may realize that there is another
option to write this more condensed than using a sum: We can also write
this as the geometric series

1 − t4
GP3 (t) := .
1−t
whose expansion is again our polynomial. Again, doing the same for
P10002 does not really make this notation more complicated:

1 − t10003
G[0,10002] (t) := .
1−t
We will see that this idea of using a geometric series to specify the
lattice points in a polyhedron is both sufficiently flexible to work for all
polyhedra, and efficient enough that we can use it to really study the
structure of the set of lattice points.
Her comes another surprising and powerful property of our last
observation. If we try to do write down the lattice points of the unbounded
polyhedron P∞ := [0, ∞), then our first two approaches obviously become
infeasible. However, the third works and turns out to be even shorter
1 If the reader feels slightly wary about and more appealing1 ! As a geometric series we can consisely describe all
what happens at t = 1, be assured that lattice points in P∞ via the monomials in
in our approach here we will not deal
with any analytic convergence issues 1
and will not evaluate at certain values. G[0,∞) (t) := .
1−t
As this extended example suggests, the generating function we used to
encode the lattice points will indeed provide a powerful bookkeeping tool
for counting and enumerating lattice points in polytopes.
It will soon become apparent it is indeed quite useful and natural to
encode lattice points not only in polytopes, but more generally in any
bounded or unbounded subset of Rd , as in the last example of a ray in
R1 . You should keep this in mind for the following considerations.
In the above example of the one-dimensional cone x ≥ 0 ⊆ R we
have seen that we can use rational functions in one variable t to describe
the infinite series of all monomials corresponding to the lattice points in
the cone. We now want to formalize this idea, and directly generalize it
to arbitrary dimensions. Let | be some ground field (you can just think
of | = C, if you like). We assign the monomial

ta := ta11 ta22 · · · tadd

in d variables to a lattice point a = (a1 , . . . , ad ) ∈ Zd . In the above


example all lattice points were non-negative and thus lead to the “usual
kind” of monomials. In general, the coordinates of a are allowed to be

— 66 — Haase, Nill, Paffenholz: Lattice Polytopes


Chapter 3. Ehrhart Theory (draft of June 28, 2021)

negative, so this is a Laurent polynomial living in the Laurent polyonmial


ring

L = |[t±1 ±1
1 , . . . , td ] .

Moreover, note that the sum of monomials for the cone x ≥ 0 is infinite.
Since we do not care about convergence, we will actually consider our
sums not as Laurant polynomials, but as series in a subset of the L-module

L := |t±1
b ±1
1 , . . . , td

of formal Laurent series. We give an example before we write down the


proper definition.
Example 3.3 Let P be the polygon
" #
0 2 2 3
P := conv
1 −1 2 0
(see Figure 3.5). Recall that the convex hull of a matrix is defined to be
the convex hull of the column vectors of the matrix. We list the lattice
points as monomials in the Laurent polynomial

t21 t22
+ t2 + t1 t2 + t21 t2
+ t1 + t21 + t31
Fig. 3.5: The polygon of Example 3.3.
+ t21 /t2 .

Definition 3.4 (integer point series) For S ⊂ Rd the integer point


series G
b S is the formal Laurent series
X
b S (t) : =
G ta ∈ b
L.
a∈S∩Λ

Translating a set S ⊆ Rd by some integral vector a ∈ Zd amounts


to multiplication of its generating series with ta ,
b a + S ( t ) = ta G
G b S (t) .

Remark 3.5 (Warning) When dealing with formal power series and
rational series, one has to be very careful in order not to make a mistake.
Therefore, we would like to give an example here (just for one variable)
that justifies this caution: Consider the following expression of formal
Laurent series
b R (t) (1 − t) = (· · · + t−2 + t−1 + 1 + t + t2 + · · · )(1 − t)
G
= (· · · + t−2 + t−1 + 1 + t + t2 + · · · )
− (· · · + t−1 + 1 + t + t2 + t3 · · · )
= 0

Haase, Nill, Paffenholz: Lattice Polytopes — 67 —


Lecture Notes Lattice Polytopes (draft of June 28, 2021)

Clearly, we deduce

b R (t) = · · · + t−2 + t−1 + 1 + t + t2 + · · · = 0


G = 0 (3.2)
1−t
However, this is wrong! The left side of the last equation is definitely
not zero as a Laurent series. So, where is our mistake? In case the
reader hasn’t already found it, we will explain this apparent riddle in
Remark 3.10.

Actually, not all Laurent series appear as a generating series for lattice
points in polyhedra. The ones we will encounter have a nice additional
structure that we will work out with the next definitions and theorems.
Definition 3.6 (summable Laurent series) A Laurent series G b∈b L
is summable if there is a Laurent polynomial g ∈ L such that the series
gGb is a Laurent polynomial.

Clearly all Laurent polynomials are summable. On the other hand,


the series
X
1 + t2 + t3 + t5 + t7 + t11 + t13 + t17 + . . . = 1 + tk
k prime

cannot be summable. We will denote the set of all summable Laurent


series by Lsum . We leave the proof of the following proposition to the
Exercise 3.4 reader as Exercise 3.4.
Proposition 3.7 Lsum is a L-submodule of b
L. u
t

Example 3.8 Before we continue we want to work out some simple, but
quite important examples of summable series coming from polyhedra.
(1) Let us first consider the polyhedron P∞ = [0, ∞) that we introduced
above. The integer point series is
X
b P (t) =
G ∞ ta = 1 + t + t2 + t3 + · · · .
a∈Z≥0

Using the polynomial g (t) := (1 − t) we obtain g (t)G


b P (t) = 1, so

GP∞ (t) is a summable series.
b
(2) Now let C := cone(e1 , e2 ) for the standard unit vectors e1 , e2 ∈ R2 .
Then
! !
X X X
Gb C (t, s) = ta sb = ta sb
a,b∈Z≥0 a b

= 1 + t + s + t2 + s2 + ts + t3 + · · · .

Similar to the previous case we can use the polynomial

— 68 — Haase, Nill, Paffenholz: Lattice Polytopes


Chapter 3. Ehrhart Theory (draft of June 28, 2021)

g (t, s) := (1 − t)(1 − s)

to obtain
   
X X
g (t, s) · G
b C (t, s) = (1 − t) ·  ta  · ( 1 − s ) ·  sb  = 1.
a∈Z≥0 b∈Z≥0

b C (t, s) is a summable series.


Hence, G
(3) Finally, let V := {e1 , . . . , ed } and C = cone(V ). In the same way,
we see
d
Y X d
Y X
(1 − tei ) · tz = (1 − tei ) · (te1 )n1 · · · (ted )nd = 1
i=1 z∈Zd i=1 (n1 ,...,nd )∈Zd≥0
≥0
(3.3)
b C (t) is summable.
Hence, G

Proposition 3.9 There is a natural homomorphism from summable


series to rational functions

Φ : Lsum −→ R := |(t1 , . . . , td ) ,

mapping G b = f in b
b to f /g if g G L. We will abbreviate this also by writing

b → Φ f
G 7
g
The proof of this proposition is left as Exercise 3.5. Exercise 3.5

Remark 3.10 (Resolving the warning of Remark 3.5) We can now


explain where the mistake was. The equation (3.2) should be replaced by
the following correct expression:
b R (t)) = Φ(· · · + t−2 + t−1 + 1 + t + t2 + · · · )
Φ(G
0
= = 0.
1−t
In other words, not the Laurent series is zero but only its associated
rational function! While it is often very convenient to use the equality
sign ‘=’ between a summable Laurent series and a rational function
(instead of using a cumbersome and non-standard notation such as Φ),
one cannot stress enough that one must be aware that such an equality
only holds on the level of rational functions and not on the level of Laurent
Φ
series. We hope to make this point clear by using the 7−→ symbol instead
in these situations.
In particular, we see from the previous example that Φ is not an injective
map. However, it clearly is for Laurent polynomials (check!). In other
words, L is a submodule of Lsum , and Φ|L is the identity map. A more
general criterion on injectivity is proven in Exercise 3.6. Exercise 3.6

Haase, Nill, Paffenholz: Lattice Polytopes — 69 —


Lecture Notes Lattice Polytopes (draft of June 28, 2021)

Definition 3.11 (integer point generating function) Suppose S ⊆


Rd is a set so that G
b S (t) is summable. The integer point generating
function of S is

GS (t) := Φ(G
b S (t)) .

If S ⊆ Rd is bounded, then we are allowed to identify (see also


Exercise 3.6)
X
GS (t) = ta .
a∈S∩Zd

In the one-dimensional example P∞ = [0, ∞) above we have already


1
computed the image of the generating series in R, it is GP∞ (t) = 1−t .
We can now generalize this observation to rational simplicial cones
(which will be generalized to half-open simplicial cones later). Let
D be a simplicial rational cone in Rd with primitive ray generators
V := {a1 , . . . , ad }. We recall the fundamental parallelepiped of V from
Definition 2.42
( )
X
Π(V ) : = µv v : µv ∈ [0, 1) for v ∈ V
v∈V

We know from Corollary 2.44 that the fundamental parallelepipeds tile


the space without overlap (strictly, there we talked about lattice bases,
however, the same argument works for the generating set V ).
b D (t) is summable with
Proposition 3.12 In this notation, G
y
P
y∈Π(D )∩Zd t
GD (t) = Qd
ai
i=1 (1 − t )

Proof. Let Z≥0 V stand for the set of Z≥0 -linear combinations of V . By
replacing the Laurent monomial tei by tai in (3.3), we get
d
Y X d
Y X
(1 − tai ) · tz = (1 − tai ) · (ta1 )n1 · · · (tad )nd = 1.
i=1 z∈Z≥0 V i=1 (n1 ,...,nd )∈Zd≥0

By Corollary 2.44 we get


d
Y X d
Y X X
(1 − tai ) · tx = (1 − tai ) · ty + z
i=1 x∈D∩Zd i=1 y∈Π(D )∩Zd z∈Z≥0 V
d
Y X X
= (1 − tai ) · tz · ty
i=1 z∈Z≥0 V y∈Π(D )∩Zd
X
y
= t . u
t
y∈Π(D )∩Zd

— 70 — Haase, Nill, Paffenholz: Lattice Polytopes


Chapter 3. Ehrhart Theory (draft of June 28, 2021)

Our integer point generating series contain a monomial for every lattice
point in a set. If we have the series for two sets S, S 0 , then we can obtain
the series for the union S ∪ S 0 by adding the two series and subtracting all
lattice points that we encoded in both series, i.e. the generating series for
the lattice points in the intersection S ∩ S 0 . This principle clearly extends
to the union of any finite number of sets. We can compute the generating
series from the generating series of the sets and all partial intersections
if we keep track of the multiplicities a partial intersection appears in
the total sum. This is called the principle of inclusion-exclusion. You
will study this in more detail in Exercise 3.9. Triangulating a rational
polyhedral cone into rational simplicial cones (see Section 2.2)) and using
P2
inclusion-exclusion (see also Figure 3.6) yields the following general result.

Q
Corollary 3.13 The integer point generating series of a rational poly-
hedral cone is summable. P1

Fig. 3.6: Let Q be the dotted chord


3.3 Ehrhart’s theorem of the polygon and P1 , P2 the two
polygons obtained by cutting P along
Q. Then |P ∩ Z2 | = |P1 ∩ Z2 | + |P2 ∩
After these preparations, let us prove Ehrhart’s theorem. Z2 | − |Q ∩ Z2 |.

Theorem 3.14 (Ehrhart’s Theorem) The Ehrhart counting func-


tion given by k 7→ ehrP (k ) for k ∈ Z≥1 extends to a polynomial function
t 7→ ehrP (t) of degree d and leading coefficient vol(P ).

Definition 3.15 (Ehrhart polynomial) For a polytope P the polyno-


mial ehrP (t) as in the previous theorem is the Ehrhart polynomial of
P.

We have already seen in § 2.1.2 that it is convenient to homogenize a


polytope and work with the cone over P instead of P . Recall that we
have defined C (P ) in (2.2) via

C (P ) := cone ({1} × P ) ⊆ Rd+1 ,

We usually write a vector x ∈ Rd+1 with indices starting from 0 and use
x0 for the special coordinate. See Figure 3.7 for the cone over a triangle.
In our setting the especially convenient property of this representation
of our polytope is the fact that we can recover all dilates of P from C (P ).
More precisely, for any k ≥ 0 we get the k-th dilate of P by intersecting
C (P ) with the hyperplane x0 = k, and the lattice points in kP by
intersecting with {k} × Zd . Hence,
X X
G
b
C (P ) (t, 1, . . . , 1) = kP ∩ Zd tk = 1 + ehrP (t) tk .
Fig. 3.7
k≥0 k≥1

Haase, Nill, Paffenholz: Lattice Polytopes — 71 —


Lecture Notes Lattice Polytopes (draft of June 28, 2021)

As substituting variables clearly keeps summability, by Corollary 3.13


the following definitions make sense.
Definition 3.16 Let P be a lattice d-polytope. The Ehrhart series of P
is the summable formal Laurent series
X
EhrP (t) := 1 +
b ehrP (t) tk ∈ |t
k≥1

in one variable t. The corresponding rational function will be denoted


EhrP (t) := Φ(b
EhrP (t)) ∈ |(t) .

To proceed we consider some well-known results on generating functions.


Lemma 3.17 For j ∈ Z≥0 ,
X k + d − j  Φ zj
z k 7−→ .
d (1 − z )d+1
Z≥0

Exercise 3.7 The proof will be given in Exercise 3.7.


Proposition 3.18 Let f , g : R → R be such that

X Φ g (z )
f (t )z t 7−→ .
t=0
(1 − z )d+1
Then f (t) is a polynomial of degree at most d if and only if g (z ) =
k
P
k∈Z≥0 gk z is a polynomial of degree at most d. In this case:
     
t+d t+d−1 t
f (t) = g0 + g1 + . . . + gd .
d d d
g (1)
and the leading coefficient of f is d! . In particular, f has degree d if
and only if g (1) 6= 0.
Exercise 3.8

Proof. We define the polynomials fj (t) := (t+d−j d ) for 0 ≤ j ≤ d. The


set {fo , . . . , fd } is a basis of R[t]≤d (Exercise 3.8).
Let f be a polynomial of degree at most d. Then there are g0 , . . . , gd
such that
d d  
X X t+d−j
f (t) = gj fj (t) = gj .
d
j =0 j =0
1
td
P
The coefficient of is d! gj . We compute
d   d X t + d − j 
XX t+d−j k X
gj z = gj zk
d d
t≥0 j =0 j =0 t≥0
Pd j
Φ j =0 gj z
7−→
(1 − z )d+1
g (z )
=
(1 − z )d+1

— 72 — Haase, Nill, Paffenholz: Lattice Polytopes


Chapter 3. Ehrhart Theory (draft of June 28, 2021)

For the converse direction, injectivity of Φ on polynomials implies f (t) =


Pd t+d−j
j =0 gj ( d ). Now, we use again the basis property. u
t

Now, let us compute the Ehrhart generating function for lattice simplices.

Proposition 3.19 Let S be a d-simplex. Then


h? (t)
EhrS (t) =
(1 − t )d+1
Pd
where h? is a polynomial of degree ≤ d. Further, for h? (t) = ? k
k = 0 hk t ,
we have

h?k = #(Π(C (S )) ∩ Zd+1 ∩ {x | x0 = k}) ∈ Z≥0 .

In particular, h?0 = 1 and h? (1) 6= 0.

Proof. Let {a0 , a1 , . . . , ad } be the vertex set of {1} × S, with ai = (1, vi )


Fig. 3.8: The boundary complex of a
for i = 0, . . . , d. Applying the substitution (t0 , t1 , . . . , td ) by (t0 , 1, . . . , 1)
triangle
to Proposition 3.12 we obtain that
h? (t0 )
EhrS (t) = + +
( 1 − t0 ) d + 1
for the polynomial h? (t0 ) = (y0 ,y )∈Π(C (S ))∩Zd+1 ty00 .
P

Let (y0 , y ) = di=0 λi (1, vi ) ∈ Π(C (S )) ∩ Zd+1 , so 0 ≤ λi < 1 for


P
− − −
i = 0, 1, . . . , d. In particular, y0 < d + 1, so y0 ≤ d. Moreover, y0 ≥ 0
with equality if and only if also y = (0, 0, . . . , 0). u
t

We have now collected all necessary tools and definitions to prove Fig. 3.9: Inclusion-Exculsion on the
boundary complex
Ehrhart’s Theorem (Theorem 3.14).
Proof (of Ehrhart’s Theorem (Theorem 3.14)). Combining Proposi-
tion 3.19 with Proposition 3.18 we get that the Ehrhart counting function
of an n-dimensional lattice simplex in Rd uniquely extends to a polyno-
mial function of degree at most n.
For a general polytope P we triangulate it into maximal-dimensional
simplices Fi and consider the triangulation of C (P ) into the associated
simplicial cones C (Fi ). Then we apply inclusion-exclusion (e.g. Exer-
cise 3.9). Finally, we use (3.1). u
t
Exercise 3.9

Remark 3.20 At this point it is intuitive, but wrong, to conclude

ehrP (0) = 0P ∩ Zd = 1.

As we will see later in Corollary 3.35, ehrP (0) = 1 does hold if P is a


polytope. But the interpretation as 0P ∩ Zd is wrong as the following
example shows.

Haase, Nill, Paffenholz: Lattice Polytopes — 73 —


Lecture Notes Lattice Polytopes (draft of June 28, 2021)

We can count lattice points in dilations of complexes of lattice poly-


topes. The entire chain of arguments given carries over to this setting.
We obtain a counting function which is the evaluation of a polynomial.
Consider, for example, C to be the boundary of a standard triangle, see
Figure 3.8. Then our counting polynomial turns out to be ehrC (k ) = 3k
with constant coefficient zero! See Figure 3.9. We will come back to this
example in Remark 3.36.
Exercise 3.10
Exercise 3.11
Exercise 3.12
3.4 Stanley’s theorem
Exercise 3.13
Exercise 3.14
3.4.1 Half-Open Decompositions of Cones
Exercise 3.15
Exercise 3.16 The goal of this chapter is to deduce more information about the Ehrhart
polyonomial. For instance, as we have seen in Remark 3.20, we haven’t
even determined what its constant term is! And while we know that the
numerator of the Ehrhart series of a d-dimensional lattice simplex is a
polynomial of degree at most d whose coefficients are all nonnegative
integers, we weren’t able to conclude these strong statements for arbitrary
polytopes from our naive inclusion-exclusion proof of Ehrhart’s theorem.
In fact, this is the content of Stanley’s celebrated theorem, and in order to
prove it we will need a more refined way of decomposing our polytopes into
simplices. The goal is to have no overlap in order to avoid any overcounting
(and thus subtraction). This is called half-open decomposition [9, 31].
There are various ways how to do this. We will use a generic reference
ξ point as an arbiter to decide which points belong to which cells. As above,
the right setting to do this is to consider cones instead of polytopes.

Definition 3.21 (half-open decomposition) Given a vector ξ ∈ Rd ,


we define the half-open cone C ξ with respect to ξ ∈ Rd

Fig. 3.10: Making a cone half open. C ξ := {y ∈ C : y + εξ ∈ C for all ε > 0 small enough} .
The right face and the origin are
not part of the half open cone.
We say ξ ∈ Rd is generic with respect to C (respectively, a triangulation
T of C) if ξ is not in the linear hull of a (d − 1)-dimensional face of C
(respectively, any simplicial (d − 1)-cone in T).

C ξ can also be described as precisely the set of elements in C that are


Exercise 3.17 not visible from ξ (Exercise 3.17). See Figure 3.10 for an example. Let
us note some properties:
É If ξ is generic with respect to C, then

C ξ = {y ∈ C : y + εξ ∈ int C for all ε > 0 small enough} ,

— 74 — Haase, Nill, Paffenholz: Lattice Polytopes


Chapter 3. Ehrhart Theory (draft of June 28, 2021)

É If ξ ∈ C, then C ξ = C, and if ξ is additionally generic, then

C −ξ = int C .

É If ξ ∈ C is generic with respect to a triangulation T of C, then it is


also generic with respect to C. In this case, ξ ∈ int D ⊂ int C for a
unique D ∈ T [d].
Our first goal is to show that making cones half-open is compatible with
decompositions.
Proposition 3.22 Let T be a triangulation of the d-cone C, and let
ξ ∈ Rd be generic with respect to T. Then we have the following disjoint
union:
G
Cξ = Dξ .
D∈T [d]

where T [d] is the set of d-dimensional faces of the triangulation (see


Definition 2.22). x
In particular, if ξ ∈ C is generic with respect to T, then
G G
C = Dξ and int C = D−ξ .
D∈T [d] D∈T [d]

A half-open decomposition in this way is illustrated in Figure 3.11, where


this shows a slice through C containing ξ.

Proof. Let y ∈ Dξ . Then for any ε > 0 small enough y + εξ ∈ int (D ) ⊂ x


int (C ), so y ∈ C ξ . Conversely, let y ∈ C ξ , so y + εξ ∈ int (C ) for any
ε > 0 small enough. This implies that there exists a unique D ∈ T [d] so
that y + εξ ∈ int D for small enough ε > 0. The uniqueness argument
implies disjointness of the union on the right hand side. u
t
Fig. 3.11: A triangulation and its half
We remark that there is also a beautiful generalization of the previous open decomposition.
result using indicator functions described in the book of Hemmecke et
al. [18].
Let us now focus on simplicial d-cones D ⊂ Rd .
Definition 3.23 Let D be a simplicial d-cone in Rd and V = {v1 , . . . , vd } ⊂
Rd the primitive ray generators. Let us note that ξ ∈ Rd is generic with
respect to D if and only if all coefficients λv in the unique representation
P
ξ= λv v are non-zero. We define

I+ (ξ ) := {v ∈ V : λv > 0} and I− (ξ ) := {v ∈ V : λv < 0} .

Using this notation, let us note the following alternative description of a


half-open simplicial cone (Exercise 3.18). Exercise 3.18

Haase, Nill, Paffenholz: Lattice Polytopes — 75 —


Lecture Notes Lattice Polytopes (draft of June 28, 2021)

Lemma 3.24 Let ξ ∈ Rd be generic with respect to a simplicial d-cone


D with primitive ray generators V . Then
( )
ξ
X µv ≥ 0 for v ∈ I+ (ξ ) and
D = µv v : .
µv > 0 for v ∈ I− (ξ )
v∈V
v1 v2 We have seen in Corollary 2.44 how to translate Rd with translates of
0
Πξ ( D ) =Π−ξ (D ) parallelepipeds. In the following, we will use this idea for the half-open
ξ cones Dξ .
ξ’
Definition 3.25 Let D be a simplicial d-cone with primitive ray genera-
0 tors V . In case ξ ∈ Rd is generic, we define the half-open parallelepiped
Πξ (D ) with respect to ξ as
( )
Fig. 3.12: Half open cone and funda- ξ
X µv ∈ [0, 1) for v ∈ I+ (ξ ) and
Π (D ) : = µv v :
mental parallelepiped for ξ and −ξ 0 . µv ∈ (0, 1] for v ∈ I− (ξ )
The dashed lines and the vertices v∈V
with withe points are not part of the Note that Πξ (D ) ⊂ Dξ . See Figure 3.12 for an illustration. For x strictly
cone or fundamental parallelepiped.
in the interior of D we recover the usual half-open fundamental paral-
lelepiped of D with generating set V .
The following result generalizes Corollary 2.44 and is left as Exercise 3.19.
Exercise 3.19

Lemma 3.26 Let V = {v1 , . . . , vd } ⊂ Rd be linearly independent, and


suppose ξ ∈ Rd is generic with respect to the simplicial cone D := cone V .
Denote by Λ the lattice generated by V .
Then any point w ∈ Rd has a unique representation w = y + z with
y ∈ Λ and z ∈ Πξ (D ).
We can further decompose each of the half-open simplicial cones into
half-open boxes. Recall that Z≥0 V stands for the set of Z≥0 -linear
combinations of V .
Proposition 3.27 Let V be the set of primitive ray generators of a
simplicial d-cone D ⊂ Rd , and let ξ ∈ Rd be generic with respect to D.
Then we have the following disjoint union:
G
Dξ = w + Πξ ( D )
w∈Z≥0 V

Proof. The fact that the translates by Λ-vectors are pairwise disjoint
follows from the uniqueness in Lemma 3.26. From the existence part we
see that Rd is covered by all Λ-translates of Πξ (D ). It remains to observe
that for w ∈ Λ

 w + Πξ (D ) for w ∈ Z V
≥0

D ξ ∩ w + Πξ ( D ) =
∅ else,

We leave the verification of this identity to the reader (Exercise 3.20). u


t
Exercise 3.20
Exercise 3.21
Exercise 3.22 — 76 — Haase, Nill, Paffenholz: Lattice Polytopes
Chapter 3. Ehrhart Theory (draft of June 28, 2021)

3.4.2 The integer point generating function of half-open cones

Let us compute the integer point generating series and generating function
for half-open cones.

Corollary 3.28 Let V = {v1 , . . . , vd } ⊂ Zd be a linearly independent


set of primitive vectors, let D = cone V , and let ξ ∈ Rd be generic with
respect to V . Then the integer point generating function of the half-open
cone Dξ is summable, and
GΠξ (D ) (t)
GDξ (t) = . (3.4)
(1 − tv1 )(1 − tv2 ) · · · (1 − tvd )
Using Proposition 3.27 the proof follows precisely along the lines of the
proof of Proposition 3.12 (just replace Corollary 2.44 by Lemma 3.26).
Together with Proposition 3.22 we get the following nice formula.
Corollary 3.29 Let C be a rational cone in Rd , let T be a triangulation
of C into rational simplicial cones, and let ξ ∈ C be generic. Then
X X
b C (t) =
G b ξ (t) , and G
G b int C (t) = b −ξ (t) . (3.5)
G
S S
S∈T [d] S∈T [d]

In particular, both series are summable, and (3.5) also holds on the level
of rational functions.

Proof. Equation (3.5) is a translation of Proposition 3.22 into generating


functions. By Corollary 3.28, all the summands are summable Laurent
series. u
t

3.4.3 Stanley’s theorem and the h∗ -polynomial of a lattice polytope

Let us apply the previous results to cones over lattice polytopes.


Proposition 3.30 Let P ⊂ Rd be a lattice polytope, let T be a triangu-
lation of the cone C (P ) which is induced by a lattice triangulation of P ,
and let ξ ∈ C (P ) be generic. Then bEhrP (t) is summable with sum
P
S∈T [d+1] GΠξ (C (S )) (t, 1)
EhrP (t) = GC (P ) (t, 1) = . (3.6)
(1 − t )d+1
Exercise 3.23
Now, we are nearly done. It remains to show the following lemma,
which we leave to the reader as Exercise 3.24.
Lemma 3.31 Let S ⊂ Rd be a d-dimensional lattice simplex, and let
ξ ∈ Rd+1 be generic. We define

h?i,C (S ),ξ := {y ∈ Πξ (C (S )) ∩ Zd+1 : y0 = i}

Then

Haase, Nill, Paffenholz: Lattice Polytopes — 77 —


Lecture Notes Lattice Polytopes (draft of June 28, 2021)

(1) ξ ∈ int C (S ) if and only if h?0,C (S ),ξ = 1. Otherwise, h?0,C (S ),ξ = 0.


(2) −ξ ∈ int C (S ) if and only if h?d+1,C (S ),ξ = 1. Otherwise, h?d+1,C (S ),ξ =
0.
In particular, di=+01 h?i,C (S ),ξ ≥ 1.
P
Exercise 3.24
Here is the main result of this chapter.
Theorem 3.32 (Stanley’s Non-Negativity Theorem) Let P be a
d-dimensional lattice polytope. Then

h?0 + h?1 t + h?2 t2 + · · · + h?d td


EhrP (t) = ,
(1 − t )d+1
h?1 , . . . , h?d ≥ 0 and h?0 = 1. In particular,
       
t+d ? t+d−1 ? t+1 ? t
ehrP (t) = + h1 + · · · + hd−1 + hd ,
d d d d
(3.7)

Proof. We simply apply Proposition 3.30. In this notation


X
h?0 + h?1 t + h?2 t2 + · · · + h?d td = GΠξ (C (S )) (t, 1)
S∈T [d+1]

From Lemma 3.31 and ξ ∈ int (C (P )) (as ξ is generic), we conclude that


h?0 = 1 and h?d+1 = 0. The last statement follows now from Proposi-
tion 3.18. u
t

Definition 3.33 (h? -polynomial) The polynomial h? that appears in


the numerator of the rational generating function of the Ehrhart series
of P is the h? -polynomial of P .

Example 3.34 Why do we consider the h∗ -polynomial and don’t stick


to the original description? For this, let us consider the Reeve simplex
from (1.1) for m = 13, i.e.

R := conv(0, e1 , e2 , e1 + e2 + 13e3 ) .

Then the Ehrhart polynomial is 1 − 1/6t + t2 + 13/6t3 , however, it’s h∗ -


polynomial is 1 + 12t. This shows why working with the h∗ -polynomial is
so much more convenient: the values are integers and they are nonneg-
ative. As the proof shows, the reason is that they have a nice counting
interpretation as the number of lattice points in half-open parallelepipeds.

Corollary 3.35 Let P be a d-dimensional lattice polytope for d ≥ 0.


Then the following holds:
(1) The constant term of the Ehrhart polynomial is 1 if P is non-empty.
(2) h? (1) = di=0 h?i = d! vol(P ) = nvolZd (P ).
P

— 78 — Haase, Nill, Paffenholz: Lattice Polytopes


Chapter 3. Ehrhart Theory (draft of June 28, 2021)

(3) h?1 = ehrP (1) − d − 1 = |P ∩ Zd | − d − 1.

Proof. (1) This follows from Equation (3.7) by plugging in t = 0.


(2) This follows from Proposition 3.18 (or directly from Equation (3.7)).
(3) This follows from plugging in t = 1 into Equation (3.7).
u
t

Remark 3.36 We already raised the issue of the constant coefficient in


Remark 3.20. Coming back to the boundary C of the standard triangle,
there are two different half-open decompositions.
The one on the left yields an h? -polynomial 1 + t + t2 while the one
Fig. 3.13: Two half open decomposi-
on the right yields 3t. Which one is “correct”? Looking at the cone over tions of the boundary of a triangle.
C, we see that the decomposition on the left contains the origin (once),
while the one on the right does not. This explains the difference:

1 + t + t2 3t
= +1.
(1 − t)2 (1 − t)2
We also see that there is exactly one choice for the multiplicity of the
origin (in this case zero) so that the h? -polynomial has degree ≤ 1 which
we need if we want the counting function to agree with the evaluation of
a polynomial. We will identify this choice with the Euler characteristic in
Remark 3.46 below.
Exercise 3.25
Finally, let us note the following theorem proved by Stanley in [53]. A
completely different proof appears in (Beck, Sottile [9]). The reader can
try to give a proof using the methods developed above in Exercise 3.26.
Theorem 3.37 (Stanley’s Monotonicity Theorem) Let P and Q
be two lattice polytopes such that P ⊆ Q, d = dim Q and let h?P and h?Q
be their h? -polynomials. Then h?P ,i ≤ h?Q,i for all 0 ≤ i ≤ d.
Exercise 3.26

Proof. easy if dim P = dim Q, else, choose ξ 0 ∈ relint Q and wiggle to


generic ξ ∈ relint P . then half-open decomposition from C ξ induces on Q
the same half-open decomposition as ξ 0 . proof missing

Corollary 3.38 For two lattice polytopes P and Q with Q ⊆ P we have


deg Q ≤ deg P . In particular, any face of P has degree at most deg P .
u
t

3.4.4 Where does the h∗ -notation come from?

Example 3.39 h? of ∆d . do half-open simplex as well


+1−k
∆d with k facets removed has (dj + 1−k ) many j-faces.

The origin for the funky notation h? is its close connection to the
h-vector from enumerative combinatorics. Suppose C is a simplicial

Haase, Nill, Paffenholz: Lattice Polytopes — 79 —


Lecture Notes Lattice Polytopes (draft of June 28, 2021)

complex with f0 vertices, f1 edges, and so forth. Then the combinatorial


h-vector of C is defined by the implicit equation
d  
X d+1−k
fj = hk (3.8)
j +1−k
k =0

This is, in fact, an invertible linear transformation between f -vector and


h-vector. Its relation to the h∗ -vector is given by the following result
[11]:

Theorem 3.40 (Betke and McMullen 1985) Let P be a lattice poly-


tope with a triangulation T. Let h? be the h? -vector of P and h the h-vector
of the triangulation. Then hk ≤ h?k for 0 ≤ k ≤ d with equality if and
only if the triangulation is unimodular.

Proof. The number of simplices with k facets removed in a half-open


decomposition satisfies the h-vector equation. Such a simplex has a box
point at height k, so it contributes one to h?k . It contributes more if the
simplex was not unimodular. u
t

3.5 Reciprocity

The interior of L = [a, b] is int L = (a, b). For integers a, b we can count
the lattice points inside int L:

ehrint L (k ) = k (b − a) − 1 .

Evaluating ehrL (k ) at −k for some positive integer k gives

ehrL (−k ) = (−k )(b − a) + 1 = − ((−k )(b − a) − 1) = −ehrint L (−k ) .

So for intervals the Ehrhart polynomial evaluated at negative integers


counts (up to a sign) the lattice points in the interior of the interval. This
would be a nice property, but maybe the example of an interval is too
special to conjecture such a relation in general. So let us compute the
interior lattice points in a more complicated example.
We consider the d-dimensional standard simplex ∆d that we have
already seen in the beginning of this chapter. We use the following
observation to count lattice points in the interior ∆d . As we only want to
count the lattice points in the interior of the k-th dilate of the simplex,
we can first consider all lattice points and then leave out lattice points

(1) that have a 0 among their coordinates, or


(2) whose coordinates sum up to k.

— 80 — Haase, Nill, Paffenholz: Lattice Polytopes


Chapter 3. Ehrhart Theory (draft of June 28, 2021)

This just means that we only want to count lattice points that satisfy
the inequalities xi ≥ 1 for 1 ≤ i ≤ d, and whose coordinates sum up to
at most k − 1. Hence, we want to count lattice points in the set defined
by the inequalities
d
X
xi ≥ 1 and xi ≤ k − 1 .
i=1

Translating this by 1 ∈ Rd gives the simplex defined by the inequalities


d
X
xi ≥ 0 and xi ≤ k − d − 1 ,
i=1

and this simplex clearly contains the same number of lattice points. We
have computed this number in Proposition 3.2, so
 
k−1
ehrint ∆d (k ) = .
d

We see that also the number of interior lattice points is a polynomial in


k of degree d. From
     
d−k d k−d+d−1 d k−1
= (−1) = (−1)
d d d

we can conclude that

ehrint ∆d (k ) = (−1)d ehr∆d (−k ) .

We can make the same observation as for the interval: The lattice points
in the interior of the k-th dilation of the simplex are (up to a sign) the
evaluation at −k of the Ehrhart polynomial!
Let us check one more example, before we attempt to prove our
observation. Consider the standard unit cube Cd . Counting the interior
points in this case is rather simple. We obtain

ehrint C (k ) = (k − 1)d = (−1)d ((−k ) + 1)d = (−1)d ehrC (−k ) ,

and again, the number of lattice points in the interior is given by the
Ehrhart polynomial evaluated at negative values.

3.5.1 Stanley reciprocity for cones

 x = (x1 , . . . , xd ) ∈ (R − {0}) . Then


d d 1
Let x denotes the vector
1 1
x1 , . . . , xd .

Haase, Nill, Paffenholz: Lattice Polytopes — 81 —


Lecture Notes Lattice Polytopes (draft of June 28, 2021)

Lemma 3.41 Let D ⊂ Rd be a simplicial cone with primitive generators


V = {v1 , . . . , vd }, and let ξ ∈ Rd be generic.
Then the map
α : Πξ (V ) ∩ Zd+1 −→ Π−ξ (V ) ∩ Zd+1
d
X
ξ 7−→ vi − ξ
i=0
is a bijection.
Proof. Let y ∈ Πξ (V ), so y has a representation of the form
X X
y= λv v + µv v for 0 < λv ≤ 1, 0 ≤ µv < 1
v∈I v∈J
Hence
X d X X
vi − y = ( 1 − λv ) v + (1 − µv )v ∈ Π−ξ (V ) ∩ Zd+1 ,
i=0 v∈I v∈J
which proves the claim. u
t
It follows from Corollary 3.29 (pick −ξ ∈ int C) that G
b int C (t) is also
a summable Laurent series.
Theorem 3.42 (Stanley’s Reciprocity Theorem) Let C be a d-di-
mensional polyhedral cone with rational generators. Then
 
1
GC (t) = (−1)d Gint C .
t
Proof. Let T by a triangulation of C and ξ ∈ C generic as above. For
S ∈ T [d] let V (S ) be the set of primitive generators of S, and let
P
s(S ) = v∈V (S ) v denote their sum. Then, Lemma 3.41 implies
 
X X 1
GΠ ξ ( S ) ( t ) = ta = ts(S )−a = ts(S ) GΠ−ξ (S ) .
t
a∈Π (S )∩Z
ξ d −ξ da∈Π (S )∩Z
By Corollary 3.29 and Corollary 3.28 we can just sum up this equation
over all maximal cones to obtain the desired result:
X X GΠξ (S ) (t)
GC (t) = GS ξ (t) = Q v
S∈T [d] S∈T [d] v∈V (S ) (1 − t )

X ts(S ) GΠ−ξ (S ) 1t

= Q v
S∈T [d] v∈V (S ) (1 − t )

GΠ−ξ (S ) 1t

X
d
= (−1) Q 1
S∈T [d] v∈V (S ) (1 − tv )
   
d
X 1 d 1
= (−1) GS −ξ = (−1) Gint C . u
t
t t
S∈T [d]
It is important to note that Stanley’s theorem is clearly wrong on the
level of Laurent series!

— 82 — Haase, Nill, Paffenholz: Lattice Polytopes


Chapter 3. Ehrhart Theory (draft of June 28, 2021)

3.5.2 Ehrhart-Macdonald reciprocity for lattice polytopes

Finally, we can formalize our observation from the beginning of this


section.
Theorem 3.43 (Ehrhart-Macdonald Reciprocity) Let P ⊆ Rd be
a d-dimensional lattice polytope with Ehrhart polynomial ehrP (t), and let
k ∈ Z>0 . Then

ehrP (−k ) = (−1)d | int kP ∩ Zd | .

The proof needs a little fact about the map Φ that maps summable
Laurent series to rational functions.

Lemma 3.44 Let f be a polynomial. Then


Φ
X
f (k )tk 7−→ 0.
k∈Z

Proof. It suffices to prove this for the basis fm := (t+mm), m ∈ Z≥0 , of


R[t]. So pick some m. Then
X X k + m Φ 1
k
fm ( k ) t = tk 7−→ .
m (1 + t )m+1
k≥0 k≥0

We compute the other sum:


X X k + m X −k + m
k
fm (k )t = k
t = t−k
m m
k≤−1 k≤−1 k≥1

   
X k − 1 −k X k − 1 −k
= (−1)m t = (−1)m t
m m
k≥1 k≥m+1

X k + m
m −(m+1)
= (−1) t t−k
m
k≥0

1 (−1)m
= (−1)m t−(m+1) 1 m+1 =
(1 − t) tm+1 (1 − 1t )m+1

(−1)m (−1)m+1 (−1)m 1


= +
= +
= − .
(t − 1) m 1 (1 − t) m 1 (1 − t )m+1
u
t

Using this we can finally prove our reciprocity theorem.

Haase, Nill, Paffenholz: Lattice Polytopes — 83 —


Lecture Notes Lattice Polytopes (draft of June 28, 2021)

Proof (Ehrhart-Macdonald Reciprocity (Theorem 3.43)). We make two


computations:
 
X
Φ | int kP ∩ Zd | tk  = Gint C (P ) (t, 1, . . . , 1) ,
k≥1

and, using Lemma 3.44 for the second equation,


   
X X 1
Φ (−1)d ehrP (−k ) tk  = Φ (−1)d ehrP (k ) k 
t
k≥1 k≤−1
 
X 1
= Φ (−1)d+1 ehrP (k ) k 
t
k≥0
 
1
= (−1)d+1 EhrP
t
 
1
= (−1)d+1 GC (P ) , 1, . . . , 1
t
Theorem 3.42 and Exercise 3.6 imply
X X
| int kP ∩ Zd | tk = (−1)d ehrP (−k ) tk .
k≥1 k≥1

Comparing coefficients of these two Laurent series gives the desired result.
u
t
As an immediate application we can compute the Euler characteristic.
Proposition 3.45 (Euler-Characteristic) Let S be a subdivision of
the rational polytope P ⊂ Rd into rational polytopes. Then
X
(−1)dim F = 1 .
∅6=F ∈S

The restriction to rational objects is an artefact of our method and is not


necessary for the validity of the assertion.

Proof. Scaling P and S by a positive integer, we can assume that S


contains only integral polytopes. Using the disjoint decomposition of P
into the relative interiors of faces of S we see that for all k ∈ Z≥1
X
|kP ∩ Zd | = | relint kF ∩ Zd | .
F ∈S

Thus, by Ehrhart-Macdonald Reciprocity (Theorem 3.43), we have an


equality X
ehrP (t) = (−1)dim F ehrF (−t)
F ∈S
of polynomials. Evaluating at t = 0 and applying Corollary 3.35(1) yields
the desired identity. u
t

— 84 — Haase, Nill, Paffenholz: Lattice Polytopes


Chapter 3. Ehrhart Theory (draft of June 28, 2021)

Remark 3.46 The same argument shows that the constant coefficient
of the counting polynomial of a complex of lattice polytopes equals the
Euler-characteristic of the complex: ehrC (0) = χ(C). This resolves the
riddle raised in Remarks 3.20 and 3.36.

3.6 Properties of the h∗ -polynomial

As an immediate application of the results about counting lattice points


that we have obtained so far we prove some facts about the relation
between the geometry or combinatorics of lattice polytopes and their
h? -vector. We will obtain more such results in the following chapters.

3.6.1 Degree and codegree of lattice polytopes

Let us give some more applications regarding the h? -polynomial.


Definition 3.47 (Degree and Codegree) The degree of P is defined
as
deg(P ) := max(k ∈ Z≥0 : h?k 6= 0).
The codegree of P is defined as

codeg(P ) := d + 1 − deg(P ).

Ehrhart’s theorem implies 0 ≤ deg(P ) ≤ d, so 1 ≤ codeg(P ) ≤ d + 1.


The degree of a lattice polytope can be seen as an algebraic measure of
the complexity of a lattice polytope. Its concrete geometric interpretation
is given by the codegree.

Corollary 3.48 The codegree of a d-dimensional lattice polytope equals


the smallest positive integer k such that kP contains an interior lattice
point.

Proof. This follows from Lemma 3.49 and the Ehrhart-Macdonald Reci-
procity (Theorem 3.43). u
t
Exercise 3.27

Lemma 3.49 Let p be a polynomial of degree d with rational generating


function
X h?0 + h?1 t + h?2 t2 + · · · + h?d td
p(t)z t =
t≥0
(1 − t )d+1

Then h?d = h?d−1 = . . . = h?k+1 = 0 and hk 6= 0 if and only if p(−1) =


p(−2) = . . . = p(−(d − k )) = 0 and p(−(d − k + 1)) 6= 0. In this case,
h?k = p(−(d + 1 − k )).

Haase, Nill, Paffenholz: Lattice Polytopes — 85 —


Lecture Notes Lattice Polytopes (draft of June 28, 2021)

The proof is left as Exercise 3.28. Applied to our situation this has the
following immediate consequence. Exercise 3.28

Corollary 3.50 Let P be a lattice polytope. The highest non-zero coeffi-


cient h?deg(P ) of h? equals the number of lattice points in int((codeg P )P ).
u
t
Finally, using reciprocity it is possible to compute the second highest
Exercise 3.29 coefficient of the Ehrhart polynomial.
Proposition 3.51 Let P be a lattice polytope with Ehrhart polynomial
ehrP (t) = c0 + c1 t + c2 t2 + · · · + cd td . Then cd−1 equals half of the
normalized surface area of the boundary of P .
You will prove this result in Exercise 3.29.
The following proposition is immediate from the fact that the sum
of the coefficients of the h? -polynomial is the lattice volume and that the
linear coefficient counts the number of lattice points minus (d + 1).
Proposition 3.52 A d-dimensional lattice polytope P has lattice volume
nvolZd (P ) = |P ∩ Zd | − d if and only if deg(P ) ≤ 1.
In particular, P has lattice nvolZd (P ) = 1 if and only if its degree
deg(P ) is 0. In this case P is the standard simplex. u
t

Proposition 3.53 Let P be a lattice polytope of degree deg P ≤ k. Then


int F ∩ Zd = ∅ for all faces F of P of dimension at least k + 1.

Proof. Assume there is a face F of P of dimension k + 1 that contains a


relative interior lattice point v. Then there are k + 2 vertices u1 , . . . , uk+2
of F such that
k
X +2 k
X +1
v = λi ui λi = 1 and λi > 0 for 1 ≤ i ≤ k +2.
i=1 i=1

Further, we can find d − 1 − k vertices uk+3 , . . . , ud+1 of P such that


u1 , . . . , ud+1 is affinely independent. Consider
k +2 d +1
X 1 X 1
v 0 := λi ui = ui .
d−k d−k
i=1 i=k +3

This is a point in int P . Now (d − k )v 0 is integral, so (d − k ) int P ∩ Zd 6=


∅. Thus, codeg P ≤ (d − k ), or deg P ≥ k + 1.

In particular, this implies that for deg P = 0 only the vertices are lattice
points, and for deg P = 1 the only lattice points that are not vertices
are on the edges of P .
Let X = {x1 , . . . xk } ⊆ P ∩ Λ be a set of k lattice points that is not
entirely contained in a proper face of P . Then x := x1 + · · · + xk is an
interior lattice point of kP . This proves the next propisition.

— 86 — Haase, Nill, Paffenholz: Lattice Polytopes


Chapter 3. Ehrhart Theory (draft of June 28, 2021)

Proposition 3.54 Let P be a d-dimensional lattice polytope of degree


at most s. Then any subset W ⊆ P ∩ Λ of at most d − s lattice points is
contained in a proper face of P . u
t
We have viewed these propositions so far by first fixing the dimension.
We could swap this view and fix the degree. Then the proposition for
example tells us that in a polytope of dimension d ≥ s + 2 any two lattice
points must be in a common face.
Let P be a d-dimensional lattice polytope in Rd . We define the lattice
pyramid over P as

Pyr(P ) := conv(P × {0}, ed+1 ) ⊆ Rd+1 ,

where e1 , . . . , ed+1 is the standard basis of Rd+1 . See Figure 3.14 for an
example. In Exercise 3.30 you will show the following proposition.

Proposition 3.55 For a lattice polytope P the lattice pyramid Pyr(P )


Fig. 3.14: A lattice pyramid over a
of P has the same h? -polynomial as P . u
t unit square

Definition 3.56 (Lawrence Prism) A Lawrence prism with heights Exercise 3.30
Exercise 3.31
h1 , . . . , hd ≥ 0 and h1 + · · · + hd ≥ 2

is the polytope
 
0, e1 , . . . , ed−1 ,
Law(h1 , . . . , hd ) := conv .
e1 + h1 ed , . . . , ed−1 + hd−1 ed , hd ed

Let ∆22 := 2 ∆2 . This is sometimes called the exceptional triangle. We


have the following proposition.
Proposition 3.57 Let P be a k-fold lattice pyramid over a lawrence
prism or the exceptional triangle for some k ≥ 0. Then P has degree 1.

Proof. The h? -polyonmial of the exceptional triangle is 1 + 3t, which


proves this part of the proposition. Further, lattice pyramids do not
change the h? -polynomial, so we only have to check the proposition for
lawrence prisms.
For a lawrence prism L := Law(h1 , . . . , hd ) we have a natural lattice
projection π : L → ∆d−1 . Hence, if kL has an interior lattice point, then
so has k ∆d−1 . Hence k ≥ d, and deg L ≤ 1.
As by assumption h1 + · · · + hd−1 ≥ 2 for L we can find d lattice
points not contained in a common face of L, so dL contains an interior
lattice point. Hence, deg L = 1. u
t

Definition 3.58 A lattice polytope P is empty if the vertices are the


only lattice points in P .

Haase, Nill, Paffenholz: Lattice Polytopes — 87 —


Lecture Notes Lattice Polytopes (draft of June 28, 2021)

Proposition 3.59 Let P be a lattice polytope of degree at most 1 such


that no lattice point is strictly between two other lattice points. Then P
is empty.

Proof. By Corollary 3.38 any face of P has degree at most 1. Hence, no


lattice point can be in the interior of a k-dimensional face for k ≥ 2. u
t
Exercise 3.32

Proposition 3.60 Let P be a lattice polytope of degree deg P = 1 such


that V(P ) = P ∩ Zd . Then P is a simplex or there are u1 , u2 , u3 , u4 ∈
V(P ) such that

u1 + u2 = u3 + u4 .

Proof.

3.6.2 Ehrhart polynomials of lattice polygons

As an example, we will completely classify Ehrhart polynomials of lattice


polygons in this section. Essentially, the main work was already done in
the Chapter 1 by proving Scott’s inequlity (Theorem 1.10). Now, we just
Fig. 3.15 have to exploit the properties of the h? -polynomial.
Proposition 3.61 A polynomial h?2 t2 + h?1 t + 1 for h?1 , h?2 ∈ Z≥0 is the
(1, i + 1) h? -polynomial of a lattice polygon if and only if
(1) h?2 = 0 and h?1 is arbitrary. Then P has no interior lattice points.
(2) h?2 = 1 and h?1 = 7. Then P = ∼ 3∆2 .
? ? ?
(3) 1 ≤ h2 ≤ h1 ≤ 3h2 + 3. Then P has interior lattice points.
(2, b − 4)
See Exercise 3.34 for concrete examples.

Proof. Let us first show that these conditions are necessary. Note that h?2
is the number of interior lattice points i, while h?1 = b + i − 3, where b is the
number of boundary lattice points. Moreover, vol(P ) = nvolZd (P )/2 =
(1 + h?1 + h?2 )/2. Hence, Scott’s theorem tells us that, if i ≥ 1 and P 6= ∼
3∆2 , then h1 ≤ 3h2 + 3. Finally, if i ≥ 1, then h2 = i ≤ h1 = b + i − 3,
? ? ? ?

since b ≥ 3.
(0, 0) (2, 0) It suffices to realize lattice polygons satisfying each of these conditions.
For i = 0, any b ≥ 3 can be realized by lattice polygons of the form
Fig. 3.16: Lattice polygons re-
alizing 4 ≤ b ≤ 2i + 6 as depicted in Figure 3.15. In fact, it is not difficult to show that these
In fact, as Exercise 3.33 shows these are precisely the lattice polygons
without interior lattice points.
Let i ≥ 1. The condition h?2 ≤ h?1 ≤ 3h?2 + 3 is equivalent to 3 ≤ b ≤
2i + 6. The case b = 3 is easy to realize, so let b ≥ 4. Then any of these
cases is realized by Figure 3.16. u
t

— 88 — Haase, Nill, Paffenholz: Lattice Polytopes


Chapter 3. Ehrhart Theory (draft of June 28, 2021)

All possible pairs (h?1 , h?2 ) are depicted in Figure 3.17. Let us now deduce
all Ehrhart polynomials c2 t2 + c1 t + 1 of lattice polygons. By Pick’s
Theorem 1.8 c2 equals the area of P , and by Proposition 3.51, c1 is
half the number of boundary lattice points of P . The following theorem
characterizes all pairs (c1 , c2 ) that correspond to an Ehrhart polynomial
of a polygon.
Corollary 3.62 A polynomial c2 t2 + c1 t + 1 with c1 , c2 ∈ 1/2Z and
c1 ≥ 3/2 defines the Ehrhart polynomial of a lattice polygon P if and only
if one of the following three conditions is satisfied:
Fig. 3.17: (h?2 , h?1 ) of lattice polygons
(1) c1 − c2 = 1. Then P has no interior lattice points.
(2) c1 = c2 = 9/2. Then P is 3∆2 .
(3) c1 ≤ c2/2 + 2. Then P has interior lattice points.
Exercise 3.34

3.6.3 Polytopes with Small Degree

3.7 Brion’s theorem

The goal of this final section is the celebrated Theorem of Brion. It relates
for any lattice d-polytope the integer point generating functions of all
vertex cones of P to the integer point generating function of the polytope.
Let P be a rational d-dimensional polytope and F a face of P . Recall
the tangent cone of F in P from Definition 2.29:

TF P := {v ∈ Rd : ∃ w ∈ F , ε > 0 : w + ε(v − w ) ∈ P } .

The tangent cone is the common intersection of all supporting half-spaces


at F . We have seen in Proposition 2.30 that the shifted cone TF P − x
for some x ∈ F is dual to the normal cone of F .
We can use the generating series of tangent cones to compute the
generating series of the polytope.
Theorem 3.63 (Brianchon-Gram Theorem) Let P be a rational d-
polytope. Then
X
b P (t) =
G (−1)dim F G
b T P (t) ,
F
F P

where the sum is over all non-empty faces of P .


The Brianchon-Gram identity is valid more generally on the level of
indicator functions. In order to prove it, we need to study the complex
of visible faces. We say that a face F of a polytope P is visible from a
point v 6∈ P if for some (equivalently every) w ∈ relint F the segment
conv(v, w ) intersects P only in w.

Haase, Nill, Paffenholz: Lattice Polytopes — 89 —


Lecture Notes Lattice Polytopes (draft of June 28, 2021)

Lemma 3.64 F is visible from v if and only if v 6∈ TF P .

Proof. If v 6∈ TF P , there is a separating linear functional a:

h a, v i > maxh a, TF P i ≥ maxh a, P i .

But then, this strict inequality is true for every point of the form (1 −
λ)v + λw for λ ∈ [0, 1). So none of them can belong to P . That is, F is
visible from v.
If, conversely, v ∈ TF P , we know that there are w0 ∈ F and an ε > 0
so that v 0 := w0 + ε(v − w0 ) ∈ P . Further, taking a smaller ε if necessary,
we can assume that w00 := w + ε(w − w0 ) ∈ F , because w ∈ relint F . But
then the point

ε2 v + (1 − ε2 )w = (1 − ε)w00 + εv 0

belongs to both conv(v, w ) and to P , and F is not visible from v. u


t

Corollary 3.65 If P is a rational polytope and v 6∈ P a rational point,


then the set visibleP (v ) of faces of P visible from v is a polyhedral complex,
and as such is isomorphic to a rational subdivision of a rational polytope.

Proof. From the definition of visibility we see that G  F ∈ visibleP (v )


implies G ∈ visibleP (v ). So visibleP (v ) is a subcomplex of the boundary
of P .
Let H be a rational hyperplane separating v from P , and consider
m the rational polytope Q := H ∩ conv(P ∪ {v}). Then

H ∩ conv(F ∪ {v}) : F ∈ visibleP (v )

is a subdivision of Q which is combinatorially isomorphic to visibleP (v ).


u
t

Proof (of the Brianchon-Gram Theorem (Theorem 3.63)). Think of the


Laurent polynomial on the left hand side as an infinite Laurent series that
contains all possible monomials, but most coefficients are 0. To prove this
Fig. 3.18: m 6∈ P . The
complex S is drawn in red. relation we compare coefficients of an arbitrary monomial tm on both
sides. We have to distinguish the two cases m ∈ P and m 6∈ P .

(1) m ∈ P : Then m ∈ TF P for every non-empty face F of P . Hence, the


coefficient of tm on the right hand side is
X
(−1)dim F = 1 ,
∅6=F P

using Euler’s relation.

— 90 — Haase, Nill, Paffenholz: Lattice Polytopes


Chapter 3. Ehrhart Theory (draft of June 28, 2021)

(2) m 6∈ P : See Figure 3.18. By Lemma 3.64, the coefficient of tm on the


right hand side is
X X
(−1)dim F − (−1)dim F = 1 − 1 = 0 ,
∅6=F P ∅6=F ∈visibleP (m)

using the fact that the Euler-characteristic of visibleP (m) is 1 by


Corollary 3.65 and Remark 3.46.
u
t
Now recall the map Φ : b L −→ R that we introduced in Section 3.2.
There we have only applied it to pointed polyhedral cones. We now
want to study this map also in the case of cones that have a nontrivial
lineality space. Recall that for a cone C the lineality space is defined as
lin(C ) := C ∩ (−C ). It is the maximal linear subspace contained in C.
We start with a simple example that explains the basic idea of our
next theorem. Consider the sets
C + := [0, ∞) ⊂ R C − := 3 − C + = (−∞, 3] P := [0, 3] .
C0 is a one-dimensional cone, and P is the intersection of C0 and C − ,
P = C + ∩ C − . We compute the integer point generating function and
the image under Φ for C + and C − . The series are
X
b + (t) =
GC tk
k≥0
X X X
b − (t) =
GC tk = t3 tk = t3 t−k ,
k≤3 k≤0 k≥0

so we obtain the functions


1
GC + (t) = Φ(G
b + (t)) =
C
1−t
b − (t)) = t3 1 −t4
GC − (t) = Φ(GC 1 =
1− t
1−t
The integer point generating function of P is the finite geometric series
1 − t4
b P (t) = GP (t)
G = = 1 + t + t2 + t3 .
1−t
We observe that
GP (t) = GC + (t) + GC − (t) .
Using the construction of the map Φ we can make the following symbolic
calculation
GP (t) = Φ(G
b C + (t)) + Φ(G
b − (t)) = Φ(G
C
b C + (t) + G
b − (t))
C

= Φ(G
b R+P (t)) = Φ(G
b R (t)) + Φ(G
b P (t))

This can only hold if Φ(Gb R (t)) = 0, i.e. if Φ maps the infinite series
k
P
k∈Z t to 0. The following proposition shows that this indeed holds in
general for cones with nontrivial lineality space.

Haase, Nill, Paffenholz: Lattice Polytopes — 91 —


Lecture Notes Lattice Polytopes (draft of June 28, 2021)

Proposition 3.66 Let C ⊆ Rd be a polyhedral cone with integer point


b C (t). If lineal C 6= {0} then Φ(G
series G b C ) = 0.

Proof. Let v ∈ lineal(C ) − {0}. Then Rv ⊆ C, so that


tv G
b C (t) = G
b C (t) .

Applying the map Φ gives


tv Φ ( G
b C (t)) = Φ(G
b C (t)) ⇐⇒ ( 1 − tv ) Φ ( G
b C (t)) = 0 .

v 6= 0 implies Φ(G
b C ) = 0. u
t
We can apply the observation of this proposition to obtain a very simple
formula for the integer point generating function of a polytope.
Theorem 3.67 (Brion’s Theorem) Let P be a rational d-polytope.
Then
X
GP ( t ) = GTv P (t) .
v vertex of P

Proof. Apply the map Φ to both sides of the Brianchon-Gram Identity of


Brianchon-Gram Theorem (Theorem 3.63). The only non-pointed tangent
cones are those originating from a vertex of P , so by Proposition 3.66
only the contributions of the vertices are non-zero on the right hand
side. u
t
Exercise 3.35
Exercise 3.36
Example 3.68 Let P be the = 0/1-square in R2 . See Figure 3.19. Then
(0, 1) (1, 1) 1 x
GP (x, y ) = + 1
(1 − x)(1 − y ) (1 − x )(1 − y )
y xy
+ +
(1 − x)(1 − y1 ) (1 − x1 )(1 − y1 )
(0, 0) (1, 0) 1 −x2
= +
(1 − x)(1 − y ) (1 − x)(1 − y )
Fig. 3.19
−y 2 x2 y 2
+ +
(1 − x)(1 − y ) (1 − x)(1 − y )
(1 − x2 )(1 − y 2 )
=
(1 − x)(1 − y )
= 1 + x + y + xy
So GP (1, 1) = 1 + 1 + 1 + 1 = 4.
The theorem provides us with a general method to explicitly compute the
function GP (t). We have seen in Corollary 3.28 how we can compute the
integer point generating series of a simplicial cone. To use this formula
in the Theorem of Brion we triangulate the polytope P , and compute
the generating function of each simplex in the triangulation (including
the lower dimensional ones). We then sum up the generating functions
using the principle of inclusion-exclusion.

— 92 — Haase, Nill, Paffenholz: Lattice Polytopes


Chapter 3. Ehrhart Theory (draft of June 28, 2021)

3.8 Problems
included on page 63
3.1. Determine a formula for the volume of a 3-dimensional lattice
polytope using the number of lattice points in the k-multiple for
k = 1, 2 and 3.
included on page 63

3.2. Determine a formular for the volume of a 3-dimensional lattice


polytope using |P ∩ Z3 |, | int (P ) ∩ Z3 |, |2P ∩ Z3 |.
The reader is also invited to find many more such formulas by
using different values of the Ehrhart polynomial.
included on page 64

3.3. Show
∞  
X k+d k 1
x = .
d (1 − x )d+1
k =0

(Why is the equality sign justified here?)


included on page 68

3.4. The goal of this exercise is to give a proof of Proposition 3.7.


(1) Show that the set Lsum of summable Laurent series is an L-
submodule of L̂, i.e. show that for f ∈ L and g, h ∈ Lsum also
f · g and g + h are summable.
(2) Prove that this turns Φ into a homomorphism of L-modules,
i.e. show that Φ(f · g ) = f Φ(g ) and Φ(f + g ) = Φ(f ) + Φ(g ).
included on page 69

3.5. Prove that there is a natural homomorphism from summable series


to rational functions

Φ:b
L −→ R := |(x1 , . . . , xd ) ,

mapping G b = f in b
b to f /g if g G L.
included on page 69

3.6. Let S, S 0 be subsets of the a (possibly translated) pointed cone in


Rd . Then GS (t) = GS 0 (t) implies Gb S (t) = G
b S 0 (t).
included on page 72

3.7. Prove Lemma 3.17.


Hint: do j = 0 first
included on page 72

3.8. Zeige dass (t+d−j


d ) mit j = 0, . . . , d eine Basis des Vektorraums der
Polynome vom Grad ≤ d ist.
included on page 73

3.9. Let subsets S1 , . . . , Sm of Rd be given. Then


X
GbS
Si ( t ) = (−1)|I|+1 G
bT
Si (t) .
i∈[m] i∈I
∅6=I⊆[m]

Remark: This is just the usual inclusion-exclusion formula for sets.

Haase, Nill, Paffenholz: Lattice Polytopes — 93 —


Lecture Notes Lattice Polytopes (draft of June 28, 2021)

included on pa

3.10. Determine the Ehrhart polynomial of the reeve tetrahedron defined


in (1.1) for m ∈ Z≥1 .
What do you observe for m = 20?
included on page 74

3.11. Let P be a lattice polytope with Ehrhart polynomial ehrP (t).


Compute the Ehrhart polynomial of the bipyramid over P .
included on page 74

3.12. Compute the Ehrhart polynomial of the cross polytope.


included on page 74

3.13. Let P be a d-dimensional lattice polytope with Ehrhart polynomial


Pd k
k =0 ck t . Show that

1
cd−1 = vol(∂P ).
2
Here, vol(∂P ) denotes the surface area of P , namely,
X
vol(∂P ) := vol(F ),
F ∈F(P )

where F(P ) is the set of facets of P and vol(F ) denotes the (non-
normalized) volume with respect to the lattice aff (F ) ∩ Zd . For

instance, note that vol(conv((1, 0), (0, 1))) equals 1 and not 2.
Hence,

vol(∂ conv((1, 0), (0, 1), (−1, 0), (0, −1))) = 4 .


included on page 74

3.14. A simplex which is unimodularly equivalent to the standard sim-


plex is called unimodular. A triangulation is unimodular if all its
simplices are.
(1) For a k-dimensional unimodular simplex ∆ and t ∈ Z≥1 show
that
 
t−1
|Zk ∩ relint(t∆)| = .
k

(2) Suppose P admits a unimodular triangulation T with f0 (T )


vertices, f1 (T ) edges, . . . , fd (T ) d-simplices. Show that
d  
X t−1
ehrP (t) = fk ( T ) .
k
k =0

(3) Conclude that any two unimodular triangulations have the


same f -vector (f0 , . . . , fd ) .
included on page 74

— 94 — Haase, Nill, Paffenholz: Lattice Polytopes


Chapter 3. Ehrhart Theory (draft of June 28, 2021)

3.15. Prove that the coefficients of the Ehrhart polynomial of a d-


dimensional lattice polytope are in Z/d!.

3.16. For integers p,q with gcd(p, q ) = 1 define the tetrahedron


 
0101
∆pq = conv 0 0 1 p .
000q

(1) Argue that its vertices are its only lattice points. (White
proved a converse: every lattice tetrahedron with only four
lattice points is unimodularly equivalent to a ∆pq .)
(2) Compute the Ehrhart polynomial and the h? -polynomial of
∆pq .
(3) For which parameters are ∆pq and ∆p0 q0 unimodularly equiva-
lent?
included on page 74

3.17. Let ξ ∈ Rd and C a d-cone. Then

C ξ = {y ∈ C : yε ∈ C for all ε > 0 small enough} ,

where yε := (1 − ε)y + εξ.


included on page 75

3.18. Prove Lemma 3.24.


included on page 76

3.19. Prove Lemma 3.26.


included on page 76

3.20. Check carefully and rigorously the last identity in the proof of
Proposition 3.27.
included on page 76

3.21. Show directly that C\C [x) is a union of faces of C.


included on page 76

3.22. Let T be a triangulation of a full-dimensional cone C. Show that


there is always a generic element ξ ∈ int (C ).
included on page 77

3.23. Consider the polygon with vertices (0, 0), (1, 0), (0, 2), (2, 4). Com-
pute, using a half-open decomposition GC (P ) (t1 , t2 , t3 ).
included on page 78

3.24. Prove Lemma 3.31.


included on page 79

3.25. Let Q, P be lattice polytopes with Q ⊆ P . Show that there exists


a triangulation of P that restricts to a triangulation of Q.
Hint: Let V denote the set of vertices. Choose first a generic regular
triangulation w : V(Q) → R, leading to linear functions lσ
on simplices σ of the triangulation. Now, choose generic values
of w on V(P )\V(Q) such that w (v ) > lσ (v ) for all σ in the
triangulation of Q and vertices v ∈ V(P )\V(Q).

Haase, Nill, Paffenholz: Lattice Polytopes — 95 —


Lecture Notes Lattice Polytopes (draft of June 28, 2021)

included on pa

3.26. Let Q, P be lattice polytopes with Q ⊆ P . Show Stanley’s Mono-


tonicity Theorem (Theorem 3.37)

h∗Q ≤ h∗P coefficientwise.

Hint: Choose a triangulation as in Exercise 3.25.


.
included on page 85

3.27. Give a direct geometric proof using Carathéodory’s Theorem (The-


orem 2.4) that codeg(P ) ≤ d + 1 for a d-dimensional lattice poly-
tope.
included on page 86

3.28. Prove Lemma 3.49.


included on page 86

3.29. Prove Proposition 3.51.


included on page 87

3.30. Show that h?Pyr(P ) = h?P for a lattice polytope P .


included on page 87
3.31. Let m ∈ Z≥1 . Use Exercise 3.30 to show that
k
X
fm (k ) := jm
j =1

is a polynomial in k. What is its degree and leading coefficient?


included on page 88

3.32. Calculate the h∗ -polynomial of an empty 3-dimensional lattice


polytope P with a vertices and of normalized volume b. Here
empty means that any lattice point in P is a vertex of P . Deduce
the h∗ -polynomials of the tetrahedra ∆pq of Exercise 2.2. Check
that you get the same solution for the Ehrhart polynomial as before
:-)
included on page 89

3.33. Let P be a lattice polygon. Show that P has no interior lattice


points if and only if P is unimodular equivalent to 2∆2 or it
is unimodularly equivalent to conv((0, 0), (a, 0), (0, 1), (0, b)) for
some a, b ≥ 0.
included on page 89

3.34. Are
(1) 1 + 8t + t2
(2) 1 + 9t + t2
(3) 1 + 2t + 2t2
(4) 1 + t + 2t2

— 96 — Haase, Nill, Paffenholz: Lattice Polytopes


Chapter 3. Ehrhart Theory (draft of June 28, 2021)

h∗ -polynomials of a lattice polygon?

3.35. Compute the Ehrhart generating function of P = [0, 1]2 using the
Brion’s Theorem (Theorem 3.67).

3.36. Apply Brion’s identity to


" #
0 223
P := conv
1 −1 2 0

and verify that both rational functions coincide (you may want to
use a computer for this).

Haase, Nill, Paffenholz: Lattice Polytopes — 97 —


Geometry of Numbers
4
Contents
4.1 Minkowski’s Theorems . . . . . . . . . . . . . . . . . . . 100
4.2 Coverings and Packings . . . . . . . . . . . . . . . . . . 104
4.3 Flatness Theorem . . . . . . . . . . . . . . . . . . . . . . . 108
4.4 Finiteness of lattice polytopes with few
interior lattice points . . . . . . . . . . . . . . . . . . . . 109
4.4.1 Finiteness of barycentric coordinates of
lattice simplices . . . . . . . . . . . . . . . . . . . . . . . . 110
4.4.2 Coefficient of asymmetry . . . . . . . . . . . . . . . . 113
4.4.3 Bounding the volume . . . . . . . . . . . . . . . . . . . 114
4.5 Lower Bounds . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
4.6 Empty lattice simplices . . . . . . . . . . . . . . . . . . 117
4.7 Lattice polytopes without interior lattice
points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
4.8 Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126

Geometry of numbers deals with the relation between two objects:


convex bodies on the one hand, and lattices one the other hand. A typical
question in this area is whether and how the volume and the number of
lattice points of convex body are related.
The term “geometry of numbers” was coined by Minkowski who used
convex geometric methods, in particular his fundamental theorem Corol-
lary 4.3, in order to bound class numbers in algebraic number theory.
In the 20th century geometry of numbers has grown into an established
field of research with connections into many branches of mathematics.
Lecture Notes Lattice Polytopes (draft of June 28, 2021)

While most of the theory treats general convex bodies, in these notes
we will focus on those tools which we need to prove results that apply
only to lattice polytopes.

4.1 Minkowski’s Theorems

Minkowski’s two theorems are the basis of this whole branch of discrete
mathematics. Both essentially tell us something about generators of
the lattice and prove that we can find such generators with a bounded
Euclidean length. The theorems, of which we will only prove the first, are
however not constructive. We will remedy this in Chapter 6. Throughout,
Λ ⊂ Rd is a lattice of rank d (the reader may think of Zd ).
A set K ⊆ Rd is centrally symmetric if x ∈ K implies −x ∈ K.
Definition 4.1 A subset K ⊆ Rn is a convex body if K is bounded and
convex. The set of convex bodies in Rd is deneted by C. The subset of
centrally symmetric convex bodies is C0 .

Note that the definition of the term convex body varies in the literature.
The following theorem establishes a fundamental correspondence between
lattice points in a centrally symmetric convex body and its volume.
Theorem 4.2 (van Der Corput, 1935) Let K ⊂ Rd be a centrally
symmetric convex set. Then

vol(K ) ≤ 2d |K ∩ Λ| det Λ .

If K is compact, then the inequality is strict.


Minkowski’s First Theorem, that he proved almost forty years earlier, is
now a direct corollary of this. This result is the fundamental theorem in
this area and it is considered to be the starting point of the theory.

Corollary 4.3 (Minkowski’s First Theorem, 1898) Let K ⊆ Rd


be convex and centrally-symmetric with vol K > 2d det Λ.
Then there exists a 6= 0 in K ∩ Λ. If K is also compact, then it
suffices to assume vol K ≥ 2d det Λ. u
t
Exercise 4.1
Exercise 4.2 For the proof of these results we need the following lemma, which uses a
beautiful pidgeonhole-style argument to prove that the intersection of a
sufficiently large set with some affine translate of the lattice is large.

Lemma 4.4 (Generalized Blichfeldt’s Theorem, 1914) Let S ⊆


Rd be a (Lebesgue measurable) set with vol(S) > m det(Λ) for a
positive integer m. Then there exist m + 1 pairwise distinct points
p1 , . . . , pm+1 ∈ S such that pi − pj ∈ Λ for all i, j.

— 100 — Haase, Nill, Paffenholz: Lattice Polytopes


Chapter 4. Geometry of Numbers (draft of June 28, 2021)

Proof. By considering a sufficiently large subset, we may assume that S is


bounded. Choose a closed fundamental parallelepiped (see Definition 2.42) x
Π := Π(Λ) of Λ. Note that det Λ = vol Π. For any x ∈ Λ let

Sx := {y ∈ Π | x + y ∈ S} = Π ∩ (S − x) x+S

Note that Sx 6= ∅ if and only if x ∈ (S − Π) ∩ Λ. As S − Π is bounded,


Exercise 2.14 implies that there are only finitely many x ∈ Λ with Sx 6= ∅.
This implies that the function 0
X
f := idx ,
x∈Λ S

where idx is the indicator function on Sx (i.e., it evaluates to 1 on Sx and


0 elsewhere), is well-defined. Using that fundamental parallelepiped tile
the space (Corollary 2.44) we compute Fig. 4.1
Z XZ X
f dx = idx dx = vol(Sx )
Π x∈Λ Π x∈Λ
X X
= vol(Π ∩ (S − x)) = vol(S ∩ (x + Π)) = vol(S)
x∈Λ x∈Λ
Z
> m det Λ = m dx
Π

Hence there is y ∈ Π with f (y ) > m. Since f only evaluates to integers,


we get f (y ) ≥ m + 1. In particular, there exist x1 , . . . , xm+1 ∈ Λ such
that y ∈ Sx1 ∩ · · · ∩ Sxm+1 . Therefore, defining pi := y + xi ∈ S for
i = 1, . . . , m + 1 yields m + 1 points which have the desired properties. (a) The set S and the fun-
u
t damental parallelepiped Π

Now, we can easily prove van der Corput’s Theorem (Theorem 4.2).

Proof (of van der Corput’s Theorem (Theorem 4.2)). We will give an
indirect proof. Let us assume that y

vol(K ) > m2d det(Λ)

for a positive integer m. Our goal is to show that there exist m distinct (b) And the shifted
pairs of non-zero lattice points ±x1 , . . . , ±xm in K. Together with the intersections with the fun-
damental parallelepiped
origin this will give 2m + 1 lattice points in K.
K
Let T := 12 K. Then vol T = vol 2d
> m det Λ. Hence, by Gen- Fig. 4.2: Illustrating the proof of
eralized Blichfeldt’s theorem (Lemma 4.4), there are m + 1 distinct Generalized Blichfeldt’s theorem
(Lemma 4.4)
points p1 , . . . , pm+1 ∈ T such that pi − pj ∈ Λ for all i, j. Choose
xi := pi − pm+1 for i = 1, . . . , m as the desired lattice points. Note
that xi = pi + (−pm+1 ) ∈ T + T = K.
Let K be compact and vol K = 2d det Λ. Since K is compact, for
each x ∈ 2K\K there exists 0 < x < 1 such that x 6∈ (1 + x )K.

Haase, Nill, Paffenholz: Lattice Polytopes — 101 —


Lecture Notes Lattice Polytopes (draft of June 28, 2021)

Boundedness of 2K implies that 2K has only finitely many lattice points.


Let  be the minimum over x for all x ∈ (2K\K ) ∩ Λ. This choice
ensures that (1 + )K and K have the same set of lattice points (note
that αK ⊆ α0 K for 0 < α < α0 as K is centrally-symmetric and convex).
Since vol((1 + )K ) > 2d det Λ, the result follows. u
t
Centrally-symmetric convex bodies with the origin as their only
interior lattice point which have maximal volume 2d det(Λ) are also
called extremal bodies. Minkowski’s theorem does not tell us how to find
the integral point, it just tells us it exists. There are polynomial time
algorithms to explicitly find such a point, but only for a much larger
volume bound. See Section 6.4 on the LLL-Algorithm for a method.
Finding a short lattice vector is a very important problem in integer
optimization and in cryptography, see e.g. [24, 49, 50]. Although we cannot
0
easily compute a shortest vector of a lattice, Minkowski’s Theorem at
least allows us to estimate the length of such a vector.
Proposition 4.5 Let Λ ⊂ Rd be a lattice. Then there is a vector v ∈
Λ \ {0} such that

kvk ≤ d(det Λ) /d .
1

Proof. Let Vd be the volume of the d-dimensional unit ball Bd and


Fig. 4.3: A triangle in the plane choose
together with two scaled copies
det Λ /d
 1
with scaling factors λ1 and λ2 . α := 2 . (4.1)
Vd
Then
vol(α Bd ) = αd Vd ≥ 2d det Λ .
By Minkowski’s First Theorem (Corollary 4.3) there is a non-zero lattice
point v in α Bd , hence, of length at most α. We need to estimate the size
of α.
The volume of the unit ball is
2πe /2
d  d/2
π bd/2c 2dd/2e

4
Vd : = Q ≈ ≥ ,
0≤i<d/2 (d − 2i) d d
√ d
where the first approximation follows from Stirling’s formula d! ≈ 2πd de
adn the second from 2πe ≥ 4. Inserting this into (4.1) proves the result.
u
t
Exercise 4.3

Definition 4.6 (Successive Minima) Let K ∈ C0 . For 1 ≤ k ≤ d we


define the k-th successive minimum of K to be the number
λk := λk (K ) := inf {dim lin(λK ∩ Λ) ≥ k}.
λ>0

For K = Bd we call λk := λk (Bd ) the k-th successive minimum of the


lattice Λ. See also Figure 4.3.

— 102 — Haase, Nill, Paffenholz: Lattice Polytopes


Chapter 4. Geometry of Numbers (draft of June 28, 2021)

Then

λ1 ≤ λ2 ≤ · · · ≤ λd .

Note that λ1 > 0 as Λ is discrete. The following corollary is equivalent


to Minkowski’s First Theorem (Corollary 4.3).
Corollary 4.7 Let K ∈ C0 . Then λd1 vol K ≤ 2d det Λ .

Note that a compact centrally symmetric convex body defines a norm


k.kK on Rd via

kxkK := max ( µx ∈ K ) ,
µ

and any norm is of this form.


Proposition 4.8 Let K ∈ C0 be compact and Λ ⊆ Rd be a lattice with
successive minima λ1 , . . . , λd with respect to K. Then there is a (vector
space) basis v1 , . . . , vd ∈ Λ such that kvi kK = λi for 1 ≤ i ≤ d.

Proof. Pick some index 1 ≤ j ≤ d. By definition of λj there is a se-


quence (wi )i≥1 ⊆ Λ of lattice vectors such that limi→∞ kwi k = λj . For
sufficiently large i we have wi ∈ 2K. K is compact, so we can find a
convergent sub-sequence wik , converging to some vector w. We need
to prove that w ∈ Λ. By definition, limk→∞ kw − wik kK = 0, so for
sufficiently large k

kw − wik kK < λ1/2 .

The triangle inequality then implies for sufficiently large k, l

kwik − wil kK ≤ kw − wik kK + kw − wil kK < λ1 .

But wil − wil is a lattice vector, so wik = wil for sufficiently large k, l.
Hence, wik = w for sufficiently large k, and w is a lattice vector. u
t

Remark 4.9 The vectors found in the previous proposition need not be
a basis of the lattice Λ. For an example, the lattice polytope

P := conv (±e1 , ±e2 , ±(e1 + e2 + 2e3 ))

in the lattice Z3 is centrally symmetric and its lattice points are the
vertices and the origin. Hence, the successive minima are λ1 = λ2 =
λ3 = 1, but no subset of the vertices is a lattice basis of Z3 .

The following result is a cornerstone of the theory of successive minima.


We will not prove this much stronger theorem here. A proof of the upper
bound can be found in [26].

Haase, Nill, Paffenholz: Lattice Polytopes — 103 —


Lecture Notes Lattice Polytopes (draft of June 28, 2021)

Theorem 4.10 (Minkowski’s Second Theorem, 1896) Let K ∈ C0 .


Then
1 d
· 2 det Λ ≤ λ1 · · · λd vol K ≤ 2d det Λ.
d!
Theorem 4.11 (Minkowski, 1910) Let K ⊂ Rd be a centrally sym-
metric convex set with int (K ) ∩ Λ = {0}. Then |K ∩ Λ| ≤ 3d .

Proof. We may choose Λ = Zd . Assume the statement fails. We consider


the map ϕ : Zd → (Z/3Z)d given by assigning each coordinate its
congruence class modulo 3. This is a homomorphism (so ϕ(x ± y ) =
ϕ(x) ± ϕ(y )). Note that (Z/3Z)d has 3d elements. Hence, by the pigeon
hole principle there exist two distinct lattice points x, y ∈ Zd with
ϕ(x) = ϕ(y ). Therefore, ϕ(x − y ) = 0, thus
x−y
p := ∈ Λ.
3
Since K is centrally symmetric,
x −y 2
0 6= p = + ∈ K.
3 3 3
This contradicts the assumption in the theorem. u
t

Recently, it was shown that up to unimodular transformations the stan-


dard cube [−1, 1]d is the only centrally-symmetric lattice polytope with
int (K ) ∩ Λ = {0} and |K ∩ Λ| = 3d [20].
Theorem 4.12 (Betke, Henk, Wills, 1993 [10]) Let K ∈ C0 . Then
 d
2
(a) Packing of the square |K ∩ Z | ≤n
+1
λ1
lattice
Proof. proof missing

Conjecture 4.13 (Betke, Henk, Wills, 1993 [10]) Let K ∈ C0 . Then


d  
Y 2
|K ∩ Z | ≤
n
+1 .
λi
i=1

(b) Packing of the hexagonal


lattice
4.2 Coverings and Packings
Fig. 4.4: The packing ra-
dius for different lattices
For r > 0 and z ∈ Rd let

Br (z ) := {x ∈ Rd | kx − zk < r}

be the open ball of radius r around z. In this section we consider the


configuration of all translates of such a ball to all lattice points. We want

— 104 — Haase, Nill, Paffenholz: Lattice Polytopes


Chapter 4. Geometry of Numbers (draft of June 28, 2021)

to determine for which radii these translates are pairwise disjoint or cover
the whole space, and relations between these two. We start with the first
and introduce the packing radius of a lattice, which is the largers redius
of a ball such that any two translates to a lattice point either coincide or
are disjoint.
Definition 4.14 (packing radius) Let Λ be a lattice in Rd . The pack-
ing radius is

%(Λ) := sup (Br (x) ∩ Br (y ) = ∅ for all x, y ∈ Λ) ,


r>0

i.e. the largest r > 0 such that the open balls of radius r around any two
distinct lattice points do not intersect.
Exercise 4.4
See Figure 4.4 for some examples. You will prove the folloing lemma in
Exercise 4.4.
Proposition 4.15 Let Λ ⊆ Rd be a lattice and v a shortest non-zero
lattice vector in Λ. Then %(Λ) = 12 kvk. u
t
Exercise 4.5
Recall that the dual of a lattice Λ is defined to be the set of all linear
functionals that map lattice points to integers. This is itself a lattice Λ?
?
in Rd .

Proposition 4.16 Let Λ be a lattice in Rd with dual lattice Λ? . Then

%(Λ) · %(Λ? ) ≤ d/4 .

Proof. By Proposition 4.15 the packing radius is half the length of a


shortest non-zero lattice vector, and by Proposition 4.5 we can bound
this length with
1√ 1√
d(det Λ) /d % ( Λ? ) ≤ d(det Λ? ) /d
1 1
%(Λ) ≤
2 2
both for Λ and its dual. The proposition now follows as det Λ · det Λ? = 1.
u
t
Exercise 4.6
Now we switch the view and want to find out how large we need to make
the radius of our balls so that the translates cover the wohle space. This
is captured with the next definition.

Definition 4.17 (Covering Radius) Let Λ be a lattice in Rd . The


covering radius is

µ(Λ) := max d(x, Λ) ,


x∈Rd

i.e. the largest possible distance between any point in Rd and its nearest
lattice point.

Haase, Nill, Paffenholz: Lattice Polytopes — 105 —


Lecture Notes Lattice Polytopes (draft of June 28, 2021)

See Figure 4.5 for an example. The reader should convince her- or himself
that the covering radius is indeed well-defined and finite. In particular, the
maximum is attained for some point x ∈ Rd (by a standard compactness
argument).
Lemma 4.18 Let Λ be a lattice with successive minima λ1 , . . . , λd and
linearly independent vectors v1 , . . . , vd such that λi = kvi k for 1 ≤ i ≤ d.
Then Fig.
of the
1
µ(Λ) ≥ kvi k for 1 ≤ i ≤ d .
2 Exercise 4.7

Proof. Let u = 1/2vd . Assume there is w ∈ Λ such that d(u, w ) < 1/2kvd k.
Then

kwk ≤ kuk + d(u, w ) < kvd k ,

so u cannot be linearly independent of v1 , . . . , vd−1 by the choice of vd .


Hence, w is in the span of v1 , . . . , vd−1 . But then 2w − vd is linearly
independent, and

k2w − vd k = k2(w − u)k < kvd k

again contradicting the choice of vd . Hence, d(u, Λ) = d(u, 0) = 12 kvd k.


This implies that
1 1
µ(Λ) ≥ kvd k ≥ kvi k
2 2
for 1 ≤ i ≤ d, where the latter follows from kvd k ≥ kvi k for all i. u
t

Proposition 4.19 Let Λ be a lattice in Rd with dual lattice Λ? . Then

4 µ ( Λ ) · % ( Λ? ) ≥ 1

Proof. Let Λ be a lattice with successive minima λ1 , . . . , λd and linearly


independent vectors v1 , . . . , vd ∈ Λ such that λi = kvd k for 1 ≤ i ≤ d.
Let u be a shortest non-zero lattice vector in Λ? . Proposition 4.15 and
Lemma 4.18 imply for any 1 ≤ i ≤ d

4 µ(Λ) · %(Λ? ) = 2 µ(Λ) · kuk ≥ kvi k · kuk . (4.2)

The vectors v1 , . . . , vd are a basis, so for at least one i we have |vi (u)| ≥ 1.
Hence, for that i

kvi k · kuk ≥ 1 ,

which, together with (4.2) implies the claim.

The following theorem is the key ingredient for the flatness theorem that
we will prove in Section 4.3.

— 106 — Haase, Nill, Paffenholz: Lattice Polytopes


Chapter 4. Geometry of Numbers (draft of June 28, 2021)

Theorem 4.20 Let Λ be a lattice in Rd with dual lattice Λ? . Then

4 µ(Λ) · %(Λ? ) ≤ d /2 .
3

Our proof of this theorem is based on an argument by Schnorr, Lagarias,


and Lenstra [36].
Proof. We use induction over d. For d = 1 we have, for some λ > 0,

Λ = λZd and Λ? = λ−1 Zd .

Thus, µ(Λ) = λ/2 and %(Λ? ) = λ−1/2, so that 4 µ(Λ) %(Λ? ) = 1.


Now let d > 1. We choose a shortest non-zero lattice vector v ∈ Λ.
Then kvk = 2 %(Λ). Let L be the orthogonal complement of v with
projection π : Rd → L and Γ := π (Λ). Then Γ is a lattice in L and
Γ ? ⊆ Λ? by Exercise 2.33. Hence

% ( Γ ? ) ≥ % ( Λ? ) . (4.3)

We now want to bound µ(Λ). For this, let x ∈ Rd , y = π (x) and u a


closest point to y in Γ . Then

ku − yk ≤ µ(Γ ) .

Consider the line π −1 (u). Any two neighboring lattice points of Λ on this
line have distance kvk. Hence, we can pick a point w ∈ Λ ∩ π −1 (u) such
that
1
d(x, w + (y − u)) ≤ kvk .
2
Using the right angled triangle x, w, w + (y − u) we compute

kx − wk2 ≤ kx − (w + (y − u))k2 + ky − uk2 .

Now x was chosen arbitrary, so we can assume it is a point with maximum


distance to the lattice and we can estimate (note that w need not be a
lattice point closest to x)
1
µ(Λ)2 ≤ kx − wk2 ≤ µ(Γ )2 + kvk2 = µ(Γ )2 + %(Λ)2 .
4
Hence, we obtain

µ ( Λ ) 2 · % ( Λ ? ) 2 ≤ µ ( Γ ) 2 · % ( Λ? ) 2 + % ( Λ ) 2 · % ( Λ? ) 2
≤ µ ( Γ ) 2 · % ( Γ ? ) 2 + % ( Λ ) 2 · % ( Λ? ) 2
1
≤ (d − 1)3 + d2
16
≤ d3 ,

where the second inequality follows from (4.3), the third from Proposi-
tion 4.16 and the fourth by induction. This proves the theorem. u
t

Haase, Nill, Paffenholz: Lattice Polytopes — 107 —


Lecture Notes Lattice Polytopes (draft of June 28, 2021)

4.3 Flatness Theorem


Playing around with two-dimensional convex sets the reader may get the
impression that a convex body without interior lattice points cannot be
arbitrarily wide. Indeed this is a fundamental fact in the geometry of
numbers. The following considerations are based on an argument given
in [5].
Definition 4.21 (width) Let Λ ⊆ Rd be a lattice with dual lattice Λ? .
Let K ⊂ Rd be a full-dimensional convex body. The width of K with
respect to a non-zero lattice vector a ∈ Λ? is defined as

width(K; a) := max a(x) − min a(x).


x∈K x∈K

We define the width of K with respect to Λ as

widthΛ (K ) := inf (width(K; a) : a ∈ Λ? \ {0}).

You will show in Exercise 4.8 that for full-dimensional convex bodies the
infimum is actually a minimum, and in Exercise 4.9 that the width of
convex bodies with dimension less than the ambient dimension is actually
Exercise 4.8 0. Recall that an ellipsoid is the image of a ball (in some norm)
Exercise 4.9 under an affine linear map. See Definition A.2 for a full definition and
the whole Appendix A for properties. Our approach to bound the lattice
width of empty convex bodies will proceed in three steps. We first prove
it for balls, then extend to ellipsoids and finally use Theorem A.5 to
approximate an arbitrary convex body with ellipsoids from the interior
and the exterior. The following lemma does the first two steps.
Lemma 4.22 Let Λ be a lattice, v ∈ Λ? a shortest non-zero lattice vector
and E an ellipsoid such that E ∩ Λ = ∅. Then widthv (E ) ≤ d3/2 .
Proof. We prove this first for the case that E is a ball. In this case we
know by Proposition 4.15 that kvk = 2 %(Λ? ). Let r be the radius of the
ball. Then r ≤ µ(Λ). Now

widthv (E ) = rkvk = 2 %(Λ? ) µ(Λ) ,

and the latter is at most d3/2 by Theorem 4.20.


For the extension to ellipsoids we use that the bound d3/2 obtained
is independent of the lattice. Further, any ellipsoid is a linear image of
a ball and the image of a lattice Λ for a non-singular linear map T is a
lattice.
More precisely, let x 7→ T x + t be the affine map such that T (E ) = B
is a ball, and let Λ0 := T (Λ). Then Λ0 is a lattice in Rd and B ∩Λ0 = ∅.
Hence, for a shortest non-zero vector v 0 ∈ Λ0 , its preimage c := T −1 v and
a shortest non-zero vector vw ∈ Λ we have

widthw (E ) ≤ widthv0 (E ) = widthv (B) ≤ d /2 .


3
u
t

— 108 — Haase, Nill, Paffenholz: Lattice Polytopes


Chapter 4. Geometry of Numbers (draft of June 28, 2021)

We can extend our bound for the width of a convex body from balls and
ellipsoids to general convex bodies with empty interior, albeit only with
a weaker right hand side. The key observation for this is Theorem A.5,
which tells us the we can estimate any convex body from the interior and
exterior with a suitably chosen ellipsoid.
Theorem 4.23 Let K ⊂ Rd be a convex body with K ∩ Λ = ∅. Then
5
widthΛ (K ) ≤ d 2 .

Proof. Let E be a maximum volume ellipsoid in K with center z. Then


also E ∩ Λ = ∅. Let v be a shortest non-zero lattice vector in Λ such
that width(E; v ) ≤ d3/2 by the previous Lemma 4.22.
Clearly, the width of K is translation invariant, so we can assume
that z is the origin. By Theorem A.5 we deduce K ⊆ dE, and thus

widthv (K ) ≤ d widthv (E ) ≤ d · d /2 = d /2 .
3 5
u
t

Remark 4.24 In fact, the bound of the previous theorem can be strength-
ened to be of order d3/2 , so that
 3
widthΛ (K ) ≤ O d 2 .

Note that the upper bound only depends on the dimension and not on
the given lattice. It is unknown and an active subject of current research,
whether the sharp bound is actually of the form O (d).

4.4 Finiteness of lattice polytopes


with few interior lattice points
If a lattice polytope does not have interior lattice points, its volume Fig. 4.6: An arbitrarily big rational
can be arbitrarily large. However, if the polytope is centrally symmetric, triangle with one interior lattice point

Minkowski’s First Theorem (Corollary 4.3) shows that its volume is


bounded, if it contains only one interior lattice point. The same statement
0 1 2 3 n −n
4 −n 2−1n
3 −n
is wrong without central symmetry. The examples in Figure 4.6 have one
non-lattice vertex. The reader will not be able to construct such examples Fig. 4.7: An arbitrarily big triangle
of arbitrary large volume and only one interior lattice point using lattice without interior lattice points

polytopes. The reason for this is one of the arguably most important
finiteness result about lattice polytopes. We prove here a qualitative
version, following and extending an idea of Borisov & Borisov [14] (see
also [13, Theorem 4.1]).

Theorem 4.25 Given positive integers d, i, there is a bound V (d, i)


so that every lattice d-polytope with exactly i interior lattice points has
volume less than V (d, i).

Haase, Nill, Paffenholz: Lattice Polytopes — 109 —


Lecture Notes Lattice Polytopes (draft of June 28, 2021)

For dimension d = 2, Scott’s theorem Theorem 1.10 makes this result


precise. In general, this is still subject of current research. From Corol-
lary 2.83 we derive a powerful finiteness theorem.
Corollary 4.26 Given positive integers d, i, there are, up to lattice
equivalence, only finitely many lattice d-polytopes with exactly i interior
lattice points.

4.4.1 Finiteness of barycentric coordinates of lattice simplices

For the proof of Theorem 4.25 we need to investigate the barycentric


coordinates of interior lattice points in simplices, if the number of interior
lattice points is bounded. The trick is to consider a quite general setup.
Let T d := Rd /Zd . Any element in T d has a unique representative
in the half-open standard square [0, 1)d , see Figure 4.8. We denote the
quotient map Rd → T d by x 7→ [x]. We consider the open simplex
d
X

∆d := {x ∈ Rd : xi > 0 for all i = 1, . . . , d and xi < 1} ⊂ Rd
Fig. 4.8: The torus T d i=1

and its (bijective) image in T d

∆d := {[x] ∈ T d : x ∈ ◦∆d } ⊂ T d .

For y ∈ T d , let us define the generated subgroup hyi = {ky : k ∈ Z} ⊂


T d . For the considerations in the next paragraph the following is the
crucial definition:

Mid := {y ∈ ∆d : |hyi ∩ ∆d | ≤ i} ⊂ T d

Example 4.27 Let d = 2, y := [(1/2, 1/3)] ∈ ∆2 . Then

hyi = {[(0, 0)], [(1/2, 1/3)], [(0, 2/3)], [(1/2, 0)], [(0, 1/3)], [(1/2, 2/3)]}.

See Figure 4.9 for an illustation. Hence, hyi ∩ ∆d = {[(1/2, 1/3)]},


thus, y ∈ M12 .

The main result of this section will be the following proposition.


Proposition 4.28 Mid is finite.
Note that so far there is no lattice involved! This is all just about
Fig. 4.9: An element y ∈ M12 and hyi
subgroups of the torus of finite order. In order to relate this to our lattice
polytope problem, let us recall the notion of barycentric coordinates. If a
d-dimensional simplex S has vertices v0 , . . . , vd , then any point x in S can
be uniquely written as x = β0 v0 + · · · + βd vd with β0 + · · · + βd = 1 and
β0 , . . . , βd > 0. Here, x is in the interior of S if and only if β0 , . . . , βd > 0.
Now, the relation to our problem about lattice polytopes is given by the
following observation.

— 110 — Haase, Nill, Paffenholz: Lattice Polytopes


Chapter 4. Geometry of Numbers (draft of June 28, 2021)

Corollary 4.29 Let S ⊂ Rd be a d-dimensional lattice simplex with


i := | int (S ) ∩ Λ| ≥ 1. For vertices v0 , . . . , vd of S, we define the bijective
map
d
X
β : int (S ) → ∆d , βi vj 7→ [(β1 , . . . , βd )] .
j =0

Then

β (int (S ) ∩ Λ) ⊆ Mid .

So the set of barycentric coordinates an interior lattice point of such a


simplex can have is finite.

Proof. The map β is called barycentric coordinates. It is linear and


thus yields a homomorphism Rd → T d . As k times a lattice point
w ∈ int(S ) ∩ Λ is a lattice point we have hβ (w )i ∩ ∆d is contained in
β (int (S ) ∩ Λ).
We may assume that after a lattice translation v0 = {0}. Let x =
Pd
i=1 βi vi ∈ int (S ) ∩ Λ, and y : = β (x) = [(P β1 , . . . , βd )] ∈ ∆d . If for
d
k ∈ Z≥0 , ky ∈ ∆d , then there exists x = 0 0
i=1 βi vi ∈ int (S ) with
β (x ) = [(β1 , . . . , βd )] = ky = [(kβ1 , . . . , kβd )]. This implies that βi0 −
0 0 0

kβi ∈ Z for i = 1, . . . , d, thus


d d
! !
X X
0 0
x = (βi − kβi )vi + k βi vi ∈ Λ .
i=1 i=1

Hence, the number of elements in hyi ∩ ∆d is at most the number of


elements in int (S ) ∩ Λ which is i. This proves y ∈ Mid . u
t

In other words, there are only finitely many barycentric coordinates


possible for interior lattice points in a lattice simplex which contains a
certain, non-zero number of interior lattice points overall.
Let us give some preparations for the proof of Proposition 4.28. We
need a natural translation-invariant distance function on T :

d(y, y 0 ) := min{kx − x0 k : y = [x], y 0 = [x0 ] for x, x0 ∈ Rd } .

Look at Figure 4.10 to get a better intuition for this definition. Note
that there are two kinds of elements of the group T d : the rational points
have finite order, and the irrational points have infinite order.
Lemma 4.30 For x ∈ {0}r × Rd−r (with 0 ≤ r ≤ d) and ε > 0 there is
Fig. 4.10: Illustrating the definition of
a positive integer k and z ∈ {0}r × Rd−r with [z ] = [kx] and ||z|| < ε. our metric

Proof. If x is rational, then there exists a positive integer k such that


[kx] = 0, so define z = 0 ∈ Rd . If x is irrational, then h[x]i is infinite.

Haase, Nill, Paffenholz: Lattice Polytopes — 111 —


Lecture Notes Lattice Polytopes (draft of June 28, 2021)

As T d is compact, there must be an accumulation point. Hence, there


are natural numbers k 0 > k 00 so that

d((k 0 − k 00 )[x], [0]) = d(k 0 [x], k 00 [x]) < ε .

Choose k := k 0 − k 00 . As kx ∈ {0}r × Rd−r , the definition of the metric


d([kx], [0]) implies the existence of z ∈ {0}r × Rd−r , as desired. (Note
that we do not claim that z ∈ [0, 1]d , see Figure 4.11.) u
t

Proof (Proposition 4.28). As ∆d is in bijection with ◦∆d d , every element


Fig. 4.11: z doesn’t in Mid ⊂ ∆d corresponds to an element in Mˆid ⊂ ◦∆d d . Let us define
have to be in [0, 1]d the (compact) closure of ◦∆d d in Rd :
d
X
∆d := {x ∈ Rd : xi ≥ 0 for all i = 1, . . . , d and xi ≤ 1} ⊂ Rd
i=1

We assume that Mid (thus, Mˆid ) is not finite. Then there exists an
accumulation point x∗ ∈ ∆d of Mˆid . Changing the coordinate system
on T d if necessary, we may assume that x∗1 = . . . = x∗r = 0, and
x∗r +1 , . . . , x∗d , 1 − dj=1 x∗j > 0. In particular,
P

x∗ ∈ {0}r × Rd−r
>0 .

We can assume this by permuting just the coordinates, since Mid can be
Exercise 4.10 characterized in a symmetric way, see Exercise 4.10.
Let us choose ε > 0 so that Bε (x∗ ) ∩ (Rr>0 × Rd−r ) ⊂ ◦∆d d , see
Figure 4.12.
Now, Lemma 4.30 implies the existence of a positive integer k and
and z ∗ ∈ {0}r × Rd−r so that [kx∗ ] = [z ∗ ] and kz ∗ k < ε/2i. With x∗
being an accumulation point of Mˆid , there is an x ∈ Mˆid such that

||x − x∗ || < ε/(2(ik + 1)) and x 6= x∗ − z ∗ /k.

Note that we have x − x∗ ∈ Rd>0 × Rd−r . We define for j = 0, 1, . . . , i


Fig. 4.12: Bε (x∗ ) ∩
(R>0 × Rd−r ) ⊂ ◦∆d d
r
wj := x∗ + jz ∗ + (jk + 1)(x − x∗ ) ∈ Rd .

Let us show that

[wj ] ∈ h[x]i ∩ ∆d for j = 0 . . . , i,

where all these (i + 1) elements are pairwise different. This would show
[x] 6∈ Mid , which is a contradiction.
First, we observe that
É wj ∈ Rr>0 × Rd−r .
É ||wj − x∗ || < j 2i
ε
+ (jk + 1) 2(ikε+1) ≤ ε.

— 112 — Haase, Nill, Paffenholz: Lattice Polytopes


Chapter 4. Geometry of Numbers (draft of June 28, 2021)

Hence, the definition of ε implies that wj ∈ ◦∆d d . Next, let us use


[kx∗ ] = [z ∗ ] to deduce

[wj ] = j [z ∗ ] + (jk + 1)[x] − jk [x∗ ] = [(jk + 1)x] ∈ h[x]i.

Finally, let us note

wj = x + j (z ∗ + k (x − x∗ )).

As z ∗ + k (x − x∗ ) 6= 0 by the choice of x, we see that w0 , . . . , wi are


pairwise different. This finishes the proof. u
t

4.4.2 Coefficient of asymmetry

Now that we have braved the technical core in the proof of Theorem 4.25,
the machinery will give us a volume bound V (d, i) in terms of a parameter
ε(d, i) that we introduce below. It will depend only on the dimension
and the number of interior lattice points.
The smallest barycentric coordinate of a point inside a simplex is
a measure for how far in the interior of the simplex the point sits. To
measure the same thing for points in more general polytopes (or convex
bodies), we use the convex-geometric notion of coefficient of asymmetry.
Definition 4.31 Let K ⊂ Rd be a d-dimensional convex body, w ∈
int K, then
w + λη
max{λ > 0 : w + λη ∈ K} λ0
ca(K; w ) := sup
η∈Rd \{0} max{λ > 0 : w − λη ∈ K} K w
λ
is the coefficient of asymmetry.
We have ca(K; w ) ≥ 1. Note that ca(K; w ) = 1 if and only if K is
centrally symmetric with respect to w. So, the closer ca(K; w ) is to 1 (a) An example with ca(K; w ) = 1
the more w lies in the ’center’ of K (the converse may not be true). See
Figure 4.13 for two examples. We now extend Proposition 4.28 from λ0
w
simplices to polytopes.
K λ
Definition 4.32 (Minimal barycentric coordinates) For positive in-
tegers d and i, the minimal barycentric coordinate of any interior lattice
point in any lattice d-simplex with precisely i interior lattice points will be
denoted by sbc(d, i). This definition yields a well-defined positive number
(b) An example with ca(K; w )  1
sbc(d, i) because of Corollary 4.29, a consequence of the main result of
the previous section. Fig. 4.13: Coefficient of Asymmetry

You will prove some simple properties in Exercise 4.11. Here is a simple
Exercise 4.11
fact that you will prove in Exercise 4.12.
Lemma 4.33 For d ≥ 1 and i ≥ 1 we have sbc(d + 1, i) ≤ sbc(d, i)/2.
u
t

Haase, Nill, Paffenholz: Lattice Polytopes — 113 —


Lecture Notes Lattice Polytopes (draft of June 28, 2021)

Exercise 4.12

Proposition 4.34 Let P ⊆ Rd be a d-dimensional lattice polytope with


i > 0 interior lattice points, and let w ∈ int P ∩ Zd . Then
 
1 0
ca(P ; w ) ≤ max −1 : 1 ≤ i ≤ i .
sbc(d, i0 )
The proof uses two auxiliary results. You will prove the following lemma
in Exercise 4.13.
Lemma 4.35 Let P ∈ Rd be a polytope, and let w ∈ int P . Then the
coefficient of asymmetry is attained at a vertex. That is, there is a vertex
v of P so that
1
ca(P ; w ) = . (4.4)
max{λ > 0 : w − λ(v − w ) ∈ P }
u
t
The following corollary justifies the claim that the coefficient of asymmetry
of a point in a polytope is a qualitative generalization of the smallest
barycentric coordinate of a point in a simplex.
Fig. 4.14: The coefficient of asym- Corollary 4.36 Let S = conv(v0 , . . . , vd ) ⊂ Rd be a d-simplex, and let
metry is attained at a vertex
0 < β0 ≤ . . . ≤ βd with dj=0 βj = 1. Set w := dj=0 βj vj . Then
P P

Exercise 4.13 1
ca(S; w ) = − 1.
β0
Exercise 4.14 You will give a proof of this in Exercise 4.14.
Exercise 4.15
Proof (of Proposition 4.34). Let v be a vertex of P as in (4.4). Let
c := ca(P ; w ), and denote the opposite point by v 0 := w − 1c (v − w ).
There is a face F of P which contains v 0 in its relative interior. In a
lattice triangulation of F there must be a lattice simplex S 0 which contains
v 0 in its relative interior. Hence, the lattice simplex S := conv(v, S 0 ) of
dimension 1 ≤ d0 ≤ d contains w in its relative interior, and the segment
conv(v, v 0 ) certifies ca(S; w ) ≥ c. Furthermore, every relative interior
point of S is an interior point of P , so S contains j interior lattice points
Fig. 4.15: ca(P ; w ) ≤ for 1 ≤ j ≤ i. The statement follows now from the previous corollary. u t
ca(S; w ) for some simplex S

Exercise 4.16 4.4.3 Bounding the volume

We are finally in the position to finish the proof of Theorem 4.25. For this
we need the following observation. You will prove this in Exercise 4.17.
Lemma 4.37 Let K be a d-dimensional convex body with 0 ∈ int K. Set
c := ca(K; 0). Then − 1c K ⊆ K.
Exercise 4.17

— 114 — Haase, Nill, Paffenholz: Lattice Polytopes


Chapter 4. Geometry of Numbers (draft of June 28, 2021)

Proposition 4.38 Let K ⊂ Rd be a d-dimensional convex body. If


w ∈ int K ∩ Zd , then

vol(K ) ≤ 2d−1 ca(K; w )d (| int K ∩ Zd | + 1) .

Proof. We set i := | int K ∩ Zd | and c := ca(K; w ). We may assume


that w = 0. Consider Q := conv(− 1c K ∪ 1c K ). We have Q = −Q, and
c K ⊆ Q ⊆ K by the previous lemma. Hence, | int Q ∩ Z | ≤ i so that
1 d

by van der Corput’s Theorem (Theorem 4.2) vol Q ≤ (i + 1)2d−1 . This


yields vol(K ) ≤ cd vol(Q) from which the statement follows. u
t

The bound is tight, as you will show in Exercise 4.18. This implies Exercise 4.18
Theorem 4.25 with
 d
1
V (d, i) = (i + 1)2d−1 −1 .
sbc(d, i)

Let us finish by presenting without proof the currently best and most
general result. The following theorem is a combination of results obtained
by Hensley [27], Lagarias and Ziegler [37] and Pikhurko [45].
Theorem 4.39 (Hensley; Lagarias & Ziegler; Pikhurko) Let P ⊆
Rd be a d-dimensional lattice polytope such that Il (P ) 6= ∅. Then
2d+1
vol(P ) ≤ (8dl )d (8l + 7)d·2 | int P ∩ lZd |

4.5 Lower Bounds

We can make the bound V (d, i) of the previous theorem more precise.
Similar to the volume we can also look at the total number of lattice
points of a lattice polytope when the number of interior lattice points is
fixed. For this, let L(d, i) be the maximal number of lattice points of a
d-dimensional lattice polytope with exeactly i interior lattice points.
For integers m1 , . . . , md we consider the following simplex
 X xi 
S(dm1 ,...,md ) := x ∈ Rd | xi ≥ 0 , ≤1 .
mi

This is a lattice simplex with vertices 1 and mi ei for the unit basis vectors
ei . Hence, it is a lattice simplex. See Figure 4.16 for an example.
We compute its volume and number of lattice points for a particular
choice of the parameters mi . We define a sequence (aj )j ≥ 1 via Fig. 4.16: S(d2,3,12)

j−1
Y
a1 : = 2 and aj := al + 1 for j ≥ 2
l =1

and for fixed d ≥ 3 and i ≥ 1 we set

Haase, Nill, Paffenholz: Lattice Polytopes — 115 —


Lecture Notes Lattice Polytopes (draft of June 28, 2021)

kj := aj for 1 ≤ j ≤ d − 1 and kd := (i + 1)(ad − 1) .


The sequence of the ai is the Sylvester sequence. It satisfies the following
properties, which you will prove in Exercise 4.19.
 −1
d d
X 1 Y
Lemma 4.40 (1) For d ≥ 1 we have 1 − =  aj 
aj
i=j j =1
Qd 2d−a
(2) for d ≥ 4 we have i=1 ai ≥ 2 for a constant a ≈ 0.5856 . . ..
We define the Sylvester simplices by
Sid := S(dk1 ,...,kd ) .
Exercise 4.19 It follows from Lemma 4.40(1) that for i = 1
d d
X 1 1 X 1
≤ 1 + = 1
kj kd kj
j =1 j =1

so that (1, 1, . . . , 1)t


is in the interior of S1d ,
while (1, 1, . . . , 2)t is not. As
the ki are strictly increasing we conclude that S1d has exactly one interior
lattice point. Similarly we can show that (1, 1, . . . , s)t for 1 ≤ s ≤ i are
the only interior lattice points of Sid .
The volume of Sid is
d
1 Y i+1
vol(Sid ) = kj = ( ad − 1 ) 2 . (4.5)
d! d!
j =1

We estimate the number of lattice points. For this, let R be the ridge of
Exercise 4.20 Sid defined by x1 = x2 = 0.
Exercise 4.21 It follows from Exercise 4.20 that L(S + t) ≤ L(S ) with equality if
Exercise 4.22 t ∈ Zd . By Exercise 4.21 know that
Z
vol(R) = |(R + t) ∩ Zd−2 | dt
Cd−2
Z
= L(R + t) dt ≤ L(R) ≤ L(Sid ) .
Cd−2

Thus
d(d − 1)
L(Sid ≥ vol(R) ≥ vol(Sid ) (4.6)
2·3

Theorem 4.41 (Perles, Zaks, Wills [61]) Let i ≥ 1. We have


V (3, i) ≥ 6(i + 1) L(3, i) ≥ 16i + 23
(4.7)
V (4, 1) ≥ 147 L(4, 1) ≥ 680
and for d ≥ 4
i + 1 2d−a i+1 d−a
V (d, i) ≥ 2 L(d, i) ≥ 22 (4.8)
d! 6(d − 2) !
where a ≈ 0.5856 . . ..

— 116 — Haase, Nill, Paffenholz: Lattice Polytopes


Chapter 4. Geometry of Numbers (draft of June 28, 2021)

Proof. For the special cases in dimensions 3 and 4 in (4.7) see Exer-
cise 4.23.
We know that the volume of Sid is

i+1
vol(Sid ) = (ad − 1)2
d!
by (4.5). Using Lemma 4.40(2) we estimate
d−1−a
ad − 1 ≥ 22

from which the lower bound on the voume follows. The bound for the
lattice points now follows from this and (4.6). u
t
Exercise 4.23

4.6 Empty lattice simplices

Every lattice polytope has a triangulation which uses all the lattice points.
Its simplices have the property that the only lattice points they contain
are their vertices.
Definition 4.42 (empty) A lattice polytope P is empty if the vertices
of P are the only lattice points in P .
Empty simplices in this sense can be regarded as the fundamental building
blocks of lattice polytope theory. Because of its number theoretic nature,
the study of these objects is in general very hard. In this section, we will
present what we know (in low dimension) and what we do not yet know
(in higher dimensions).
Let us start with the simplest cases d = 1 and d = 2. There is
(up to equivalence) only one empty segment, [0, 1]. By Pick’s Formula
(Theorem 1.8), an empty triangle must be unimodular as well. The
only other empty polygon is the unit square [0, 1]2 up to unimodular
equivalence (Exercise 4.24). The situation is significantly more subtle in
dimension ≥ 3. The Reeve simplices Rd (m) that we have seen in (1.1)
are examples of empty lattice simplices in any dimension ≥ 3 of arbitrary
large normalized volume m. Exercise 4.24
Surprisingly, in dimension 3 an astonishing and completely not obvi-
ous result still holds.
Theorem 4.43 (Howe (in Scarf 1985)) If P ⊂ R3 is an empty lat-
tice polytope in the lattice Z3 , then widthZ3 (P ) = 1.
Here widthZ3 (P ) is the lattice width defined in Definition 4.21. We will
only prove the theorem for the crucial case of an empty tetrahedron. Here
the previous result takes the following form.

Haase, Nill, Paffenholz: Lattice Polytopes — 117 —


Lecture Notes Lattice Polytopes (draft of June 28, 2021)

Theorem 4.44 (White 1964) If T ⊂ R3 is an empty lattice tetrahe-


dron, then T is equivalent to
 
1001
Tpq := conv  0 1 0 p  .
 
000q

Note that the first coordinate is always 0 or 1 on the vertices of Tpq , hence,
the lattice width is one. By now, there are several proofs known (White
1964 [60], Morrison & Stevens 1984 [40], Howe (in Scarf 1985) [47], Sebö
2 The history of these proofs is 1999 [52])2 Before we prove these two theorems we need the following
interesting useful observation by Scarf which is true in arbitrary dimensions, not
just in dimension three. For this, let us define the following function. For
a ∈ Zd with D := dj=1 aj − 1 > 0 define
P

d  
X aj h
f : {1, . . . , D − 1} → Z, h 7→ .
D
j =1

Lemma 4.45 (Scarf’s criterion) For a ∈ Zd the d-dimensional sim-


plex T = conv(e1 , . . . , ed , a) is empty if and only if f (h) > h + 1 for
h = 1, . . . , D − 1.
If d = 3, this is equivalent to f (h) = h + 2 for h = 1, . . . , D − 1 and
gcd(aj , D ) = 1 for j = 1, . . . , d.
Pd aj h D +1
Proof. First, observe that f (h) ≥ j =1 D = D h > h, and thus
f (h) ≥ h + 1 for all h.
Next, we have the following inequality description of T \ {e1 , . . . , ed , a}
(Exercise 4.25).
( Pd )
0 ≤ j =1 xj − 1 < D and
x∈R : a d
ai Pd ai
D − 1 < −xi + D j =1 xj ≤ D for i = 1, . . . , d
i

Let us show that T is not empty if and only if there is an h ∈


{1, . . . , D − 1} with f (h) = h + 1.
Pd
If there is an x ∈ Zd ∩ T \ {e1 , . . . , ed , a}, set h := j =1 xj − 1.
The above inequality description yields 0 ≤ h < D. This implies h ∈
Fig. 4.17: Inequality de-
scription of T \ {e1 , e2 , a} {1, . . . , D − 1}, as for h = 0, x would be a non-vertex lattice point
in conv e1 , . . . , ed which is not possible. Moreover, the conditions for
i = 1, . . . , d are equivalent to aDi h ≤ xi < aDi h + 1 so that necessarily
xi = d aDi h e, and we obtain f (h) = dj=1 xj = h + 1.
P

If, on the other hand, there is an h ∈ {1, . . . , D − 1} with f (h) =


h + 1, set xi = d aDi h e for i = 1, . . . , d. This defines x ∈ Zd that satisfies
all above inequalities, hence, T is not empty.
Pd h
Finally, if d = 3, we consider f (h) + f (D − h) = j =1 daj D e +
D−h
daj D e. Using

— 118 — Haase, Nill, Paffenholz: Lattice Polytopes


Chapter 4. Geometry of Numbers (draft of June 28, 2021)


    
h D−h aj if D divides aj h
ai + ai =
D D  aj + 1 if D does not divide aj h

we obtain f (h) + f (D − h) ≤ dj=1 (aj + 1) = D + 1 + d = D + 4. If


P

T is empty, our previous considerations show that f (h) + f (D − h) ≥


h + 2 + D − h + 2 = D + 4 so that f (h) = h + 2 for all h = 1, . . . , D − 1,
and D never divides aj h for j = 1, . . . , d. This also immediately implies
gcd(aj , D ) = 1, since otherwise D/ gcd(aj , D ) ∈ {1, . . . , D − 1}, thus, D
wouldn’t divide aj D/ gcd(aj , D ) = lcm(aj , D ), a contradiction. u
t
Exercise 4.25
Let us note that if D = 1, then the simplex T in Scarf’s criterion is
automatically empty and of width one (the sum of all coordinates equals
1 for e1 , . . . , ed , and 2 for a).

Proof (of the Theorem of White (Theorem 4.44)). Our proof is based
on an argument by Scarf, and proceeds in two steps.
(1) We show first that if T is empty, then T is, for some a1 , a2 , a3 ≥ 0,
equivalent to
 
1 0 0 a1
conv  0 1 0 a2 
 
0 0 0 a3

(2) Then we use Scarf’s criterion (Lemma 4.45) together with the lower
bound a1 , a2 , a3 ≥ 2 to obtain a contradiction.
Step 1 (Standard form): We can assume that
 
0 v11 v12 v13
T = conv  0 0 v22 v23 
 
0 0 0 v33

is in Hermite normal form, i.e.

v11 > 0, v22 > v12 ≥ 0, v33 > v13 , v23 ≥ 0

(cf. Definition 2.64, note that here we look at the transposed form). The
triangle spanned by the first three vertices is empty and hence unimodular
by Pick’s Formula (Theorem 1.8). This implies v11 = v22 = 1, v12 = 0.
Now,
     
0 0 1 0 v13 0 1 0 a1
T =∼ T +  0  = conv  0 0 1 v23  =
  ∼
conv  0 0 1 a2 
 
1 1 1 1 v33 + 1 1 0 0 a3

with a1 := v13 ≥ 0, a2 := v23 ≥ 0, and a3 := v33 − v13 − v23 + 1. (For


the last equivalence we have subtracted the first two coordinates from

Haase, Nill, Paffenholz: Lattice Polytopes — 119 —


Lecture Notes Lattice Polytopes (draft of June 28, 2021)

the third.) We abbreviate D := a1 + a2 + a3 − 1 = v33 > 0. If a3 were


negative, then let us consider the following affine combination
         
1 1 0 0 a1
D − a1   D − a2   −a3   1  
1 = 0 + 1 +  0  +  a2  .
 
D D D D
0 0 0 1 a3

Here, D − a1 = v33 − v13 > 0, D − a2 = v33 − v23 > 0, so this would be a


proper convex combination. Therefore, (1, 1, 0)t ∈ int T , a contradiction
to T being empty.
h 2h 3h 7h Step 2: Recall the function f used in Scarf’s criterion: For a ∈ Zd
1 2 3 7 with D := dj=1 aj − 1 > 0 we have defined f : {1, . . . , D − 1} → Z via
P
2 4 6 3 l
aj h
m
h 7→ dj=1 D
P
.
3 6 9 10
Let d = 3 and
4 8 1 6
5 10 4 2 D = a1 + a2 + a3 − 1 ≥ 1 .
6 1 7 9
7 3 10 5 Assume a1 , a2 , a3 ≥ 2 and f (h) = h + 2 for all h. Make a D − 1 by
8 5 2 1 3 table of the numbers hai reduced mod D for h = 1, . . . , D − 1 as
9 7 5 8 exemplified in Table 4.1. Later we will sometimes use the notation [k ]D
10 9 8 4 for the remainder in {0, . . . , D − 1} of an integer k modulo D. Note
that the Dth-row consists simply of zeroes. We will refer to a row for
Table 4.1: Table for a = (2, 3, 7)t mod
D = 11
h ∈ {2, . . . , D − 1} (mod D) as a proper row.
The ai are coprime to D, so the three columns will be permutations
of the set {1, . . . , D − 1}, (compare Exercise 4.26). Also, we can add the
ith and the jth row of the table and reduce it mod D to obtain the
(i + j )th (mod D) row. Roughly speaking, in each ith column we add ai
on the entry above until this number exceeds D in which case we reduce
Exercise 4.26 this entry, see Table 4.1.
In each column we underline the entries where the reduction takes
place (a ‘jump’). These can be characterized by any of the following
equivalent conditions for an entry in a proper row: (Exercise 4.27):
É the entry is smaller than the entry directly above
É the entry (in the ith column) is (necessarily strictly) smaller than ai
É the entry (in the ith column and hth row) satisfies
   
ai h ai (h − 1)
= +1.
D D
Exercise 4.27
The last condition allows us to make the following crucial observation:
As for h = 2, . . . , D − 1
3  
X ai h
f (h) = = h+2,
D
i=1

— 120 — Haase, Nill, Paffenholz: Lattice Polytopes


Chapter 4. Geometry of Numbers (draft of June 28, 2021)

we have f (h) = f (h − 1) + 1. Hence, in each proper row precisely one


entry gives a contribution d aDi h e to this sum which is one larger than
in the row above. In other words, each proper row has precisely one
underlined entry. We see that a = (2, 3, 7)t yields a simplex which is not
empty as there is no underlined entry in row 3 of Table 4.1.
We will use these restrictions in order to get a contradiction. For this,
we consider the special entries D − 1. Let us recall that 1 < a1 , a2 , a3 <
D − 1.
(1) Assume there is a (necessarily proper) row h with two entries D −
1. In this case, the row D − h has two entries 1. Therefore, we
have a (necessarily proper) row with two (underlined) entries 1, a
contradiction.
(2) Assume there is a (necessarily proper) row with entries D − 1 and
1 (say, in the first and second column). Multiplying by a2 yields
another row with entries D − a2 and a2 . Hence, we’re in the very first
row with entries a1 , a2 , a3 , so D − a2 = a1 , a contradiction (recall
a3 > 1).
(3) Next, assume there is a two by two configuration
D−1 α
β D−1

By symmetry, let these be in the first and second column. Summing


these two rows yields again a row with entries β − 1 < β < a1 and
α − 1 < α < a2 . Hence, as this cannot be the 1-st row, and there is
no proper row with two underlined entries, we see that this must be
the D-th row, so β − 1 = 0, thus β = 1. Therefore, the first of above
two rows has an entry D − 1 and 1. This gives a contradiction to the
previous point.
(4) This leads to the last case, where we are left with dealing with a
sub-table of proper rows of the form
h1 D−1 α β
h2 γ D−1 δ (4.9)
h3 ε ζ D−1
We note that α, β, γ, δ, ε, ζ > 1. Consider
h1 + h2 | γ − 1 α−1 [β + δ ]D ,
As this is not the 1-st row (α − 1 < a2 ) or D-th row (α − 1 6= 0),
[β + δ ]D cannot be underlined, so [β + δ ]D > a3 . In particular,
[β + δ − 1]D ≥ a3 . In fact, as a3 < β and δ < a3 we see [β + δ − 1]D >
a3 . By symmetry, this implies that
h1 + h2 + h3 | [ε + γ − 1]D [α + ζ − 1]D [β + δ − 1]D ,
is neither the first row, nor the D-th row, and it also does not have
an underlined entry which is a contradiction.

Haase, Nill, Paffenholz: Lattice Polytopes — 121 —


Lecture Notes Lattice Polytopes (draft of June 28, 2021)

u
t
Exercise 4.28
Exercise 4.29 The reader may wonder whether the previous result also holds in
higher dimension. Unfortunately, it fails already in dimension 4, as we
will show now. For this, let us define a lattice simplex S (a, b, c, d) ⊂ R4
as the convex hull of the columns of the following matrix:
 
1000a
0 1 0 0 b 
 
 
0 0 1 0 c 
0001d

It was shown in [25] that for integers D ≥ 9 and coprime to 6 the


4-simplex S (2, 2, 3, D − 6) is empty, of normalized volume D and has
width 2. Hence, there exist infinitely many non-isomorphic empty lattice
4-simplices with width > 1.
On the other hand, it is known that there are only finitely many
empty lattice 4-simplices with width > 2, as shown by Barile, Bernardi,
Borisov, and Kantor [2]. Up to now, the maximal possible width known
is 4, realized by S (6, 14, 17, 65).

4.7 Lattice polytopes without interior lattice points

Focusing again on lattice polytopes, let us make the following definition.

Definition 4.46 A lattice polytope P is called hollow if it does not


contain any interior lattice points.

From the viewpoint of geometry of numbers, hollow lattice polytopes are


a somewhat more natural class to consider than empty simplices. In this
section, we will prove a structural result on hollow lattice polytopes that
will imply the flatness theorem for this class of convex sets.
Let us first look at low dimensions. In dimension one, there is only
one hollow lattice segment, [0, 1]. In dimension two, there are two kinds
of hollow lattice polygons. They are depicted in Figure 4.18, see also Exer-
cise 3.33. Observe that one way to construct hollow lattice d-polytopes
is to take a hollow polytope Q ⊂ Rd−1 and choose any subpolytope of the
Fig. 4.18: “All” hol-
infinite prism Q × R. Observe as well that having width one is equivalent
low lattice polygons to allowing an integral projection onto the hollow polytope [0, 1].
More generally, the reader should convince oneself that the following
Exercise 4.30 observation holds:

If a lattice polytope has a lattice projection onto a hollow lattice polytope


(of smaller dimension, not a point), then it was hollow to begin with.

— 122 — Haase, Nill, Paffenholz: Lattice Polytopes


Chapter 4. Geometry of Numbers (draft of June 28, 2021)

The following theorem states that this is the only way to get hollow
polytopes – up to finitely many exceptions.

Theorem 4.47 There are only finitely many (equivalence classes of)
hollow lattice d-polytopes which do not allow an integral projection onto
a hollow lattice (d − 1)-polytope.

The proof is based on an argument by Averkov et al. It proceeds


with the following four steps, which we will explain in detail below:
(1) If P is hollow and contains a “long” segment, then P projects onto a
hollow polytope.
(2) If P has “many” lattice points, then P contains a long segment.
(3) If P is hollow and does not project, then there are lattice polytopes
P ⊆ P 0 ⊂ P 00 so that P 0 is hollow, P 00 is not hollow, but int P 00 ∩ Zd ⊂
P 0.
(4) nvolZd P ≤ nvolZd P 00 ≤ V (d, |P 0 ∩ Zd |) which is bounded, since by
(2) and (3) the number of lattice points of P 0 as a non-projectable
polytope is bounded.
Step 1: For the first step we need the following lemma.

Lemma 4.48 Let Q ⊂ Rd be a lattice polytope with interior lattice


points, and let v̄ ∈ ∂Q ∩ Zd . Then there is a lattice simplex S ⊆ Q with
v̄ ∈ V(S ) and | relint S ∩ Zd | = 1.
The cross polytope shows that we cannot assume that S is full-dimensional
(see Figure 4.19). Fig. 4.19: The simplex in Lemma 4.48
may be low-dimensional
Proof. Consider

F := {R ⊆ Q lattice polytope : v̄ ∈ R, R not hollow} .

Then F is a finite non-empty family of lattice polytopes. Hence, there


is an inclusion-minimal element R ∈ F . We claim that R satisfies the
assertion of the lemma. As R ∈ F , there is a relative interior lattice point
w.
First, let us prove that R must be a simplex. The line through v̄ and
w intersects P in a segment conv(v̄, v ). Let F be the face of Q which
contains v in its relative interior. Because w ∈ relint(conv(v̄, F )) and R is
minimal, we must have R = conv(v̄, F ). Also, if F was not a simplex, the
carrier of v in a triangulation of F would be a proper subpolytope F 0 ⊂ F Fig. 4.20: R is a pyramid with apex v̄
containing v in its relative interior – again, contradicting minimality of
R.
Next, let us show that relint(R) ∩ Zd = {w}. We can assume
that among all lattice points in relint(R) w has minimal barycen-
tric v̄-coordinate. Denote the vertices of F by v1 , . . . , vr , and set

Haase, Nill, Paffenholz: Lattice Polytopes — 123 —


Lecture Notes Lattice Polytopes (draft of June 28, 2021)

Fi := V(F ) \ {i} for i = 1, . . . , r. The simplices S0 := conv(w, F ),


Si := conv(v̄, w, Fi ) (i = 1, . . . , r) together with all their faces triangu-
late R.
A face of this triangulation meets relint(R) if and only if it contains
w. If such a face also contains v̄, it cannot contain relative interior lattice
points because R was minimal. If it does not contain v̄, it is a face of S0 ,
and all points in S0 have smaller barycentric v̄-coordinate than w. u
t

With this tool at hand, we can establish the first step.


Fig. 4.21: Triangulation of R and
the region of all points having larger Lemma 4.49 Let P ⊂ Rd be hollow, u ∈ Zd primitive and v ∈ P ∩ Zd
barycentric v̄-coordinate than w
so that v + N u ∈ P for some N > sbc(d − 1, 1)−1 .
Consider the projection π : Rd → Rd /Ru. Then Q := π (P ) is hollow
with respect to π (Zd ) = Zd /Zu.

Proof. If Q had interior lattice points, according to Lemma 4.48, there


would be a simplex S ⊆ Q so that v̄ := π (v ) ∈ V(S ), and relint(S ) ∩
Zd /Zu = {w}.
If α is the barycentric v̄-coordinate of w in S, then the length of the
segment π −1 (w ) ∩ P is at least αN ≥ sbc(dim S, 1)N ≥ sbc(d − 1, 1)N >
1. Therefore, this segment must contain an interior lattice point of P in
contradiction to P being hollow. u
t

Step 2:
Lemma 4.50 Let P ⊂ Rd be a lattice polytope. If |P ∩ Zd | > N d , then
P contains a segment of length N .

Proof. compare “Rabinowitzs Lemma” [arXiv:1103.0103 Zhong §2]


There must be two different points v, v 0 ∈ P ∩ Zd whose coordinates
Fig. 4.22: A long edge agree mod N . Then u := N1 (v − v 0 ) ∈ Zd and v, v 0 = v + N u ∈ P . u
t
and a one-point-simplex
Step 3:
Lemma 4.51 Suppose the hollow polytope P does not allow a hollow
projection. Then there are lattice polytopes P ⊆ P 0 ⊂ P 00 so that P 0 is
hollow, P 00 is not hollow, but int P 00 ∩ Zd ⊂ P 0 .

Proof. If there is no v1 ∈ Zd \ P so that P1 := conv(P , v1 ) is hol-


low, set P 0 := P . Otherwise, construct recursively hollow polytopes
Pi+1 := conv(Pi , vi+1 ) until no such extension is possible. The process
has to terminate because superpolytopes of non-projectable polytopes
are non-projectable and the total number of lattice points is bounded
by Lemmas 4.49 and 4.50. Let P 0 be that last, non-extendable hollow
polytope in the sequence.
Now choose v 1 ∈ Zd \ P 0 and set P 1 := conv(v 1 , P 0 ). Because
P 0 is non-extendable, P 1 is not hollow. If there is no v 2 ∈ int P 1 ∩

— 124 — Haase, Nill, Paffenholz: Lattice Polytopes


Chapter 4. Geometry of Numbers (draft of June 28, 2021)

Zd \ P 0 , choose P 00 := P 1 . Otherwise, construct recursively P i+1 :=


conv(v i+1 , P 0 ) with v i+1 ∈ int P i ∩ Zd \ P 0 . The process has to terminate
because there are only finitely many lattice points in P 1 \ P 0 . The last
polytope P 00 in this series will be a strict superpolytope of P 0 and as such
not hollow. But, being the last in the series, we have int P 00 ∩ Zd ⊂ P 0 .
u
t

Step 4: Let P ⊆ P 0 ⊂ P 00 be as in Lemma 4.51. Then P 00 is not


hollow and | int P 00 ∩ Zd | ≤ |P 0 ∩ Zd | ≤ sbc(d − 1, 1)−d . This holds again,
since otherwise by Lemma 4.50 and Lemma 4.49, P 0 and thus P were
projectable.
Now the Theorem 4.25 from the previous section kicks in: nvolZd P ≤
nvolZd P 00 ≤ V (d, sbc(d − 1, 1)−d ) is bounded. Then the number of pos-
sible equivalence classes for P is finite by Corollary 2.83.
This finially proves Theorem 4.47.
We say a hollow lattice polytope P is inclusion-maximal if it is not
strictly contained in a hollow lattice polytope.
Corollary 4.52 There exist only finitely many inclusion-maximal hollow
lattice d-polytopes (up to unimodular equivalence). Moreover, any hollow
lattice d-polytope that does not admit a hollow projection is contained in
an inclusion-maximal hollow lattice d-polytope.

Proof. If a lattice polytope admits a lattice projection onto a hollow


lattice polytope of smaller dimension (not a point), then it is clearly
contained in a larger lattice polytope that also projects onto the same
lattice polytope, hence, is also hollow. Therefore, inclusion-maximal
hollow lattice polytopes do not admit hollow projections, hence, they are
only finitely many of these by Theorem 4.47.
Iif a hollow lattice polytope P is not contained in any inclusion-
maximal hollow lattice polytope, then there exists an infinite chain of
hollow lattice polytopes containing P . In particular, Theorem 4.47 there
is a hollow lattice polytope P 0 ⊃ P that admits a hollow projection,
hence, P does. u
t

We can now easily deduce the flatness theorem for hollow lattice polytopes.
For this we simply note that under lattice projection the width cannot
decrease (Exercise 4.31). Exercise 4.31

Corollary 4.53 The maximal width of a hollow lattice d-polytope equals


the maximal width of the finitely many (up to unimodular equivalence)
inclusion-maximal lattice d0 -polytopes with d0 = 1, . . . , d. Moreover, there
are only finitely many hollow lattice d-polytopes whose width is strictly
larger than the maximal width of hollow lattice (d − 1)-polytopes.

Haase, Nill, Paffenholz: Lattice Polytopes — 125 —


Lecture Notes Lattice Polytopes (draft of June 28, 2021)

4.8 Problems
Exercise 4.32
4.1. Let K ⊆ Rd be a centrally symmetric convex body with int (K ) ∩
included on page 100
Zd = {0} and nvolZd (K ) = 2d . Show that K is a polytope and
each facet of K contains at least one lattice point in its relative
interior.
Hint: For any lattice point x choose a half space Hx containing both
x and K. Let Sx := Hx ∩ −Hx . Now consider the intersection
of all Sx and prove that this satisfies the assumptions of
Minkowski’s First Theorem (Corollary 4.3).
included on page 100

4.2. Let K ⊆ Rd be a centrally symmetric polytope with int (K ) ∩ Zd =


{0}. Show that K has at most 2(2d − 1) containing a lattice point
in their relative interior.
Hint: Choose lattice points in the interior of facets. Consider
their coordinates module 3 (i.e., their image under Zd →
(Z/3Z)d ). Look at the difference of two points having the
same image and use the pidgen-hole principle.
included on page 102

4.3. Prove that the unit ball in dimension d has volume


π bd/2c 2dd/2e
Vd : = Q .
0≤2i≤d (d − 2i)
included on page 105
4.4. Show that the packing radius is finite and equals half of the length
of a shortest non-zero lattice vector.
included on page 105

4.5. Let Λ be a lattice in Rd . Show that there is a non-zero x ∈ Λ such


that

kxk∞ ≤ (det Λ) /d ], .
1

included on page 105

4.6. Let Λ0 ⊆ Λ ⊆ Rd be lattices. Show that

%(Λ) ≤ %(Λ0 ) ≤ Λ/Λ0 %(Λ) .


included on page 106

4.7. Prove

(1) µ(Zd ) = d/2
(2) µ(D3 ) = 1

(3) µ(Dn ) = n/2 for n ≥ 4
(4) µ(E8 ) = 1
included on page 108

4.8. Show that in the definition of lattice width we can replace the
infimum with a minimum for a full-dimensional convex body K.
Thus, the width is strictly positive.

— 126 — Haase, Nill, Paffenholz: Lattice Polytopes


Chapter 4. Geometry of Numbers (draft of June 28, 2021)

4.9. Show that the lattice width of a low dimensional convex body is 0.

4.10. Let x ∈ ◦∆d d as in § 4.4.1. Define x0 := 1 −


Pd
i = 1 xi . Prove that
[x] ∈ Mid if and only if
d
( )
X
k ∈ Z≥1 : {kxi } = 1 and {kxi } > 0 ∀ i = 0, . . . , d
i=0

has at most i elements. Here {·} denotes the fractional part in


[0, 1).
included on page 113

4.11. (1) Compute sbc(2, i)


(2) sbc(d + 1, i) ≤ 1/2 sbc(d, i),
d−2
(3) sbc(d, i) ≤ 1/i2−2 using Kahn-Wills-Zaks simplices

For a solution see page 221


included on page 114

4.12. Prove that sbc(d + 1, i) ≤ sbc(d, i)/2 for d, i ≥ 1.


Hint: Let S be a d-simplex with vertices v0 , . . . , vd and interior
P
lattice point x = λi vi realizing sbc(d, i) such that λd = sbc(d, i).
Consider the (d + 1)-simplex with vertices (vi , 0) for 0 ≤ i ≤ d − 1
and (vd , ±1).
included on page 114

***4.13. Prove Lemma 4.35.


For a solution see page 221
included on page 114

4.14. Prove Corollary 4.36.


included on page 114

4.15. Show that the coefficient of asymmetry of an interior point of a


d-simplex equals at least d, with equality only for the centroid.
included on page 114

4.16. Let K, K 0 d-dimensional convex bodies satisfying

K 0 ⊆ K ⊆ µK 0 + v

for some µ > 0, v ∈ Rd .


Show that we have for all w ∈ int (K 0 )

ca(K; w ) ≤ µ ca(K 0 ; w ) + µ − 1 .
included on page 114

4.17. Prove Lemma 4.37.


included on page 115

Haase, Nill, Paffenholz: Lattice Polytopes — 127 —


Lecture Notes Lattice Polytopes (draft of June 28, 2021)

4.18. Prove the the bound in Proposition 4.38 is tight.


included on pa

4.19. Let (ai )i ≥ 1 be the Sylvester sequence given by


i−1
Y
a1 := 2 and ai := aj + 1 for i ≥ 2 .
j =1

Prove that  −1


d d
X 1 Y
(1) for d ≥ 1 we have 1 − =  aj 
aj
i=j j =1
d−a
(2) for d ≥ 4 we have di=1 ai ≥ 22
Q
for a constant a ≈
0.5856 . . ..
included on page 116

4.20. Let Sid be the Sylvester simplex, l its number of lattice points and
x ∈ R. Show that, if the translate Sid has l lattices points then
x ∈ Zd .
Hint: Show that if one of the facets parallel to a coordinate hyper-
plane does not contain a lattice point then you can translate the
simplex so that it does, while the number of lattice points does
not decrease.
included on page 116

4.21. Let P be a lattice polytope and Cd the unit cube. Show that
Z
vol(P ) = |(P + t) ∩ Zn | dt .
Cd
included on page 116
4.22. recursively we define
n−1
Y
t1 := 2, tn : = 1 + tj for n ≥ 2.
j =1

Show that
(1) tn = t2n−1 − tn−1 + 1 for n ≥ 2.
Pn−1 1 1
(2) j =1 tj = 1 − tn −1 for n ≥ 2.
n−1 n−2
(3) 22 ≥ tn ≥ 22 .
4.22. let d, i ∈ Z≥1 . Define the d-dimensional lattice simplex Sd,i mit
vertices v0 , . . . , vd :

v0 := 0, vj : = t j e j for j = 1, . . . , d − 1, vd := (i + 1)(td − 1)ed .

Show that

int (Sd,i ) ∩ Zd = {(1, 1, . . . , 1, j ) : j = 1, . . . , i} .

and compute the volue (which is conjectured to be the largest


possible for dimensions d ≥ 4).

— 128 — Haase, Nill, Paffenholz: Lattice Polytopes


Chapter 4. Geometry of Numbers (draft of June 28, 2021)

Hint: Consider barycentric coordinates (α0 , . . . , αd ) and show by


induction αj = t1j for j = 1, . . . , d − 1.

4.23. Prove the low dimensional cases in Theorem 4.41.

4.24. Show that ∆2 and [0, 1]2 are up to unimodular equivalence the
only empty lattice polygons.
included on page 119

4.25. Verify the inequality description in the proof of Scarf’s criterion


(Lemma 4.45).
included on page 120

4.26. Show that multiplying with a element coprime to D in Z induces


a group automorphism of Z/DZ.
included on page 120

4.27. Check the equivalent descriptions of a jump in the second part of


the proof of Theorem of White (Theorem 4.44).
included on page 122

4.28. Show, using the table in the proof of the Theorem of White (Theo-
rem 4.44) that T is not empty for (a1 , a2 , a3 ) = (3, 4, 5).
included on page 122

4.29. Use the proof of the Theorem of White (Theorem 4.44) to show
the following: Let P be an empty lattice tetrahedron with one
vertex in the origin. Then the subgroup (or sublattice) of Z3 that
is spanned by the vertices of P is a cyclic quotiont group.
included on page 122

4.30. Find a d-dimensional lattice simplex in Rd without interior points


and lattice width larger than d.
included on page 125

4.31. Prove that projection cannot decrease the width of a convex body.
included on page 126

= (d+3 2) + (d+3 1)
Pd 2
4.32. Show that i=0 k
Hint: You should try to do this via Ehrhart Theory. Consider a
(d − 1)-fold pyramid over a square.

Haase, Nill, Paffenholz: Lattice Polytopes — 129 —


Minkowski meets
Ehrhart
5
Contents
5.1 Lattice Polytopes of given h∗ -Polynomial . . 131
5.1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
5.1.2 The pyramid theorem for lattice simplices . 133
5.1.3 Proof of the pyramid theorem . . . . . . . . . . . . 135
5.2 Lattice polytopes of small degree . . . . . . . . . 137
5.2.1 Cayley-Polytopes . . . . . . . . . . . . . . . . . . . . . . . 137
5.2.2 Small Degree . . . . . . . . . . . . . . . . . . . . . . . . . . 140
5.2.3 Normal Form . . . . . . . . . . . . . . . . . . . . . . . . . . 140
5.3 Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145

5.1 Lattice Polytopes of given h∗ -Polynomial

5.1.1 Introduction

With regard to the fundamental results in Ehrhart theory we have seen


in Chapter 3 that the Ehrhart polynomial can be more compactly encoded
in terms of the h? -polynomial. In this section, we will give a qualitative
answer to the following natural question: how many lattice polytopes
have the same h? -polynomial? In other words, how much information
is contained in this polynomial, and to which extent does it determine
the polytope? We start with some general observations. Let P be a
d-dimensional lattice polytope.
Fig. 5.1: Two lattice polytopes with
the same h? -polynomial 1 + 3t
Lecture Notes Lattice Polytopes (draft of June 28, 2021)

(1) The sum over the coefficients of its h? -polynomial equals the (nor-
malized) volume of P . Since, by Theorem 3.32, all the coefficients
are non-negative integers, the question about the number of lattice
polytopes with the same h? -polynomial is essentially equivalent to
the problem of finding all lattice polytopes with given normalized
volume and degree (of the h? -polynomial).
(2) The simplest h? -polynomial consists only of the constant coefficient
1. In this case, P has normalized volume 1, so it is a unimodular
simplex (of arbitrary dimension).
(3) More generally, lattice pyramids with base P have the same h? -
Fig. 5.2: Unimodular simplices polynomial as P , see Exercise 3.30. Therefore, it makes sense to
in dimensions 0, 1, 2 and 3 consider lattice polytopes ‘modulo’ lattice pyramid constructions.
For instance, one may think of unimodular simplices as (successive)
lattice pyramids over a point, see Figure 5.2. In this respect, the
degree deg(P ) seems to be a more natural invariant to consider than
the dimension of a lattice polytope.
(4) It is also insightful to recall that not only the volume but any
coefficient of the h? -polynomial behaves monotonically with respect
to inclusions: Q ⊆ P =⇒ h?i (Q) ≤ h?i (P ) for any i. In particular,
deg(Q) ≤ deg(P ).
Here is the main result of this section. Let us define the function

f (c, s) := c(2s + 1) + 4s − 2 .

Theorem 5.1 (Pyramid theorem) Let P be a d-dimensional lattice


polytope of degree s := deg(P ). If

d > f (|V(P )| − d − 1, s)

then P is a (possibly successive) lattice pyramid over a lattice polytope of


dimension ≤ f (|V(P )| − d − 1, s).
The proof will be given in the next two subsections. From this result we
get the desired finiteness result. We note an important consequence of
this theorem.
Corollary 5.2 There are (up to lattice pyramid constructions) only
finitely many lattice polytopes of given h? -polynomial.

Proof. Note that h?1 (P ) = |P ∩ Zd | − (d + 1) ≥ |V(P )| − d − 1 for any d-


dimensional lattice polytope. Let s be the degree of the given polynomial
and c its linear coefficient. Therefore, by the pyramid theorem it suffices to
prove the theorem for lattice polytopes up to dimension f (c, s). However,
in fixed dimension there is only a finite number of lattice polytopes of
given normalized volume by Corollary 2.83. u
t

— 132 — Haase, Nill, Paffenholz: Lattice Polytopes


Chapter 5. Minkowski meets Ehrhart (draft of June 28, 2021)

5.1.2 The pyramid theorem for lattice simplices

We will first consider the situation where P is a d-dimensional lattice


simplex of degree s := deg(P ) embedded in Rd+1 as P × 1. In this case
|V(P )| − d − 1 = 0, so it remains to show that P is a lattice pyramid,
if d ≥ 4s − 1. Let v1 , . . . , vd be the vertices of P . Let m be a point in
the half-open fundamental parallelepiped Π(P ) given as m = di=0 λi vi .
P

Then we define the support of m as

supp m := {i : λi 6= 0}

and the height of m as


d
X
ht(m) := λi .
i=0

Note that ht(m) is a non-negative integer.


We will need a criterion how to check whether a lattice simplex is a
lattice pyramid. For this, let us define the support of the simplex as
[
supp P := supp m .
m∈Π∩Zd+1

The proof of the following observation is left as Exercise 5.1. Exercise 5.1

Lemma 5.3 P is a lattice pyramid with apex vi for some i ∈ {0, . . . , d +


1} if and only if i 6∈ supp P . u
t

In other words, if the support of P is a proper subset of {0, . . . , d + 1},


then P is a (successive) lattice pyramid over the convex hull conv(vi :
i ∈ supp P ) of those vertices that are contained in the support. Hence,
to prove the theorem for simplices we have to show that for any lattice
simplex of degree s its support is bounded by 4s − 1, i.e.

| supp P | ≤ 4s − 1 .

Let us first bound the support of one lattice point in Π(P ). {1} × P
Lemma 5.4 Let m ∈ Π(P ) ∩ Zd+1 . Then

supp m ≤ 2s . m?

Proof. We define
 
X X
m? := ( 1 − λ i ) vi =  vi  − m .
i∈supp m i∈supp m Fig. 5.3: The central symmetry
m ↔ m? about the ‘green’ center of
Π(P )

Haase, Nill, Paffenholz: Lattice Polytopes — 133 —


Lecture Notes Lattice Polytopes (draft of June 28, 2021)

Then m? ∈ Π(P ) ∩ Zd+1 . We observe


 
X
| supp m| = ht  vi  = ht (m + m? ) = ht (m) + ht (m) .
i∈supp m

By Proposition 3.19, h?i (P ) = |{ht (x) : x ∈ Π ∩ Zd+1 }|, in particular,


ht (m) , ht (m? ) ≤ s. u
t

Here is another proof, which uses the notion of the codegree (see Defini-
tion 3.47 and Corollary 3.48).

Proof (Alternative proof). Let P 0 := conv(vi : i ∈ supp m). By the


monotonicity theorem, deg(P 0 ) ≤ s. Now, m ∈ int ( ht(m)P 0 ) ∩ Zd+1 ,
hence, codeg(P 0 ) ≤ ht(m) ≤ s, again by Proposition 3.19. Therefore,
| supp P 0 | = dim(P 0 ) + 1 = codeg(P 0 ) + deg(P 0 ) ≤ 2s. u
t

Let us choose m0 ∈ Π(P ) ∩ Zd+1 whose support I0 := supp m0 has the


maximal possible number of elements (at most 2s). Now, we consecutively
define a ‘greedy’ sequence {m}k=0,...,r of lattice points in Π(P ) such that
the size of each set
  [
Ik := supp mk \ supp mj
j<k

is maximal. Note that the support of P is completely covered by these


disjoint sets Ik ’s.

Lemma 5.5 For k = 1, . . . , r, we have

|Ik | ≤ |Ik−1 |/2 .

In particular,

|Ik | ≤ |I0 |/2k .

Proof. The following arguments are illustrated in Figure 5.4. Let us


define

a := |Ik−1 \ supp mk | , b := |Ik−1 ∩ supp mk | , and c := |Ik | .

Note that |Ik−1 | = a + b. By the greedy choice of mk−1 , we necessarily


have b + c ≤ |Ik−1 |, so

c ≤ a. (5.1)

Let us write

— 134 — Haase, Nill, Paffenholz: Lattice Polytopes


Chapter 5. Minkowski meets Ehrhart (draft of June 28, 2021)

d
X
mk = λki vi .
i=0

Recall that any real number x ∈ R can be written as x = k + {x} for a b c


k ∈ Z and {x} ∈ [0, 1). In this notation, we define Ik−1 Ik
n o d n
X o
u := mk + mk−1 := λki + λk−1 vi .
i supp(mk−1 )
i=0

Note that u ∈ Π(P ) ∩ Zd+1 . Since, supp(mk )


   
supp mk−1 ∪ supp mk \ supp mk−1 ∩ supp mk ⊆ supp u ,
supp(u) supp(u)? supp(u)
the ‘greediness’ of mk−1 again implies that a + c ≤ a + b, so c ≤ b.
Together with (5.1) this implies Fig. 5.4: A schematic view on Ik−1 ∪
Ik
a+b
|Ik | = c ≤ = |Ik−1 |/2 . u
t
2
For our lattice simplex P we can now compute
r r
!
X X 1
| supp P | = |Ik | ≤ |I0 |
2r
k =0 k =0
∞ + −
!
X 1
< |I0 | = 2 · |I0 | .
2r
k =0

So Lemma 5.4 shows the desired statement


− +
| supp P | < 4s . (a) Circuit in a
square
This finished the proof of Theorem 5.1 in the case of lattice simplices.
+
5.1.3 Proof of the pyramid theorem

In order to deal with general lattice polytopes, we need the important −


notion of circuits. − −
Definition 5.6 A circuit A ⊂ Rd is a minimal affinely dependent subset,
i.e., A itself is affinely dependent, while any proper subset is affinely
+
independent.
(b) Circuit in a triangle
Here are some facts about circuits A (Exercise 5.2): bipyramid

É The dimension of the convex hull of a circuit A equals |A| − 2.


Fig. 5.5: A two-dimensional and a
É There is an (up to scalar multiplication) unique affine relation three-dimensional circuit
X X
λv v = 0 λv = 1 , Exercise 5.2
v∈A v∈A

where λv 6= 0 for any v ∈ A.

Haase, Nill, Paffenholz: Lattice Polytopes — 135 —


Lecture Notes Lattice Polytopes (draft of June 28, 2021)

É The previous relation yields a partition of A into two non-empty


subsets A+ , A− depending on the signs of the corresponding λv . Note
that the convex hull of the elements in A+ (respectively, in A− ) is not
contained in the boundary of conv(A).
Here is the crucial observation:
Lemma 5.7 Let C be the convex hull of a circuit A. Then

|A| ≤ 2 deg(C ) + 2 .

Proof. As observed above, the sum of the lattice points in A+ is a lattice


point in the interior of |A+ |C. Therefore,

|A+ | ≥ codeg(C )
= dim(C ) + 1 − deg(C )
= (|A+ | + |A− | − 2) + 1 − deg(C ) .

This implies |A− | ≤ deg(C ) + 1. The same bound also holds for |A+ |. u
t

We are now in the position to finish the proof.

Proof (Proof of Theorem 5.1 in the general case). Let c := |V(P ) − d − 1|.
We prove the statement by induction on c. The case c = 0 was dealt with
in the previous section. So, we may assume c > 0, and d > f (c, s) =
c(2s + 1) + 4s − 1. Since P is not a simplex, there exists a vertex v such
Fig. 5.6: The induction step
that P 0 := conv (V(P )\{v}) is d-dimensional (see Exercise 5.3). Note
that |V(P 0 )| − dim(P 0 ) − 1 < c by construction, and deg(P 0 ) ≤ s by the
monotonicity theorem. Hence, the induction hypothesis yields that P 0
is a (possibly successive) lattice pyramid over a lattice polytope B 0 of
dimension

dim B 0 ≤ f (|V(P 0 )| − d − 1, deg(P 0 ))


≤ (c − 1)(2s + 1) + 4s − 1 .

Since v ∈ aff (P 0 ), there exists a circuit A among v ∪ V(P 0 ) which contains


v, see also Figure 5.6. By the monotonicity theorem and Lemma 5.7,
|A| ≤ 2s + 2. We define B as the convex hull of the vertices of B 0 and
the elements in A. Since v ∈ aff (A\v ), we compute

dim(B ) ≤ dim(B 0 ) + |A| − 1


≤ (c − 1)(2s + 1) + 4s − 1 + 2s + 1 = f (c, s) .

Since v ∈ B, P is a lattice pyramid over B, as desired. u


t
Exercise 5.3

— 136 — Haase, Nill, Paffenholz: Lattice Polytopes


Chapter 5. Minkowski meets Ehrhart (draft of June 28, 2021)

5.2 Lattice polytopes of small degree

In the last section of this chapter we explain a construction of high-


dimensional lattice polytopes of small degree. We will state a general
result that shows that any lattice polytope of small degree is given this
way. As an application in Ehrhart theory, we prove a finiteness result
generalizing the finiteness of lattice polytopes with a given non-zero
number of interior lattice points.

5.2.1 Cayley-Polytopes

For this, we will need the notion of a Cayley polytope.

Definition 5.8 Given lattice polytopes P0 , . . . , Pt in Rk , the Cayley sum


is defined as

P0 ∗ · · · ∗ Pt := conv((P0 × 0) ∪ (P1 × e1 ) · · · ∪ (Pt × et )) ⊂ Rk × Rt ,

where e1 , . . . , et denotes the standard lattice basis of Rt .


We say P ⊆ Rd is a Cayley polytope of length t + 1 if there exists
an affine lattice basis of Zd = ∼ Zk × Zt identifying P with the Cayley
sum P0 ∗ · · · ∗ Pt for some lattice polytopes P0 , . . . , Pt in Rk . Let us note
that

dim(P0 ∗ · · · ∗ Pt ) = dim aff (P0 , . . . , Pt ) + t − 1 .

There is a convenient and useful characterization of Cayley polytopes.

Lemma 5.9 ([7, Proposition 2.3]) Let us define u ∈ (Zd+1 )∗ such


that h u, {1} × P i = 1. Let C be the cone over {1} × P . Then the following
statements are equivalent:
(1) P is a Cayley polytope P0 ∗ · · · ∗ Pt of length t + 1
(2) There is a lattice projection P onto a unimodular t-simplex
(3) There are nonzero x0 , . . . , xt ∈ C ? ∩ (Zd+1 )∗ such that

x0 + · · · + xt = u

Proof. (1) ⇒ (2): The definition of a Cayley polytope implies the existence
of a surjective lattice homomorphism Zd → Z t , mapping the vertices of
P onto {0, e1 , . . . , et }.
(2) ⇒ (1): This follows also directly from the definition.
(1) ⇒ (3): In Definition 5.8, let b1 , . . . , bd , e1 , . . . , et be the stan-
dard basis of Zd , and b∗1 , . . . , b∗d , e∗1 , . . . , e∗t its dual lattice basis. As

Haase, Nill, Paffenholz: Lattice Polytopes — 137 —


Lecture Notes Lattice Polytopes (draft of June 28, 2021)

u = (1, 0, . . . , 0), setting xi := (0, e∗i ) for i = 1, . . . , t and x0 :=


(1, −e∗1 − · · · − e∗t ) satisfies the desired conditions.
(3) ⇒ (2): Let us define

ϕ : Zd → Zt+1
m 7→ (h x0 , m i, . . . , h xt , m i)

Let v ∈ V(P ). Then


t
X
h xi , v i = h w ∨ , v i = 1 .
i=0

Since, h xi , v i ≥ 0 for i = 0, . . . , t we see that ϕ(v ) ∈ {e0 , . . . , et },


where e0 , . . . , et denotes the standard basis of Zt+1 . Assume there exists
i ∈ {0, . . . , t} which is not an image of a vertex of P . In this case, we
would get h xi , v i = 0 for all v ∈ V(P ), thus, xi = 0, a contradiction.
Hence, P projects onto S := conv(e1 , . . . , et+1 ), a unimodular t-simplex
(up to unimodular equivalence). u
t

Since the t-th multiple of a unimodular t-simplex contains no interior


lattice points, we conclude from (2) that

codeg(P0 ∗ · · · ∗ Pt ) ≥ t + 1 .

The following result (which we state without proof) shows that any
lattice polytope in high dimensions of small degree decomposes into
small-dimensional lattice polytopes.
Theorem 5.10 Any lattice polytope of degree s is a Cayley polytope of
length ≥ d + 1 − (s2 + 19s − 4)/2 (equivalently, P is a Cayley polytope
of lattice polytopes in dimension ≤ (s2 + 19s − 4)/2).
It is conjectured that (s2 + 19s − 4)/2 can be replaced by a linear function
in s. Here is an application in Ehrhart theory.
Theorem 5.11 There exist only finitely many h∗ -polynomials of lattice
polytopes of degree s and with given leading coefficient h∗s .
This result follows immediately from the following statement combined
with Theorem 5.10. Here, let V (q, k ) be given as in Theorem 4.25.

Proposition 5.12 If P is a d-dimensional lattice polytope of degree s


that is a Cayley polytope of length c + 1 ≥ d + 1 − N , then

nvolZd (P ) ≤ N ! N N V (N , h∗s )N .

— 138 — Haase, Nill, Paffenholz: Lattice Polytopes


Chapter 5. Minkowski meets Ehrhart (draft of June 28, 2021)

Proof. We denote by S the unimodular simplex ∆c = conv(e0 , . . . , ec ),


where e0 = 0. Let d = c + q and π : Zd = Zc+q → Zc be the projection
onto the first c coordinates. For i = 0, . . . , c we set Pi ⊂ Rq such that
ei × Pi = π −1 (ei ) ∩ P .
Set r = d + 1 − s, so rP contains exactly k := h∗s interior lattice
points. The interior lattice points in rP are exactly the interior lat-
tice points in π −1 (λ) ∩ rP , for interior lattice points λ ∈ rS. Say λ =
(λ1 , . . . , λc ) is an interior lattice point of rS such that π −1 (λ) contains
an interior lattice point of P . Then λ1 , . . . , λc and λ0 = r − λ1 − · · · − λc
are positive integers.
Now, any ’fiber’ of π can be identified with a Minkowski sum of
P0 , . . . , Pc :

π −1 (λ) ∩ P = λ × (λ0 P0 + · · · + λc Pc ) .

Let ωij be the width of Pj with respect to the i-th coordinate on Rq , the
difference between the maximum and the minimum of the i-th coordinates
of points in Pj . By Theorem 2.82 there is a choice of coordinates on Rq
such that λ0 P0 + · · · + λc Pc is contained in the standard cube [0, C ]q
with the side length C being equal to q times the normalized volume of
λ0 P0 + · · · + λc Pc . Now, we may choose by Theorem 4.25

C = q V (q, k ).

Since widths are additive and each λj is a positive integer, it follows that
ωi0 + · · · + ωic ≤ C, for 1 ≤ i ≤ q.
Now P projects onto S, so we can express the normalized volume of
P as an integral
Z
vol π −1 (λ) ∩ P dλ,

nvolZd (P ) = d! ·
S

where vol is the ordinary euclidean volume. The volume of π −1 (λ) ∩ P is


bounded by the product of its coordinate widths, which is ci=1 (λ0 ωi0 +
Q

· · · + λc ωic ). Expanding the product and substituting into the integral


above gives
X  Z 
nvolZd (P ) ≤ d! · ω1j1 · · · ωqjq λj1 · · · λjq dλ , (5.2)
j1 ,...,jq S

where the sum is over (j1 , . . . , jq ) ∈ {0, . . . , c}q . Now it follows from
Hölder’s inequality that the integral over S of the monomial λj1 · · · λjq
is bounded above by the integral of λq1 , and a straightforward induction
shows that
Z
λq1 dλ = q!/d!.
S

Haase, Nill, Paffenholz: Lattice Polytopes — 139 —


Lecture Notes Lattice Polytopes (draft of June 28, 2021)

Substituting into (5.2) then gives


X
nvolZd (P ) ≤ q! · (ω1j1 · · · ωqjq ).
j1 ,...,jq

The sum on the right hand side may be written as qi=1 (ωi0 + · · · + ωic ),
Q

which is bounded above by C q since, for each i, ωi0 + · · · + ωic is less


than or equal to C. We conclude that nvolZd (P ) is bounded above by
q! · C q . Now the theorem follows, since q = d − c ≤ d − (d − N ) = N . u
t

TODO: degree one als Bild rein (ohne Beweis)

5.2.2 Small Degree

5.2.3 Normal Form

In many applications, the question arises whether two lattice polytopes P


and Q are isomorphic. Of course, isomorphism here means the existence
of a unimodular transformation x 7→ Ax + b for A ∈ Gld (Z) and b ∈ Zd .
A brute force way would be to go through all of the finitely many
combinatorial isomorphisms between P and Q and check whether the
corresponding affine transformations are unimodular. However, given a
large list of lattice polytopes this procedure is not feasible. This was
the problem faced by Maximilian Kreuzer and Harald Skarke in their
large-scale classification of all reflexive polytopes up to dimension four [32,
33] (see § 7.5.2). In this section we present their solution as implemented
in the software package PALP [34]1
Kreuzer and Skarke showed that it is possible to associate to any
lattice polytope P ⊂ Rd a normal form

N(P ) = (w1 · · · wl ) ∈ Mat Zd × l (Z)

∼ conv(w1 , . . . , wl )
where l is the number of vertices of P such that P =
and the following property holds:

∼ Q ⇐⇒ N(P ) = N(Q).
P =

Hence, any total ordering on the set of integral matrices induces a total
ordering on all unimodular equivalence classes of d-dimensional lattice
polytopes.
We will describe the various ingredients in this construction step by
step. They will also play an important role in the classification algorithm
of reflexive polytopes which is described in § 7.5.2.
1 We remark that there are several choices of such an implementation, and we do
not claim that ours is precisely the one used in PALP.

— 140 — Haase, Nill, Paffenholz: Lattice Polytopes


Chapter 5. Minkowski meets Ehrhart (draft of June 28, 2021)

5.2.3.1 Lattice distance

Let us recall the notion of lattice distance of a vertex v of a full-


dimensional polytope P ⊂ Rd from a facet F of P . The hyperplane
H spanned by F is given as

H = {x ∈ Rd : h ηF , x i = b}

for ηF ∈ (Z? )d a primitive inner normal and b ∈ Q. Then the lattice


distance d(v, F ) of v from F is defined as h ηF , v i − b. Note that d(v, F ) ≥
0 with equality if and only if v ∈ F . The lattice distance is illustrated in
the following figure:
Here is an equivalent way of viewing these numbers. Define the cone
C (P ) := cone(P × 1) ⊂ Rd+1 over P . Then the rays of the dual cone
C (P )? are in one-to-one correspondence to facets F of P . Moreover, the
ray corresponding to a facet F is generated by a primitive lattice point
uF ∈ (Z? )d+1 ) such that uF = (ηF , −bF ). Hence, the lattice distance
d(v, F ) equals h uF , (v, 1) i.

Lemma 5.13 If P = ∼ Q via an affine unimodular transformation ϕ, then


the lattice distance of a vertex v from a facet F of P equals the lattice
distance of the vertex ϕ(v ) from the facet ϕ(F ) of Q.

Proof. The statement seems obvious, however, it doesn’t hurt to give a


detailed proof. Note that CP = ∼ CQ via a linear unimodular transfor-
mation ψ (see Exercise 5.4) such that ψ ((v, 1)) = (ϕ(v ), 1). Moreover,
C ?Q =∼ C ? P via ψ ? , thus, u ? −1
ϕ(F ) = (ψ ) (uF ). Hence, d(ϕ(v ), ϕ(F )) =
h uϕ(F ) , (ϕ(v ), 1) i = h (ψ ? )−1 (uF ), ψ ((v, 1)) i = h uF , (v, 1) i = d(v, F ).
u
t u
t
Exercise 5.4

5.2.3.2 The vertex-pairing matrix

Throughout, we fix a total ordering on the set of integral matrices. We


will use the lexicographic ordering, i.e., for a m × n-matrix {ai,j } we
proceed in this order

a1,1 , a1,2 , . . . , a1,n , a2,1 , a2,2 , . . . , am,n

Let P have the vertex set V(P ) = {v1 , . . . , vl } (with |V(P )| = l)


and the set of facets F (P ) = {F1 , . . . , Fk } with (|F (P )| = k). Then the
matrix of vertex-facet lattice distances

{d(vi , Fj )}i=1,...,l; j =1,...,k

is not unique. It depends on the choosen ordering of the vertices and


facets of P (corresponding to permuting the rows and columns of the

Haase, Nill, Paffenholz: Lattice Polytopes — 141 —


Lecture Notes Lattice Polytopes (draft of June 28, 2021)

previous matrix). In order to make it unique, we use our total ordering


and define the vertex-pairing matrix VPM(P ) of P as the (unique) largest
matrix among the set of l × k-matrices obtained in this way.
Note that VPM(P ) encodes the vertex-facet-incidences of P and
hence its complete combinatorial structure.
Lemma 5.13 implies

∼Q
P = =⇒ VPM(P ) = VPM(Q) .

It is important to observe that the converse does not hold. The two
non-isomorphic lattice polygons in Figure 5.7 have the same vertex-
pairing-matrix  
300
0 3 0
 
003

Fig. 5.7: Two lattice polygons with the same vertex-pairing-matrix

5.2.3.3 The group Ord(P )

We can find an ordering of the set of vertices and facets of P such that

VPM(P ) = {d(vi , Fj }i=1,...,l; j =1,...,k

Of course, there may be several choices how to do so. Let us make this
precise. We define Ord(P ) as the set of bijections σ : {1, . . . , l} → V(P )
such that there exists some bijection π : {1, . . . , k} → F (P ) with

VPM(P ) = {d(σ (i), π (j ))}i=1,...,l; j =1,...,k

By construction, Ord(P ) only depends on VPM(P ). It is an exercise for


the reader to check that
É For each σ ∈ Ord(P ) there is only one such choice for π.
É Identifying V(P ) with {1, . . . , l} realizes Ord(P ) as a subgroup of the
full symmetric group on {1, . . . , l}.
É Ord is invariant under umimodular equivalence.

In Figure 5.7, Ord(P ) is the full symmetric group with 6 elements.


However, Ord(P ) may often be much smaller, see in Figure 5.8.

— 142 — Haase, Nill, Paffenholz: Lattice Polytopes


Chapter 5. Minkowski meets Ehrhart (draft of June 28, 2021)

Fig. 5.8: Lattice triangles with Ord(P ) of size 1, respectively, 2

5.2.3.4 Linear and affine normal forms

For σ ∈ Ord(P ) we define the d × l-matrix


 
Aσ : = v σ ( 1 ) · · · v σ ( l ) .

We will need the Hermite normal form theorem for integral matrices
in its full generality. For the proof we refer to Exercise ??? .

Theorem 5.14 (General Hermite normal form) Given a matrix A ∈


Matd×l (Z) whose column space has full dimension d, there exists a unique
unimodular matrix U ∈ Gld (Z) such that H := U A is in Hermite normal
form, i.e., there exists an r ∈ {1, . . . , l} and a strictly increasing function
f : {1, . . . , d} → {1, . . . , r} such that for i = 1, . . . , d

(1) Hi,j = 0 for j < f (i) and j > r


(2) Hi,f (i) > Hi0 ,f (i) ≥ 0 for 1 ≤ i0 < i

For σ ∈ Ord(P ) let us denote by Hσ the unique matrix U Aσ . Then


we define the linear normal form LNF(P ) of P as the smallest matrix
(with respect to the total ordering) among all Hσ for σ ∈ Ord(P ). By
construction, the linear normal form has the property that P and P 0 are
mapped onto each other by a lattice-preserving linear automorphism if
and only if LNF(P ) = LNF(P 0 ).

Example 5.15 Let us consider the triangle P on the left of Figure 5.8.
Here,
 
600
VPM(P ) = 0 3 0
 
002

| Ord(P )| = 1, and for σ ∈ Ord(P ) we have


!
−1 2 −1
Aσ =
−1 −1 1

Therefore,
!
1 1 −1
Hσ =
0 3 −2

is the linear normal form of P .

Haase, Nill, Paffenholz: Lattice Polytopes — 143 —


Lecture Notes Lattice Polytopes (draft of June 28, 2021)

Example 5.16 Let us consider the triangle P on the right of Figure 5.8.
Here,
 
300
VPM(P ) = 0 3 0
 
001

Ord(P ) = {σ1 , σ2 }, and we have


!
0 01
Aσ1 =
−1 2 2

and
!
0 0 1
Aσ1 =
2 −1 2

Therefore,
!
1 −2 0
Hσ1 =
0 0 1

and
!
2 −1 0
Hσ2 =
0 0 1

Hence, Hσ1 equals the linear normal form of P .

In order to get the desired affine normal form we apply (5.14) to the
d × l-matrix  
A0 : = 0 v 1 − v 0 · · · v l − v 0 .

This yields a unique matrix U ∈ Gld (Z) such that U A0 is in Hermite


normal form. Let us denote for σ ∈ Ord(P ) by Hσ0 the unique matrix
U (Aσ )0 . Then we define the (affine) normal form N(P ) of P as the smallest
matrix among all d × l-matrices Hσ0 for σ ∈ Ord(P ). By construction, the
affine normal form has the desired property that P and P 0 are mapped
onto each other by a lattice-preserving affine automorphism if and only
if N(P ) = N(P 0 ).

Example 5.17 Let us continue with Example 5.15. For the unique σ ∈
Ord(P ) we have !
0 030
( Aσ ) =
002
This is already in Hermite normal form, hence
!
0 030
Hσ =
002

is the affine normal form of P .

— 144 — Haase, Nill, Paffenholz: Lattice Polytopes


Chapter 5. Minkowski meets Ehrhart (draft of June 28, 2021)

Example 5.18 Let us continue with Example 5.16. Here, Ord(P ) =


{σ1 , σ2 }, and we have
!
0 001
(Aσ1 ) =
033
and !
0 0 0 1
( Aσ 1 ) =
0 −3 0
Therefore, !
030
Hσ0 1 =
001
and !
030
Hσ0 2 =
001

Hence, Hσ0 1 = Hσ0 2 equals the affine normal form of P .

The reader may wonder whether we really needed Ord(P ) in order


to define these normal forms. Indeed, it would have been possible to take
the group of all permutations of V(P ). However, in general Ord(P ) is
much smaller and therefore computationally more feasible. Moreover,
these concepts will be useful when dealing with reflexive polytopes, see
Section ???.

5.2.3.5 The algorithm of Kasprzyk and Grinis

See [23]

5.3 Problems
Exercise 5.5
5.1. Prove Lemma 5.3.
included on page 133

included on page 135


5.2. Prove all the basic facts on circuits needed in § 5.1.3.
included on page 136

5.3. Prove that for any d-dimensional polytope P which is not a simplex
there exists a vertex such that the convex hull of the other vertices
is full-dimensional.
included on page 141

5.4. pb:affine-to-cone
included on page 145

5.5. A dummy exercise.

Haase, Nill, Paffenholz: Lattice Polytopes — 145 —


Short Rational
Generating Functions
6
Contents
6.1 Hermite and Smith Normal Forms . . . . . . . . 148
6.2 Computing Short Rational Generating
Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
6.2.1 Polynommial Time Evaluation . . . . . . . . . . . 153
6.2.2 Integer Linear Programming via Evaluation 155
6.3 The Shortest Vector Problem . . . . . . . . . . . . 155
6.4 Short Lattice Bases . . . . . . . . . . . . . . . . . . . . . . 158
6.4.1 Applications of LLL . . . . . . . . . . . . . . . . . . . . 168
6.5 Variations of Barvinok’s Algorithm . . . . . . . 168
6.6 The Closest Vector Problem . . . . . . . . . . . . . . 170
6.7 Integer Programming in Fixed Dimension . 170
6.8 Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
6.9 Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173

In Section 4.1 we have shown that any lattice has a non-zero vector of

length at most d det Λ. However, the proof was not constructive and we
have left open the question how one can actually compute such a vector in
polynomial time. We will solve this problem in Section 6.3. This algorithm
hinges on the fact that we need to compute a reduced basis efficiently. We
will give an algorithm for one special reduced basis, the δ-reduced basis
using the LLL-method in Section 6.4. This will finally give the complete
algorithm for counting lattice points. Using this basis algorithm we can
also solve the problem of computing a rational generating function for
Lecture Notes Lattice Polytopes (draft of June 28, 2021)

a cone in polynomial time in fixed dimension, left open in Section 3.3.


In Section 6.5 we discuss some improvements of the algorithm. Finally,
we will show that we can solve an integer program in polynomial time in
fixed dimension.

6.1 Hermite and Smith Normal Forms

Smith normal forms using Kannan and Bachem [29]. See also Gerald
Jäger, A new algorithm for computing the Smith normal form and its
implementation on parallel machines

6.2 Computing Short Rational Generating Functions

In Chapter 3 we have seen that we can express the lattice points in a


cone as a rational function. The proof somehow also gives a method
to compute such a function by enumerating the lattice points in the
fundamental parellelipiped and deriving the appropriate numerator from
this. Yet, as we will see below, this is in general not a task that can be
done in polynomial time in the size of the input and the dimension. In this
section we will develop a different approach using signed decompositions
of a cone to compute the multivariate rational generating function GP (t)
of a simplicial cone in polynomial time, at least for fixed dimension. This
extends to all cones by using a triangulation without new vertices. We
looked at this for polytopes in Theorem 2.35. The same construction works
for cones. Note that this construction of a triangulation is polynomial in
the size of the input.
The h? -polynomial, and thus the Ehrhart polynomial can be obtained
from the generating function of the cone over the polytope by specializing
the rational function at x = (t, 1). Similarly, we may count lattice points
in a polytope via the generating functions of the vertex cones specialized
at x = 1, using Brion’s Theorem (Theorem 3.67). However, these values
are (removable) poles of the generating functions. We will discuss a
possible approach to evaluate the functions efficiently in § 6.2.1.
The initial idea for the algorithm presented in this section is due to
Barvinok [3] and Barvinok and Pommersheim [6]. For fixed dimension
d the algorithm is polynomial in the input size. Practical implemen-
tations can be found in the software package LattE and its successors
LattE macchiato and LattE integrale [S1, S2] or in barvinok [S3, 59].
See Section 6.8 for some examples of computations of short generating
functions.
Yet, the algorithm needs Minkowski’s First Theorem (Corollary 4.3)
to find a short vector in the lattice as a (frequent) intermediate step.

— 148 — Haase, Nill, Paffenholz: Lattice Polytopes


Chapter 6. Short Rational Generating Functions (draft of June 28, 2021)

We have already dicussed that its proof as presented in Chapter 4 is


not constructive. We solve this in Section 6.3. This in turn relies on
a method to obtain a lattice basis that approximates an orthogonal
vector space basis, which is the topic of Section 6.4, where we discuss
the LLL-algorithm of Arjen Lensta, Hendrik Lensta, and László Lovász.
Efficient implentations also use the half open decompositions introduced
in § 3.4.1 to get rid of lower dimensional cones in the decomposition or
a decomposition of the dual cone to turn lower dimensional cones into
cones with lineality. We discuss these improvements in Section 6.5.
In the case of a polytope P , the generating function of the lattice
points is actually a polynomial (the sum of all monomials for all lattice
points in P ). Observe however, that we usually cannot write this down
in polynomial time in the size of the input, just because there may be
more than polynomially many lattice points compared to the number of
vertices. Thus, we should not try to expand a rational function to get rid
of the poles.
We aim for a polynomial method (in fixed dimension) to compute
integer point generating functions of simplicial cones. We theoretically
know how to write down the function, the formula is just given by
Corollary 3.28. But from an algorithmic point of view this may not be
efficient, as its numerator may need too many monomials, compared to the
size of the input. An example, which already works in dimension 2, is the
following. Consider the cone C := conv(e1 , e1 + ke2 ) for some k ∈ Z> .
We need k monomials in the numerator or k cones in a unimodular
triangulation, which is not polynomial in the input, which are just the
two generators of the cone. See also Figure 6.1
Hence, if we want a polynomial time algorithm we need a better way
to subdivide. The key idea for this is to use signed decompositions, which
are decompositions where we may take new rays outside of the original
cone and use addition and subtraction of rational generating functions
to obtain the desired rational generating function of the original cone. It
was the achievement of Barvinok [3] to show that with this method you
Fig. 6.1: The cone spanned by e1 and
can get away with a polynomial number of (even unimodular) cones.
e1 + kek needs k unimodular cones in
To make this precise, let C be a d-dimensional cone spanned by its decomposition
primitive rays v1 , . . . , vd . We define the index of the cone C to be

Index(C ) := #(Π(v1 , . . . , vd ) ∩ Zd )
= | det(v1 , . . . , vd )|
= vol Π(v1 , . . . , vd )

The cone C is unimodular if and only if Index(C ) = 1. In a triangula-


tion T of our cone C we will record the index of each cone in T (note that,
for the generating series we also need to take lower dimensional cones

Haase, Nill, Paffenholz: Lattice Polytopes — 149 —


Lecture Notes Lattice Polytopes (draft of June 28, 2021)

into account to account for overcounting in intersections via inclusion-


exclusion). This collection of indices is both a measure of how far we are
still from a unimodular triangulation and it gives an indicator whether
we are already done or which cones we need to subdivide further.
Oberserve that the index of a face F of a cone C is bounded by the
index of C, i.e. Index(F ) ≤ Index(C ), so we actually only need to track
indices of maximal cones and subdivide those if the index is still larger
than one. This is, of course, only useful if we can provide a method that
subdivides a cone into cones of smaller index. Here the idea of signed
decompositions is needed to make this efficiently.
The basic tool in the construction is Minkowski’s First Theorem
(Corollary 4.3), which tells us that for any compact, convex, and centrally
symmetric K ⊆ Rd with vol K ≥ 2d there exists a 6= 0 in K ∩ Zd .
We use this theorem in the following way. If, for a cone C, the index
Index(C ) is still larger than 1, then
 
1 X
K := √d
λ 1 v i : −1 ≤ λi ≤ 1
Index C
is a compact, convex, and centrally symmetric body with volume

vol(K ) = 2d .

Hence, we can conclude that there is w ∈ K ∩ Zd different from 0. We


can write w as a linear combination of the cone generators and, as w is
contained in K, we obtain a bound on the size of the coefficients, that is,
we know that

0 ≤ |λi | ≤ (Index(C ))− /d .


1
w = λ1 v1 + λ2 v2 + · · · + λd vd for
(6.1)

As already observed before, the proof of Minkowski’s First Theorem


(Corollary 4.3) is not constructive, and it is generally difficult to compute
such a point w. See Section 6.3 for an approach.
Consider the vector w obtained in (6.1). By replacing w with −w if
necessary we can assume that w, v1 , . . . , vd lie in a common half-space.
Additionally we may clearly assume that w is primitive. By construction,
1
|λi | ≤ (Index C )− d . We define new cones

Cj := cone(v1 , . . . , vj−1 , w, vj +1 , . . . , vd ) for 1≤j≤d

by replacing vj by w. We compute the index of these new cones to be

— 150 — Haase, Nill, Paffenholz: Lattice Polytopes


Chapter 6. Short Rational Generating Functions (draft of June 28, 2021)

Index Cj = | det(v1 , . . . , vj−1 , w, vj +1 , . . . , vd )|


d
X
= |λk | · | det(v1 , . . . , vj−1 , vk , vj +1 , . . . , vd )|
k =1
= |λj | · | det(v1 , . . . , vd )|
1
= |λj |(Index C ) ≤ (Index C )− d (Index C )
d−1
= (Index C ) d

and the right hand side is strictly less than Index C if Index C ≥ 2. As
the index is an integral number we see that the index actually drops by
at least one.
We define a corresponding sign function to make a signed subdivision
of C with the cones Cj . For 1 ≤ j ≤ d let

 0 if dim Cj < d


εj := 1 if det(v1 , . . . , vd ) · det(v1 , . . . , vj−1 , w, vj +1 , . . . , vd ) > 0


−1 otherwise.

Using our decomposition and the corresponding sign function we may


write the integer point generating series as the signed sum
d
X
b C (t) =
G b C (t) + lower dimensional contributions.
εj G j
j =1

In our decomposition we have


É at most d d-dimensional cones,
É at most 2d d cones of any dimension.
We repeat this decomposition for each cone of index ≥ 2 in our trian-
gulation successively until there is no cone of index greater than one
left.
Let us compute how many iterations we need in this procedure. After
n decomposition steps, a cone D in the decomposition has index at most
d−1 n

Index D ≤ (Index C ) d

and we need to check for which n this number drops below 2 (recall that
the index is integral, so it must be 1). We take the binary logarithm twice
to solve this expression for n:
d−1 n d−1 n
      
lg2 lg2 (Index C ) d = lg2 lg2 (Index C )
d
 
d−1
= n lg2 + lg2 lg2 (Index C )
d
 
d
= −n lg2 + lg2 lg2 (Index C ) .
d−1
(6.2)

Haase, Nill, Paffenholz: Lattice Polytopes — 151 —


Lecture Notes Lattice Polytopes (draft of June 28, 2021)

Algorithm 6.1: Barvinok’s Algorithm: Original Version


Input: A polyhedron P = {x | Ax ≤ b} with vertices v1 , . . . , vk .
Output: The integer point generating function for P as
X tai
GP (t) = εi
(1 − tvi1 ) · · · (1 − tviki )
i∈I

for εi ∈ {−1, 1}, ai , vi j ∈ Zd .


for i ← 1 to k do
Compute vertex cone Ci at vertex vi ;
Triangulate Ci into ki simplicial cones Cij ;
for j ← 1 to ki do
k
do a signed decomposition of Cij into unimodular cones Cij .;
k k
compute the unique interior point aij in Cij ;
end for
sum up the contributions using the inclusion-exclusion principle;
end for
sum up the contributions using the inclusion-exclusion principle;

Hence, if
lg2 lg2 (Index C )
n >   = O (d lg2 lg2 Index C ) ,
d
lg2 d−1

then the right hand side of (6.2) is negative, so that


d−1 n d−1 n
   
Index D ≤ (Index C ) d ≤ (Index C ) d < 2,

i.e.

Index D = 1 .

So the number of iterations until we reach unimodular cones is indeed


polynomial. However, we also need to check that the number of cones we
produce is polynomial. In n steps we produce at most
2
(d2d )n = 2nd lg2 d ≤ 2M d lg2 d lg2 lg2 Index C

2
= (lg2 Index C )M d lg2 d

2
= (lg2 Index C )O (d lg2 d)
.

cones. Hence, we conclude that with this approach indeed, in fixed


dimension, the number of cones is bounded by a polynomial in lg2 Index C.
This is in the order of the input size of our cone in binary encoding. We
summarize the algorithm in Algorithm 6.1 and the following theorem.
Theorem 6.1 Let d ∈ Z>0 be fixed. Then there is a polynomial time
algorithm that computes the integer point generating function GP (t) in
the form

— 152 — Haase, Nill, Paffenholz: Lattice Polytopes


Chapter 6. Short Rational Generating Functions (draft of June 28, 2021)

X tai
GP (t) := εi ,
(1 − tvi1 ) · · · (1 − tvisi )
i∈I

where εi ∈ {−1, 1}, a ∈ Zd , vij ∈ Zd \ {0} for all i, j and si ≤ d, for


any d-dimensional polyhedron P given in its exterior description. u
t
Note that, in this theorem, the index set I runs over all cones, including
lower dimensional ones, in the subdivision.

6.2.1 Polynommial Time Evaluation

We can use Theorem 6.1 to compute h? -polynomials or Ehrhart polyno-


mials by computing the generating function of the cone over the polytope.
Similarly, using Brion’s Theorem (Theorem 3.67), we can count lattice
points in P and multiples of P (and thus also comput the Ehrhart poly-
nomial via interpolation) by computing the rational generating functions
of all vertex cones. However, this usually requires us to evaluate the
generating function at x = (t, 1) or x = 1. Although we now from the
theory that these are regular points of the rational functions, they are
poles in the representation we obtain. We use tools from analysis to
evaluate them (Note again, that expansion into a Taylor series, though
theoretically a method to remove the pole, is not an option if we want
evaluate this in polynomial time.).
One possible approach is to define a curve γ (s) for a real parameter
s ≥ 0 such that γ (0) is (t, 1) or 1 (depending on whether we look at the
cone over P or at a vertex cone of P ) and the only pole of our generating
function on that curve occours for s = 0. Then we take the limit s → 0.
We need the following lemma.
Lemma 6.2 Let v1 , . . . , vk ∈ Rd . Then there is m ∈ Rd such that
h m, vj i 6= 0 for 1 ≤ j ≤ k.

Proof. We use the moment curve


 
m(λ) := 1, λ, λ2 , . . . , λd−1 .

The map
d
Y
λ 7−→ h m ( λ ) , vj i
j =1

is a nonzero polynomial of degree (d − 1)k. Hence, it has at most (d − 1)k


zeros and we can try a polynomial number of values to find a λ such that
m(λ) gives the claim. u
t

Using this lemma we can find m = (m1 , . . . , md ) ∈ Rd such that, in the


notation of Theorem 6.1,

Haase, Nill, Paffenholz: Lattice Polytopes — 153 —


Lecture Notes Lattice Polytopes (draft of June 28, 2021)

h m, ai i 6= 0 h m, vij i 6= 0 for i ∈ I and 1 ≤ j ≤ si .

Now consider (we look at evaluation at 1, the case for (t, 1) is similar)

x(r ) := (erm1 , . . . , ermd ) .

We get the desired evaluation as

lim GP (x(r )) .
r→0

Let

αi := h m, ai i νij := h m, vij i .

Then
X eαi r
GP (x(r )) = ε i Q si uij r ) ,
i∈I j =1 (1 − e

and the summands are all rational functions in one variable r which
are defined for all r > 0. We want to compute the constant term of the
Laurent expansion of all summands at r = 0. Now consider a single such
fraction. We can transform it to obtain
si
e αi r 1 αi r Y r
Qs i = e . (6.3)
j =1 (1 − e
uij r ) r s i 1 − euij r
j =1

Now each factor


r
1 − euij r
is defined for all r and we can compute the Laurent expansion up to
degree si + 1:
r
= Tij (r ) + Rij (rsi +1 ) ,
(1 − euij r )
and similarly we get
0
eαi r = Si (r ) + Rij (r k +1 ) .

We compute the product up to degree si + 1:


si
Y
Pi (r ) := Si (r ) Tij (r ) + Ri00 (rsi +1 ) .
j =1

Let ci be the coefficient of rsi (note that (6.3) has an additional factor of
1
rsi , so for this product ci is the constant coefficient). We sum them up
with the given signes to obtain
X
c := εi ci .
i∈I

This is the desired limit and thus the evaluation at 1.

— 154 — Haase, Nill, Paffenholz: Lattice Polytopes


Chapter 6. Short Rational Generating Functions (draft of June 28, 2021)

Remark 6.3 Using the Todd-polynomials tdm (ξ1 , . . . , ξd ) defined by


k ∞
Y xξi X
= tdm (ξ1 , . . . , ξd )xm
1 − e−xξi m=0
i=1

one may obtain a closed formula for the evaluation of GC (1), see e.g. [18,
Thm. 7.2.1]. However, this requires us to evaluate the Todd polynomials.

6.2.2 Integer Linear Programming via Evaluation

You can use GP (t) also to solve linear programs. If you want to
maximize over a functional c ∈ Zd , then you can just substitute
t = (z c1 , z c2 , . . . , z cd ). The highest degree of a monomial in the result is
the optimal solution.

6.3 The Shortest Vector Problem

In this section we consider Minkowski’s problem of finding a non-zero


vector of shortest length in a lattice.

(SVP). Let Λ be a lattice with lattice basis v1 , v2 , . . . , vd . The Shortest


Vector Problem (SVP) asks to find, in polynomial time in the dimension
and the input size of the lattice basis, a non-zero vector u ∈ Λ \ {0} of
shortest possible length.

This is a quite famous and important optimization problem. Observe that


a shortest non-zero lattice vector has length λ1 (Λ), the first successive
minimum introduced in Definition 4.6.
An important relaxation of the shortest vector problem is the ap-
proximate shortest Vector problem (SVP)γ that asks, for a given bound
γ = γ (d) ≥ 1 to find a non-zero lattice vector u of length

kuk ≤ γλ1 .

In fact, our algorithm for (SVP) is based on a solution for the approximate
problem by constructing a reduced basis. We show that the coefficients of
a shortest vector in such a basis are bounded by a constant depending
on the dimension only. Hence, we can solve the shortest vector problem
by enumerating over all possible coefficients (in fixed dimension).
In this section we explore the difficulties in the computation of a short
basis vector, introduce reduced bases and show how such bases bound
the size of coefficients for a shortest vector. This proves that, in fixed
dimension and given a reduced basis, we can solve (SVP) in polynomial
time.

Haase, Nill, Paffenholz: Lattice Polytopes — 155 —


Lecture Notes Lattice Polytopes (draft of June 28, 2021)

In the following Section 6.4 we introduce a special type of reduced


bases, the δ-reduced bases of Arjen Lenstra, Hendrik Lenstra and László
Lovász from 1982 together with a polynomial time algorithm for their
computation, again in fixed dimension.
Let us first discuss why the computation of a short vector, or a basis
with short vectors is more involved for lattice bases than for vector space
bases. We know from Proposition 4.5 that there is a vector of length at

most d det Λ, but the proof did not give a method to actually construct
such a vector, not even by enumeration. However, the problem would
be easy to solve if vectors in the lattice basis actually were pairwise
othogonal. In this case, the shortest of the lattice basis vectors is in fact
a non-zero lattice vector of shortest length.
If we disregard the lattice structure for a moment, any vector space
basis can be transformed into an orthogonal one using Gram-Schmidt
orthogonalization. This algorithm runs in polynomial time depending on
the dimension. However, it clearly does not respect the lattice structure.
The example of the hexagonal lattice shown in Figure 6.2 shows in fact
that, in general, there even does not exist a basis with pairwise orthogonal
vectors, and we have also already seen bases with vectors of necessarily
different lengths.
For an approximate solution of the shortest vector problem we want
to discuss how close we can get to an orthogonal basis for lattice vectors
(while being able to compute the basis in polynomial time).
Fig. 6.2: The hexagonal lattice
Let Λ ⊆ Rd be a lattice with a basis v1 , v2 , . . . , vd ∈ Rd . The order
of the basis vectors is important for the following considerations. We
consider the increasing chain of subspaces

V0 := {0} Vk := lin(v1 , . . . , vk ) for 1 ≤ k ≤ d .

together with the induced lattices Λk := Λ ∩ Vk on these spaces. For


0 ≤ k ≤ d let πk : Rd → Vk be the orthogonal projection onto the
subspace Vk and define a new set of vectors via

wk := vk − πk−1 (vk )
k−1
X h vk , w j i
= vk − λjk wj with λjk := .
kwj k2
j =1
Fig. 6.3: Orthogonal projec-
tion of a lattice generator See also Figure 6.3. This is the Gram-Schmidt-orthogonalization of the
lattice basis v1 , . . . , vd . So in particular we have

h wi , wj i = 0 for 1 ≤ i < j ≤ d and d(vk , Vk−1 ) = kwk k .


Fig. 6.4: Distance of vk from the sub-
space Vk is given by the norm of wk . See also Figure 6.4.

— 156 — Haase, Nill, Paffenholz: Lattice Polytopes


Chapter 6. Short Rational Generating Functions (draft of June 28, 2021)

! !
2 1
Example 6.4 Let v1 := , v2 : = . This is a basis of R2 with
1 2
Gram-Schmidt-orthogonalization
!
−3/5
w1 = v1 and w2 = = −4/5v1 + v2 ,
6/5
v2
see Figure 6.5. w2
v1 = w 1
We can write the original lattice basis in terms of the Gram-Schmidt
basis as Fig. 6.5: The lattice basis of Exam-
ple 6.4
k−1
X
vk = w k + λjk wj for 1 ≤ k ≤ d . (6.4)
j =1

The vectors w1 , . . . , wd are pairwise orthogonal, so


d
Y k
Y
det Λ = kwj k . and det Λk = kwj k .
j =1 j =1

The Gram-Schmidt vectors give a lower bound for the length of a shortest
vector of the lattice.
Proposition 6.5 Let Λ be a d-dimensional lattice with basis v1 , v2 , . . . , vd
and Gram-Schmidt-orthogonalization w1 , w2 , . . . , wd . Then

kuk ≥ min(kw1 k, . . . , kwd k)

for all u ∈ Λ \ {0}.

Proof. We can write u as a linear combination


d
X
u = ηj wj .
j =1

Let k be the highest index such that ηk 6= 0. We can rewrite


k−1
X
u = ηk wk + µj wj
j =1

for some coefficients µj , 1 ≤ j ≤ k − 1. By othogonality, |ηk | ≥ 1, so that

kuk ≥ |ηk |kwk k ≥ kwk k . u


t

Definition 6.6 (orthogonality defect) The orthogonality defect of


the lattice basis v1 , v2 , . . . , vd is
d
1 Y
MΛ : = kvj k .
det Λ
j =1

Haase, Nill, Paffenholz: Lattice Polytopes — 157 —


Lecture Notes Lattice Polytopes (draft of June 28, 2021)

Observe that the basis vectors v1 , v2 , . . . , vd are pairwise orthogonal if


and only if MΛ = 1. In all other cases MΛ is strictly larger than 1.
With this notion we have a measure how close a basis is to orthogo-
nality.
Definition 6.7 A lattice basis is reduced if its orthogonality defect is
bounded by a constant Md depending on the dimension only.
This definition leaves open whether there actually exists such a constant
Md and how large we should choose it so that there is a reduced basis.
We anwser this in the next Section 6.4 with an algorithm to compute a
reduced basis and an explicit value for Md .
The usefulness of notion is demonstrated by the following proposition,
which shows that we can compute a shortest non-zero lattice vector from
a reduced lattice basis in polynomial time.
Theorem 6.8 Let Λ be a lattice with reduced basis v1 , . . . , vd and let
u ∈ Λ\{0} be a shortest non-zero lattice vector. Then
d
X √
u = λj v j with |λj | ≤ dM for 1 ≤ j ≤ d.
j =1

Proof. Let v1 be the shortest vector among v1 , . . . , vd , and let V =


(v1 , . . . , vd ). Then u = V λ for λ = (λ1 , . . . , λd ). Hence, λ = V −1 u.
By Cramer’s rule all entries of V −1 are determinants of (d − 1) ×
(d − 1)-minors of V , divided by det V . So each entry of V −1 is bounded
by
1 M
kv2 k · . . . · kvd k · ≤ .
det V kv1 k
So
X M √ M √
|λj | ≤ |ui | ≤ dkuk ≤ dM ,
kv1 k kv1 k
where the last inequality uses kuk ≤ kv1 k. u
t

Hence, we can solve the shortest vector problem in polynomial time by



enumerating all N := (2 dM )d choices for the coefficients of the shortest
vector, once we can find a reduced basis in polynomial time.
Theorem 6.9 In fixed dimension d we can find w ∈ Π0 ∩ Zd , w 6= 0 in
time polynomial in log3 max(kvi k). u
t

6.4 Short Lattice Bases

We have seen in the previous section that reduced bases allow the compu-
tation of a shortest vector, and thus count lattice points in a polytope, in

— 158 — Haase, Nill, Paffenholz: Lattice Polytopes


Chapter 6. Short Rational Generating Functions (draft of June 28, 2021)

polynomial time. Yet, so far we don’t even know that such bases exist for
our lattice Λ. We address this question in the following by introducing
a very special type of reduced basis together with a polynomial time
algorithm first described by Arjen Lenstra, Hendrik Lenstra and László
Lovász in 1982 [38]. The algorithm is known as as the LLL-algorithm in
honour of the three authors.

Definition 6.10 (δ-LLL-reduced basis) Let Λ be a lattice with lattice


basis v1 , . . . , vd and Gram-Schmidt orthogonalization w1 , . . . , wd . Let λjk
be the coefficients of the representation of the vj ’s in the Gram-Schmidt
basis as in (6.4).
The basis v1 , . . . , vd is δ-reduced for some 1/4 < δ < 1 if

(1) |λjk | ≤ 1/2 for all 1 ≤ j < k ≤ d and


(2) for all 1 ≤ k ≤ d − 1

δ d(vk , Vk−1 )2 ≤ d(vk+1 , Vk−1 )2 (6.5)

We mostly consider this definition for the particular choice δ = 3/4.


We say that a coefficient λjk is weakly reduced if it satisfies condition vk vk + 1
(1) of the definition. A lattice basis is weakly reduced if all coefficients
are weakly reduced. Vk−1
Geometrically a basis is δ-reduced if the vector vk+1 is not much
closer to the subspace spanned by the first k − 1 basis vectors than
the vector vk , see Figure 6.6. Observe that we could equally write this Fig. 6.6: The second condition for
LLL
condition with the Gram-Schmidt-vectors w1 , w2 , . . . , wd as

δkwk k2 ≤ kwk+1 + λk,k+1 wk k2


v2
for all 1 ≤ k ≤ d − 1. w3
w2
Example 6.11 Here is an example of a 3/4-reduced basis and one that v1 = w1
is not. Consider the three vectors v3
     
2 0 1
v1 : =  1  v2 : =  1  v3 :=  −1 
     
0 1 3
v10 = w10 v30 = w30
Their Gram-Schmidt-orthogonalization is
    v20
2 −2/5
2
w1 :=  1 
 
w2 :=  4/5  = v2 − w1
  w20
5
0 1
  Fig. 6.7: A lattice basis that is not
1 3/4-reduced and one for the same
1
w3 :=  −2  = v3 − w1 − w2 lattice that is reduced.
 
5
2

Haase, Nill, Paffenholz: Lattice Polytopes — 159 —


Lecture Notes Lattice Polytopes (draft of June 28, 2021)

Then λ13 violates condition (1) of the definition, and v1 and v2 violate
condition (2), as d(v1 , V0 )2 = 5 and d(v1 , V0 )2 = 9/5 but 3/4 · 5 > 9/5.
However, the basis
     
0 2 1
v10 :=  1  v20 :=  1  v30 :=  −2  ,
     
1 0 2

that spans the same lattice, is LLL-reduced. It has Gram-Schmidt-


orthogonalization
     
0 2 1
1
w10 :=  1  w20 :=  1/2  = v20 − w10 w30 := 0
 −2  = v3 .
     
2
1 −1/2 2

For an orthogonal basis w1 , . . . , wd of Rd we can find a permutation


such that the distances d(wk , Vk−1 ) strictly increase for 2 ≤ k ≤ d. The
condition for a δ-reduced basis is a relaxation of this. We only require
that, if a basis vector is shorter than a previous one, it is shorter by
at most a factor of δ. The following considerations will show that this
relaxation is sufficient to compute such a basis in polynomial time (in the
dimension and the input size), and it will lead to a universal bound as
required in the approximate shortest vector problem. Hence, we can use
this together with Theorem 6.8 to actually compute the shortest vector.
It is important to note that the notion of reduced bases and the
algorithm we are going to present has many more important applications
apart from the computation of a shortest vector. We will see some of
them in the following sections. For more applications see for example [42].
Here is the main theorem of this section.
Theorem 6.12 (Lenstra, Lenstra, Lovász, 1982) Λ ⊂ Rd a lattice.
Then we can find a basis v1 , . . . , vd of Λ in polynomial time such that

kv1 k, . . . , kvd k ≤ M det Λ

We need some preparations for the proof of this theorem. Consider the
representation of our given basis in (6.4). Assume that for some pair of
indices i < k the absolute value of the coefficient λik is larger than 1/2.
Then there is a unique µik ∈ R and aik ∈ Z such that

|µik | ≤ 1/2 λik = aik + µik .

We set

vk0 := vk − aik vi and vj0 := vj for j 6= k ..

This leaves the subspaces Vj invariant and v10 , . . . , vj0 is still a basis of
the lattice Λj for 1 ≤ j ≤ d. The new basis has the same Gram-Schmidt

— 160 — Haase, Nill, Paffenholz: Lattice Polytopes


Chapter 6. Short Rational Generating Functions (draft of June 28, 2021)

orthogonalization w1 , . . . , wn . We want to compute the coefficients λ0jk


for the new basis in the representation (6.4).
We consider a fixed k between 1 and d. Clearly, the adjustment of
vk at most affects the coefficients λjk for this k and 1 ≤ j ≤ k − 1, so
λ0jl = λjl for l 6= k and j < l. We compute the new coefficients for vk0 .
For this, we can write vk0 = vk − aik vi as

k−1
X
vk0 = wk + λjk wj − aik vi .
j =1

The vector vi is in the subspace Vi , so it has a representation


i
X
vi = ηj wj ,
j =1

So we can write
i
X k−1
X
vk0 = wk + (λjk − aik ηj )wj + λjk wj ,
j =1 j =i+1

Now vi − wi ∈ Vi−1 , so ηi = 1 and thus

|λik − ηi aik | = |λik − aik | = |µik | ≤ 1/2 .

So the coefficient λ0ik := λik − ηi is weakly reduced, and the new coeffi-
cients for vk0 are

λ0jk := λjk − aik ηj forj ≤ i


λ0jk := λjk forj > i

We want to use this to make all coefficients weakly reduced, that is, to
make the lattice basis weakly reduced. However, we have to be careful,
as making λ0ik weakly reduced also affects λjk for j < i. So, for fixed
k we apply this procedure to all λik with i in decreasing order. Doing
this for all 1 ≤ k ≤ d gives us a weakly reduced basis. This procedure is
formalized in Algorithm 6.2.
There are (d2) coefficients, and reducing λik with the above procedure
we have to touch at most i ≤ d other coefficients, so this process terminates
after at most O (d3 ) steps. We summarize this in the following proposition.

Proposition 6.13 Any lattice Λ has a weakly reduced basis. More pre-
cisely, we can transform any basis into a weakly reduced one in O (d3 )
steps using Algorithm 6.2. u
t

Haase, Nill, Paffenholz: Lattice Polytopes — 161 —


Lecture Notes Lattice Polytopes (draft of June 28, 2021)

Algorithm 6.2: Weakly Reduced Basis


Input: Λ lattice in Rd of rank d with lattice basis v1 , . . . , vd .
Output: weakly reduced lattice basis v10 , . . . , vd0
Compute the Gram-Schmidt orthogonalization w1 , . . . , wd ;
Compute coefficients λjk , 1 ≤ j < k ≤ d such that
Pk−1
vk = wk + j =1 λjk wj ;
for k from 2 to d do
for j from k − 1 to 1 do
Determine µjk ∈ R, ajk ∈ Z such that λjk = µjk + ajk and
|µjk | ≤ 1/2,;
vk ← vk − ajk vj ;
end for
end for
return v1 , . . . , vd ;

How can we transform a weakly reduced basis into a reduced one?


We will show that repeatedly applying the following two steps lead to a
successful algorithm.
(1) If a weakly reduced basis has a pair of vectors vj , vj +1 violating
condition (6.5), then we exchange vj and vj +1 .
(2) The new basis will usually not be weakly reduced anymore. We fix
this by applying Algorithm 6.2 again.

We repeat these two steps until we reach a reduced basis. This is formalized
in Algorithm 6.3.

Algorithm 6.3: LLL


Input: A lattice basis v1 , . . . , vd .
Output: A reduced lattice basis v10 , . . . , vd0
Make v1 , . . . , vd weakly reduced (Algorithm 6.2);
while V not δ-reduced do
Find a pair vj , vj +1 that violates (6.5) and exchange the two
vectors;
Make v1 , . . . , vd weakly reduced (Algorithm 6.2);
end while
return v1 , . . . , vd ;

We clearly obtain a δ-reduced basis if this procedure terminates. We


introduce a new numerical invariant of a lattice basis. The potential of a
lattice basis v1 , . . . , vd is defined as
d
Y
D ( v1 , . . . , vd ) : = det Λj . (6.6)
j =1

— 162 — Haase, Nill, Paffenholz: Lattice Polytopes


Chapter 6. Short Rational Generating Functions (draft of June 28, 2021)

We can express D (v1 , . . . , vd ) also in the Gram-Schmidt orthogonaliza-


tion.
d Y
Y k
D ( v1 , . . . , v d ) = kwj k .
k =1 j =1

Note that D (v1 , . . . , vd ) depends on the order of the basis vectors. It


puts more weight on those vectors coming first in the basis. Hence, it
will change if we exchange two of the basis vectors.
Let us determine the change in D after one iteration of Algorithm 6.3.
We have observed above that making a basis weakly reduced does not
change the subspaces Vi and the lattices Λi , hence, it also does not change
D. Assume that vj and vj +1 for 1 ≤ j ≤ d − 1 violate the condition of
Definition 6.10(1). Let v10 , . . . , vd0 be the basis obtained by exchanging vj
and vj +1 , i.e.

vj0 +1 := vj vj0 := vj +1 vi0 := vi for i 6= j, j + 1 .

Let Vi0 , Λ0i be the new subspaces and lattices, 1 ≤ i ≤ d. Then

Vi0 = Vi Λ0i = Λi for i 6= j ,

while

Vj0 := lin(v10 , . . . , vj−1


0
, vj0 ) = lin(v1 , . . . , vj−1 , vj +1 ) .

The new Gram-Schmidt vectors are

wi0 := wi for i 6= j, j + 1
j−1
X
wj0 := vj +1 − λi,j +1 wi = vj +1 − πj−1 (vj +1 )
i=1
j−1
X h vj , wj0 i
wj0 +1 := vj − λij wi − wj0
kwj0 k2
i=1
h vj , wj0 i
= vj − πj−1 (vj ) − wj0
kwj0 k2

By our assumption on vj and vj +1 we have

δ · d(vk , Vk−1 )2 > d(vk+1 , Vk−1 )2

Consequently, the vectors wj and wj0 satisfy

δ · kwj0 k2 > kwj k2 = β · kwj0 k2

Haase, Nill, Paffenholz: Lattice Polytopes — 163 —


Lecture Notes Lattice Polytopes (draft of June 28, 2021)

for some β < δ < 1. Hence, 1/β kwj0 +1 k2 = kwj +1 k2 as for all other i we
have wi0 = wi and
d
Y d
Y
det Λ = kwi k = kwi0 k
i=1 i=1
is invariant. This implies that

det Λ0j < δ det Λj and det Λ0i = det Λi for i 6= j ,
so also

D (v10 , . . . , vd0 ) = δD (v1 , . . . , vd ) < D (v1 , . . . , vd ) . (6.7)
Hence, in each iteration, D (v1 , . . . , vd ) drops be at least a factor of

δ < 1, so Algorithm 6.3 runs in polynomial time if D (v1 , . . . , vd ) has a
polynomial lower bound in terms of the dimension. We provide such a
bound with the following lemma.
Lemma 6.14 Let Λ ⊂ Rd be a lattice with lattice basis v1 , . . . , vd and
first successive minimum λ1 := minu∈Λ\{0} (kuk) introduced in Defini-
tion 4.6. Then
d
Y
j − /2 .
d(d+1)/2 j
D (v1 , . . . , vd ) ≥ λ1
j =1

Proof. Clearly λ1 ≤ minu∈Λj \{0} (kuk) for all 1 ≤ j ≤ d. Let v be the


shortest non-zero vector in Λ. Then a shortest vector in Λj has length at
least kvk. Thus, from Proposition 4.5 we conclude
kvkj λj
det Λj ≥ √ i ≥ √ 1j for all 1 ≤ j ≤ d .
j j
Multiplying this inequality for all 1 ≤ j ≤ d gives the lemma. u
t
Let us return to the orthogonality defect M defined in Definition 6.6
before we determine the precise running time of the LLL algorithm.
We have seen in Theorem 6.8 that a polynomial upper bound for the
orthogonality defect of a lattice basis allows us to solve the shortest
vector problem (SVP) in polynomial time. We show  now that M of a 1 d
δ-reduced basis v1 , . . . , vd is bounded by Md := 2 2 2 for δ = 3/4. Hence,
we can use this M in definition Definition 6.7 and are guaranteed that
bases satisfying the definition actually do exist.
Proposition 6.15 Let Λ ⊂ Rd be a lattice with reduced basis v1 , . . . , vd .
Let w1 , . . . , wd be its Gram-Schmidt orthogonalization. Then
j−1
1X
kwj k2 ≤ kvj k2 ≤ kwj k2 + kwi k2 for 1 ≤ j ≤ d
4
i=1
1
kwj k2 ≥ (δ − )kwj−1 k2 for 2 ≤ j ≤ d .
4

— 164 — Haase, Nill, Paffenholz: Lattice Polytopes


Chapter 6. Short Rational Generating Functions (draft of June 28, 2021)

Proof. By the definition of a weakly reduced basis we have


j−1
X
vj = wj + λjk wk
k =1

for coefficients −1/2 ≤ λkj ≤ 1/2. Taking the norm and using that the
scalar product of any two of the wi ’s is 0 implies
j−1 j−1
X 1X
kvj k2 = kwj k2 + λ2jk kwk k2 ≤ kwj k2 + kwk k2 .
4
k =1 k =1

This proves the first inequality. Further, we have

d(vj , Vj−1 )2 = kwj k


1
d(vj +1 , Vj−1 )2 = kwj +1 k2 + λ2j +1,j kwj k2 ≤ kwj +1 k2 + kwj k2 .
4
By assumption

d(vj +1 , Vj−1 )2 ≥ δ · d(vj , Vj−1 )2

so
1
kwj +1 k2 + kwj k ≥ δ · kwj k2
4
The second inequality follows. u
t
1
We define α := .
δ− 14

Proposition 6.16 Let Λ ⊂ Rd be a lattice with δ-reduced basis v1 , . . . , vd .


Then
d−1
(1) kv1 k ≤ α 2 λ1
d−1 1
(2) kv1 k ≤ α 4 (det Λ) d

Proof. Let e1 , . . . , wd be the Gram-Schmidt orthogonalization of v1 , . . . , vd .


By Proposition 6.15 kwj +1 k2 ≥ (δ − 14 )kwj k2 , so kwj k2 ≤ αkwj +1 k2 . By
induction we obtain

kwj k2 ≤ αkwk k2 for 1 ≤ j < k ≤ d . (6.8)

Hence, we obtain for all 1 ≤ j ≤ d

kv1 k2 = kw1 k2 ≤ αj−1 kwj k2 ≤ αd−1 kwj k2 , (6.9)

so

kv1 k2 ≤ αd−1 min kwj k2


j

and by Proposition 6.5

Haase, Nill, Paffenholz: Lattice Polytopes — 165 —


Lecture Notes Lattice Polytopes (draft of June 28, 2021)

d−1
kv1 k ≤ α 2 λ−1.

This proves the first item. Taking the product of (6.9) for all j gives
d
d(d−1) d(d−1)
(det Λ)2 .
Y
kv1 k2d ≤ αi−1 kwi k2 = α 2 kw1 k2 · · · kwd k2 = α 2

i=1

u
t

For the following estimate we spacialize to the case δ = 34 , so α = 2.


Corollary 6.17 Let Λ ⊂ Rd be a lattice with 3/4-reduced basis v1 , . . . , vd .
Then
d 
Y 1 d
kvi k ≤ 2 2 2 det Λ .
i=1

Proof. We compute
j−1 j−1
!
1X 1 X j−k
kvj k 2
≤ kwj k + 2
kwk k2 ≤ kwj k2 1+ 2 ≤ 2j−1 kwj k2
4 4
k =1 k =1

and
d
Y d
Y
kvj k ≤ 2j−1 kwj k2
j =1 j =1
1 d
Y 1 d

= 22 2 j = 1d kwj k ≤ 2 2 2 det Λ .

u
t

Corollary 6.18 The orthogonality defect M of a 3/4-reduced basis is at


1 d
most 2 2 2 . u
t

Proposition 6.19 Let Λ ⊆ Rd be a lattice with a reduced basis v1 , . . . , vd .


Let λ1 := mina∈Λ−{0} kak be the first successive minimum of the lattice
and assume we have a vector x ∈ Λ with kxk ≤ αλ1 for some α ≥ 1 and
x = di=1 ηi vi . Then
P

 d−i
d−1 3
|ηi | ≤ 2 2 α ≤ 3d α for 1 ≤ i ≤ d .
2

Proof. proof missing u


t

Now let us return to the problem of determining the runtime of the


LLL algorithm. For simplicity we assume in the following that the initial
lattice basis satisfies vj ∈ Zd . In this case we have

D : = D ( v1 , . . . , vd ) ≥ 1 . (6.10)

— 166 — Haase, Nill, Paffenholz: Lattice Polytopes


Chapter 6. Short Rational Generating Functions (draft of June 28, 2021)


By (6.7), the value of D drops by at least a factor of δ each time we
swap a pair of basis vectors that violate condition Definition 6.10(1), so
we need at most k = d log 11/√δ log De swaps.
Now kwj k ≤ kvj k for 1 ≤ j ≤ d, so we can bound the initial value of
D by
 d(d+1)/2
D ≤ max kvj k ,
j

and we can bound the number of iterations by


  
1 d(d + 1)
k = √ log max kvj k . (6.11)
log 1/ δ 2 j

The input size of the LLL algorithm is bounded from below by


 
I := hv1 , . . . , vd i ≤ max d, max kvj k ,
j

so the right hand side of (6.11) is polynomial in I for δ < 1. More precisely,
we habe that the number of swaps we have to perform in the worst case
satisfies

k = O d2 (log d + s)


where s is the largest binary encoding length of an entry of a vector in


the lattice basis. After each swap we have to restore the property that
our lattice basis is weakly reduced. By Proposition 6.13 this takes at
most O (d3 ) steps, so overall, the lattice beasis reduction needs at most
O d5 (log d + s) steps.


To show that LLL actually runs in polynomial time we also have to


show that all numbers computed in intermediate steps of the algorithm
have a binary encoding size bounded by a polynomial in I.

Remark 6.20 The additional assumption that all lattice basis vectors
all have integral entries can be removed. We just scale the initial basis
with the common denominator of all entries of the basis vectors.

Remark 6.21 In the form we have discussed the LLL algorithm needs
at most O d5 (log d + s) steps on numbers of size O (d + s). This cor-


responds to the original form of the algorithm given by Arjen Lenstra,


Hendrik Lenstra and László Lovász [38]. There habe been found several
improvements that run significantly faster, for example
(1) Claus-P. Schorr has improved the bound to O (d4 (log d + s)) [48]
(2) Arne Storjohann has shown that we can compute a reduced basis in
time O (n3 (log d + s)) on integers of the same size [56].

Haase, Nill, Paffenholz: Lattice Polytopes — 167 —


Lecture Notes Lattice Polytopes (draft of June 28, 2021)

6.4.1 Applications of LLL

(1) factoring polynomials [38]


(2) knapsack [35]
(3) quadratic equations
(4) ...

6.5 Variations of Barvinok’s Algorithm

In the previous section we gave a description of the basic version of


Barvinok’s algorithm. Since its publication in 1994 there have been found
various improvements. We will shortly discuss some of them.
A fundamental problem that influences the running time of the algo-
rithm are the lower dimensional cones that we have to consider for the
inclusion-exclusion step. In § 3.4.1 we have seen a way to avoid lower
dimensional faces by looking at a half-open decomposition of our cone
into simplicial cones. Using such a decomposition significantly reduces
the number of cones we have to consider. Namely, only d instead of d2d
new cones in each step of the decomposition. This half open decomposi-
tion works nicely also with the signed decompositions we have used in
Exercise 6.1 Barvinok’s algorithm. You can work out the details in Exercise 6.1.
A slightly different idea is the following. We have seen that the
rational generating function of cones with nontrivial lineality space are 0.
We can exploit this to remove the contribution of lower dimensional cones
by first dualizing and subdividing on the dual side. Then intersections
on the dual side give unions on the primal side, and those vanish in the
rational generating function, as thez contain a line.
Let us make this precise. If C ⊆ Rd is a polyhedral cone, then let
S := {Di : i ∈ I} be the maximal cones of a subdivision of the dual
cone C ∨ i.e.
[
C∨ = Di
i∈I

Then
\
C = Di∨
i∈I

and on the level of generating series


b C (x) = G
G bT (x)
i∈I
Di∨

We can rewrite the right hand side to


X X
D ∨ (x) =
G
bT Gb ∨ (x) + δJ G
bS (x)
i∈I i
D i j∈J
Dj∨
J⊆I

— 168 — Haase, Nill, Paffenholz: Lattice Polytopes


Chapter 6. Short Rational Generating Functions (draft of June 28, 2021)

Algorithm 6.4: Barvinok’s Algorithm: Polarized Version


Input: A polyhedron P = {x | Ax ≤ b} with vertices v1 , . . . , vk .
Output: The integer point generating function for P as
X tai
GP (t) = εi
(1 − tvi1 ) · · · (1 − tviki )
i∈I

for εi ∈ {−1, 1}, ai , vi j ∈ Zd .


for i ← 1 to k do
Compute vertex cone Ci at vertex vi ;
Dualize the cones to Ci? ;
Triangulate Ci? into ki simplicial cones Cij ?
;
for j ← 1 to ki do
? k ?
do a signed decomposition of Cij into unimodular cones (Cij ) .;
k
Dualize back to Cij ;
compute the unique interior point akij in Cij k
;
end for
sum up the contributions using the inclusion-exclusion principle;
end for
sum up the contributions using the inclusion-exclusion principle;

for δI ∈ {0, ±1}. Observe that any nontrivial union of two dual cones
Di∨ and Dj∨ for i 6= j contains a line, as there is a linear hyperplane H
spanned by some vector u in primal space (the dual of the dual) that
intersects the cones at most in their boundary and has the two cones on
different sides. Then Ru ∈ Dj∨ ∪ Dj∨ . Hence, these serices vanish if we
pass to the generating functions via our map Φ, so that
X
GC (x) = GD ∨ ( x ) ,
i
i∈I

where we have lost all contributions except for the dual maximal cones.
The following observation shows that this is a decomposition into cones
of index 1. You will prove this in Exercise 6.2.

Lemma 6.22 Index C = 1 ⇔ Index C ∗ = 1


Exercise 6.2
Hence, with this dualization trick we obtain a decomposition into uni-
modular cones where we only have to consider the maximal cones. This is
a significant improvement over our original version where we had to keep
track of all lower dimensional cones introduced by the inclusion-exclusion
principle. We summarize the algorithm in Algorithm 6.4.

Haase, Nill, Paffenholz: Lattice Polytopes — 169 —


Lecture Notes Lattice Polytopes (draft of June 28, 2021)

6.6 The Closest Vector Problem

6.7 Integer Programming in Fixed Dimension

The integer programming problem is the task to find an integral point


in a polyhedron given by inequalities that maximizes a linear functional,
i.e. find, for A ∈ Zm×d , b ∈ Zm and c ∈ Zd ,

max(h c, x i)
subject to Ax ≤ b
x ∈ Zd .

Different from the linear programming problem, where we drop the


requirement that x ∈ Zd , this problem is known to be in the class NP,
but not known to be in P .
However, for fixed dimension, we can give a polynomial time algorithm
for the integer programming problem. This algorithm is due to Hendrik
Lenstra. It is based on flatness and its proof via ellipsoids, together
with the computation of reduced bases with the LLL-algorithm. As for
flatness, the method has three steps. We first consider balls and extend
to ellipsoids. Then we use the John ellipsoids to squeeze a polytope P
between two ellipsoids and use the method for ellipsoids to find a feasible
integer point in P or assert that there is none. Flatness is used to slice
a polytope with a polynomial number of integral translates of a lattice
hyperplane and descend in dimension if we cannot yet decide whether P
has an integral point.
Let us make this precise and start with the construction for balls in
the next proposition.
Proposition 6.23 Let Λ be a lattice with basis v1 , . . . , vd and Bd :=
Bd (z ) be the unit ball with center z. Then we can find, in polynomial
time,
(1) either a lattice point u ∈ Bd ∩Λ, or
d
(2) a lattice functional c ∈ Λ? with kck ≤ 2O (2 ) such thatBd ∩Λ is
covered by at most O (2d ) hyperplanes of the form

{x : h c, x i = β} .

for some β ∈ Z.

Proof. Assume that v1 , . . . , vd is a reduced basis with orthogonality defect


bounded by
d
Y kvi k d(d−1)
M ≤ ≤ 2 2 ,
kwi k
j =1

— 170 — Haase, Nill, Paffenholz: Lattice Polytopes


Chapter 6. Short Rational Generating Functions (draft of June 28, 2021)

where w1 , . . . , wd is the associated Gram-Schmidt basis. Reorder the basis


such that

kv1 k ≤ kv2 k ≤ . . . ≤ kvd k .

This may destroy reducedness of the basis, but does not affect the
orthogonality defect. We distinguish two cases
(1) if kvd k ≤ d1 , then we consider the representation
d
X
z = λ i vi
i=1

of the center in our basis. The point


d
X
u = bλi cvi
i=1

is a lattice point and


d
X
ku − zk ≤ kvi k ≤ dkvd k ≤ 1 .
i=1

Hence u ∈ Bd ∩Λ.
(2) Otherwise we have kvd k > d1 . Let

H := lin(v1 , . . . , vd−1 ).

Then H + vd = H + wd , so
[ [
Λ ⊆ H + βvd = H + βwd .
β∈Z β∈Z

Now
normvd d(d−1)
≤ M ≤ 2 2 ,
kwd k
so
d(d−1) 1 − d(d−1)
kwd k ≥ 2− 2 kvd k ≥ 2 2 .
d
Further

max (H + βvd ∩ Bd 6= ∅) − max (H + βvd ∩ Bd 6= ∅) ≤ 2 .


β∈Z β∈Z

d(d−1)
So H + βvd ∩ Λ 6= ∅ for at most 2d2 2 different β’s. Let c :=
wd
kwd k2
. Any u ∈ Λ can be written as u = µwd + h for h ∈ H and
µ ∈ Z. This implies

h c, u i = µ ∈ Z .
d
so that c ∈ Λ? and kck ≤ 1
kwd k
≤ 2O (2 ) . u
t

Haase, Nill, Paffenholz: Lattice Polytopes — 171 —


Lecture Notes Lattice Polytopes (draft of June 28, 2021)

Algorithm 6.5: Computing an enclosing ellipsoid


Input: A polyhedron P = {x | Ax ≤ b} for A ∈ Qm×n and b ∈ Qm .
Output: An ellipsoid E and a vector a such that
a + E ⊆ P ⊆ a + 2dE
Compute a ball E0 containing P and translate so that the cetner is in
the origin;
1
if 2d E0 ⊆ P then
return E0 ;
else
1
find x ∈ 2d E0 \ P ;
find halfspace H + containing P but not x via separation algorithm;
let E00 := E0 ∩ H + ;
compute smallest ellipsoid E1 containing E00 ;
find affine transformation T0 such that T0 E1 is a ball centered at
the origin;
recursively call this algorithm;
end if

Geometrically, this proposition tells us that either we can find a reduced


basis with only short vectors, or there must be a short dual vector.
Corollary 6.24 The proposition is also true if we replace the ball by an
ellipsoid E = T Bd +a for an invertible linear transformation T .

Proof. Pull back to a ball with T −1 and consider the lattice T −1 Λ. u


t

By Theorem A.5 we know that for a convex body K there is an ellipsoid


E centered at the origin such that

a + E ⊆ K ⊆ a + dE .

However, the proof of this theorem given in the appendix was not con-
structive. Note first, that for us it is sufficient to find an approximation
of E where we relax the scaling factor on the right hand side. It suffices
to find E such that

a + E ⊆ K ⊆ a + 2dE .

For general convex bodies the computation of E is an SDP-Problem.


However, in our case the convex body is a polyhedron and the algorithm
becomes simpler. It is the same algorithm that is used for the ellipsoid
method of linear programming. We sketch an approach below. For a
full algorithm with proof the reader sould consult any book on linear
programming, e.g. [50, Ch. 13]. The algorithm for the ellipsoid is given in
Algorithm 6.5. It can be shown that in each recursive call the volume of
the ellipsoid drops by a factor of at least (1 − d1 ). Hence, the algorithm
terminates after a polynomial number of steps.

— 172 — Haase, Nill, Paffenholz: Lattice Polytopes


Chapter 6. Short Rational Generating Functions (draft of June 28, 2021)

Proposition 6.25 For a polytope P ⊆ Rd we can compute in polynomial


time an ellipsoid E and a vector a such that

a + E ⊆ K ⊆ a + 2dE . u
t

This proposition allows us to extend Corollary 6.24 to an algorithm that


computes an integer point in a polytope or asserts that the polytope
contains no integer point.
Theorem 6.26 (Lenstra) For a polytope P we can decide, for fixed
dimension in polynomial time in the input size, whether P contains an
integer point.

Proof (sketch). The algorithm is given in Algorithm 6.6. Its correctness


follows from the considerations above. It remains to check the running
time. For this, let T (d) denote the number of recursive calls in dimension
d. Then the total running time is T (d) times a polynomial in d.
By the previous corollary on ellipsoids we know that
 
d(d−1)
T (d) ≤ T (d − 1) · d · 2 2 + 1 ,

where the first d comes from the flatness theorem and the rest from the
bound given for ellipsoids. This implies
d  
Y k (k−1) 3
T (d) ≤ k·2 2 + 1 ≤ 2O (d ) . u
t
k =1

6.8 Software

We give examples for the computation of short generating functions in


LattE and polymake.

6.9 Problems
included on page 168
6.1. Show that we can use a half open decomposition in Barvinok’s
algorithm.
included on page 169

6.2. Prove Lemma 6.22.


For a solution see page 221

Haase, Nill, Paffenholz: Lattice Polytopes — 173 —


Lecture Notes Lattice Polytopes (draft of June 28, 2021)

Algorithm 6.6: Integer Feasibility in fixed dimension


Input: A polyhedron P = {x | Ax ≤ b} for A ∈ Qm×n and b ∈ Qm .
Output: An integer point in P ∩ Zd , or the assertion that P ∩ Zd is
empty.
Compute an ellipsoid E such that z + E ⊆ P ⊆ z + 2dE;
Use the LLL-algorithm to compute a lattice basis v1 , . . . , vd with
Gram-Schmidt orthogonalization w1 , . . . , wd such that the
orthogonality defect with respect to the norm k.kE is bounded.;
reorder the basis by increasing norm;
Pd
Determine λ1 , . . . , λd such that z = i=1 λi vi and let
Pd
u = i=1 bλi cvi ;
if u ∈ P then
return u;
end if
Set c := wd ;
foreach β ∈ {bmin(h c, x i : x ∈ P )c, . . . , dmax(h c, x i : x ∈ P )e} do
use the Hermite Normal Form algorithm to compute a lattice basis
V 0 := {v10 , . . . , vd−1
0
} ⊆ Qd and d ∈ Qd such that
0
d + Λ(V ) = {x ∈ Zd : h c, x i = β};
recursively
 0 solve the integer feasibility problem on
P 0 0
x : A(d + xj vj ) ≤ b ;
if recursive call produces a lattice point u then
return u;
end if
end foreach
return no lattice point found;

— 174 — Haase, Nill, Paffenholz: Lattice Polytopes


Reflexive and
Gorenstein polytopes
7
Contents
7.1 Reflexive polytopes . . . . . . . . . . . . . . . . . . . . . . 176
7.1.1 Dimension 2 and the number 12 . . . . . . . . . . 178
7.1.2 Dimension 3 and the number 24 . . . . . . . . . . 181
7.2 The combinatorics of simplicial reflexive
polytopes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
7.2.1 The maximal number of vertices . . . . . . . . . 183
7.2.2 The free sum construction . . . . . . . . . . . . . . . 184
7.2.3 The addition property . . . . . . . . . . . . . . . . . . 185
7.2.4 Vertices between parallel facets . . . . . . . . . . 185
7.2.5 Special facets . . . . . . . . . . . . . . . . . . . . . . . . . . 187
7.3 Gorenstein polytopes . . . . . . . . . . . . . . . . . . . . 189
7.4 Finiteness of Gorenstein polytopes of
given degree . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
7.5 Classification of reflexive polytopes . . . . . . . 194
7.5.1 Smooth reflexive polytopes . . . . . . . . . . . . . . 194
7.5.2 All reflexive polytopes . . . . . . . . . . . . . . . . . . 194
7.6 Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194

Reflexive polytopes were introduced by Victor Batyrev in the context


of mirror symmetry, a fascinating phenomenon in string theory. Their
striking feature is that they always appear in dual pairs. Since then these
special lattice polytopes have been intensively studied and classified by
mathematicians and physicists alike. By now, all isomorphism classes
Lecture Notes Lattice Polytopes (draft of June 28, 2021)

of reflexive polytopes in dimension 4, nearly half a billion, are known!


Despite all these efforts, still many questions remain open. Amazingly,
from the viewpoint of Ehrhart theory reflexive polytopes (and their
slightly more general relatives, Gorenstein polytopes) can be recognized
from having a symmetric h? -vector. What else is there to discover?
Here is a plan for this chapter. We start bydefining reflexive polytopes
and explore some of their basic features. Next, we present some of their
surprising properties in dimensions 2 and 3. In Section 7.2 we explore
the combinatorics of reflexive polytopes in the more tractable situation,
where all facets are simplices. In Section 7.3 we also consider ‘divisors’ of
reflexive polytopes, called Gorenstein polytopes, and show that this is a
natural class of lattice polytopes to work with. Finally, we consider the
question how many Gorenstein polytopes exist using results in Ehrhart
theory and the geometry of numbers developed in the previous chapters.

7.1 Reflexive polytopes

Let us recall the definition of a dual polytope of a d-dimensional polytope


P ⊂ Rd from Theorem 2.16.Let P ⊆ Rd be a full-dimensional polytope
with 0 ∈ P . The dual polytope or polar of P is

P ? := {α ∈ (Rd )? : α(x) ≥ −1 for all x ∈ P }

Exercise 7.1 Check Exercises 7.1 to 7.4 for some examples and properties.
Exercise 7.2 It is well-known that the vertices of P ? correspond one-to-one to
Exercise 7.3 facets of P . More precisely, the vertices are the unique inner facet normals
Exercise 7.4
evaluating as −1 on facets. Recall from Chapter 2 that for full-dimensional
lattice polytopes there is a canonical choice for the facet normals as a
primitive lattice vector in the dual lattice. We will in the following
alsways assume that normal vectors are primitive dual lattice vectors.
The most important result is the duality theorem (which holds more
generally for convex bodies containing the 0 in their interior):

P ?? = P

Let P ⊂ Rd be a d-dimensional lattice polytope (with respect to


Λ = Zd , and 0 ∈ int P .
Definition 7.1 Let F (P ) be the set of facets of P , F ∈ F (P ), then there
exists a unique primitive inner normal ηF ∈ Λ∗ and a unique integer
cF ∈ Z such that

h ηF , x i = −cF ∀x ∈ F
h ηF , x i ≥ −cF ∀x ∈ P

— 176 — Haase, Nill, Paffenholz: Lattice Polytopes


Chapter 7. Reflexive and Gorenstein polytopes (draft of June 28, 2021)

In this case, cF is called (signed) integral distance of the origin from the
facet F . The origin is in the polytope if cF ≥ 0.

Recall that the lattice distance of a lattice point v from a lattice hyperplane
H is given by

|h u, x i − h u, v i| (7.1)

if the hyperplane H has primitive normal u and x is any point in H.


Definition 7.2 A polytope P is called reflexive, if there exists w ∈
int P ∩ Λ such that all facets have lattice distance 1 from w.
Equivalently, for any facet F ∈ F (P ) there exists a lattice point
u ∈ Λ? such that h u, x i = h u, w i + 1 for any x ∈ V(F ). Note that in
this case u is necessarily primitive, so u = ηF .
As the following observation shows, there is no ambiguity about the ηF ∈ Λ ∗
interior point w.
Proposition 7.3 Let P be a reflexive polytope with respect to w, then F

int P ∩ Λ = {w}
no lattice points
Proof. Let F ∈ F (P ). By definition, no lattice point lies strictly be-
cF + 1 cF
tween the hyperplanes aff (F ) and its parallel hyperplane through w.
See Figure 7.1. Therefore, conv(w, F ) ∩ Λ = {w} ∪ (F ∩ Λ). Since
S
P = F ∈F (P ) conv(w, F ), the statement follows. u
t Fig. 7.1: Proof of Proposition 7.3.

Usually, the unique interior lattice points of a reflexive polytope is assumed


to be the origin. We give the definition of a reflexive polytope in this
generality in order to allow reflexive polytopes to be invariant under
(affine) unimodular transformations. It is also more natural in the study
of Gorenstein polytopes, as we will see later. Reflexive polytopes were
introduced because of their beautiful duality property.
As a consequence, here is the promised characterization of reflexive
polytopes (Exercise 7.5). Exercise 7.5

Proposition 7.4 Let P be a d-dimensional lattice polytope in Rd with


0 ∈ int P . Then the following are equivalent:

É P reflexive,
É P ∗ lattice polytope
É P ∗ reflexive. u
t Fig. 7.2: (Non-)reflexive polygons
This result is illustrated in Proposition 7.1. Coming back to Proposi-
tion 7.3, the reader will prove in Exercise 7.6 that any lattice polygon with
one interior lattice points is also a reflexive polygon (see Exercise 7.14 for
the complete list). However, this is not true in dimension 3 and higher

Haase, Nill, Paffenholz: Lattice Polytopes — 177 —


Lecture Notes Lattice Polytopes (draft of June 28, 2021)

(Exercise 7.7). Yet, this property suffices to compute Ehrhart polynomials


of 3-dimensional lattice polytopes (Exercise 7.8). Exercise 7.6
From Theorem 4.25 and Proposition 7.3 we can immediately deduce Exercise 7.7
the finiteness of these polytopes. Exercise 7.8

Corollary 7.5 There exist only finitely many reflexive d-polytopes up


to isomorphism. u
t
Surprisingly, these finite sets of polytopes together with their faces ‘cover’
the space of all lattice polytopes.
Proposition 7.6 Any lattice polytope is isomorphic to the face of a
reflexive polytope (of higher dimension).

Proof. Any lattice polytope with no interior lattice points is isomorphic


to the face of a lattice polytope with interior lattice points. Therefore,
we may assume that P ⊆ Rd is a d-dimensional lattice polytope with
0 ∈ int (P ).
Let F1 , . . . , Fk be the facets of P , so in our notation

P = {x ∈ Rd : h ηFi , x i ≥ cFi for i = 1, . . . , k} ,

for cFi ∈ Z≤−1 . If ck ≤ −2, we define P 0 as the set of (x, xd+1 ) ∈ Rd+1
satisfying
É h ηFi , x i ≥ cFi for i = 1, . . . , k − 1
É h ηFk , x i − xd+1 ≥ cFk + 1
É xd+1 ≥ −1

Then P 0 is a lattice polytope with (0, 0) ∈ int (P 0 ) that is combinatorially


a wedge over P , see Figure 7.3. All the previous inequalities describe
facets of P ’. In particular, P 0 has P × {−1} as a facet. Let us define
the invariant
X
f (P ) : = |cFi | .
F ∈F (P ) : cFi <−1

Fig. 7.3: P and P 0 Then f (P 0 ) < f (P ). In particular, iterating this construction yields after
finitely many steps a lattice polytope P 00 such that f (P 00 ) = 0, i.e., P 00
is reflexive. u
t

7.1.1 Dimension 2 and the number 12

We turn to a remarkable result about reflexive polygons.


Theorem 7.7 The numbers of boundary lattice points of a reflexive
polygon and its dual add up to 12.

— 178 — Haase, Nill, Paffenholz: Lattice Polytopes


Chapter 7. Reflexive and Gorenstein polytopes (draft of June 28, 2021)

At least five different proofs appear in [28, 46]: by exhaustion, by a walk


in the space of polygons, using toric varieties, using modular forms, or
via relations in SL2 (Z).
We will pursue the walk-in-the-space-of-polygons strategy. It yields a
more general version of the 12 for unimodular fans. But this needs some
by a reflex- preparation. Two adjacent lattice points on the boundary of a reflexive
polygon form a lattice basis by Pick’s theorem. The cones these lattice
points generate a complete unimodular fan.
Lemma 7.8 Let Σ be a complete unimodular fan in R2 . Every ray
τ ∈ Σ[1] with primitive generator v is contained in precisely two 2-cones
σ = cone(v, w ) and σ 0 = cone(v, w0 ) in Σ.
In this situation, there is a unique integer a(τ ) such that

w + w 0 = a(τ )v .

Proof. Since w, v form a lattice basis of Z2 , we have w0 = k1 w + k2 v.


Since v, w0 form a lattice basis, we deduce k1 = ±1. Hence, k1 = −1 by
our assumption on the cones. Therefore, w + w0 = k2 v. u
t

Lemma 7.9 Let P be a reflexive polygon, and let v1 , v2 , v3 be consecutive


lattice points on the boundary of P with v1 + v3 = av2 , for a ∈ Z.
If v2 is a vertex of P , then the edge of P ? dual to v2 has length 2 − a.
(If v2 is not a vertex, then a = 2.)

Proof. Let {v1? , v2? } be the basis dual to the basis {v1 , v2 }. Then the Fig. 7.5: The dual edge has length
vertices of P ? dual to the edges at v2 containing v1 and v3 respectively 2−a

are v1? + v2? and (a − 1)v1? + v2? , respectively. u


t

In light of this lemma, Theorem 7.7 follows from the following theorem.
Theorem 7.10 Let Σ be a complete unimodular fan in R2 . Then
X
(3 − a(τ )) = 12 , (7.2)
τ ∈Σ[1]

where a(τ ) is the paramter defined in Lemma 7.8.


This is the theorem we will prove by walking in the space of fans.

Proof (of Theorem 7.7). Let P be a reflexive polygon with vertex set V
and boundary points B. Then B is the set of generators of a uniomdular Fig. 7.6: Smooth blow-up of a 2-
dimensional fan
complet fan, and we get
X X X
12 = 3 − a(u) = 1 + 2 − a(u) = |∂ P ∩ Λ| + |∂ P ? ∩ Λ? |
u∈B u∈B u∈V
u
t

Here are the steps in our walk.


Fig. 7.7: Not a smooth blow-up

Haase, Nill, Paffenholz: Lattice Polytopes — 179 —


Lecture Notes Lattice Polytopes (draft of June 28, 2021)

Definition 7.11 Let Σ be a unimodular fan in R2 , and let σ ∈ Σ[2]


with primitive generators v1 , v2 . Set % := cone(v1 + v2 ), and

pull(Σ; %) := Σ \{σ} ∪ {%, cone(%, v1 ), cone(%, v2 )} .

We say that the fan pull(Σ; %) is obtained as a smooth blow-up of σ in Σ.

The defining property of such a smooth blow-up is the fact that the
new ray % has ray parameter a(%) = 1. As the reader can verify in
Exercise 7.9, these steps preserve the validity of equation (7.2). You will
classify 2-dimensional fans which are minimal with respect to blow ups in
Exercise 7.9 Exercise 7.10. You will consider the 3-dimensional setting in Exercise 7.11.
Exercise 7.10
Lemma 7.12 If the complete unimodular fan Σ in R2 satisfies (7.2),
Exercise 7.11
and Σ0 is a smooth blow-up of Σ, then Σ0 also satisfies (7.2).

It remains to show that these steps connect the space of fans.


Theorem 7.13 Let Σ and Σ0 be two complete unimodular fans in R2 .
Then there is another complete unimodular fan Σ00 which can be obtained
by a sequence of smooth blow-ups from both Σ and Σ0 .
The corresponding statement in general dimension has been conjectured
by Oda. This Strong Oda Conjecture is still wide open. This question
is stronger than the question of connectivity of the space of complete
unimodular fans, where we can have intermediate blow-donws. This
weaker statement has been shown in all dimensions. It was the foundation
of the celebrated Weak Factorization Theorem.
For the proof of Theorem 7.13 we need three lemmas.

Lemma 7.14 In the notation of Lemma 7.8 let P := conv(0, v, w, w0 ).


(1) 0 is a vertex of conv(0, w, v, w0 ) if and only if a(τ ) ≤ 1, but
(2) v is a vertex of conv(0, w, v, w0 ) if and only if a(τ ) ≤ 1.

Proof. 0 is a vertex if and only if 12 (w + w0 ) = a2 v for some a


2 > 0, so
a ≥ 1.
Similarly, v is a vertex if and only if a2 < 1, so a ≤ 1. u
t
Fig. 7.8: Different λ’s
Using this fact we can prove a crucial step towards connectivity:
Lemma 7.15 Let Σ be a unimodular fan in R2 which refines a unimod-
ular fan Σ0 . Then Σ can be obtained from Σ0 by a sequence of smooth
blow-ups.

Proof. Use induction on r := | Σ[1] \ Σ0 |. If r = 0, we have Σ = Σ0 .


If r ≥ 1, all ray parameters of rays of Σ that do not belong to Σ0
must be ≥ 1 by Lemma 7.14(1). On the other hand, if σ ∈ Σ0 [2] contains

— 180 — Haase, Nill, Paffenholz: Lattice Polytopes


Chapter 7. Reflexive and Gorenstein polytopes (draft of June 28, 2021)

rays of Σ in the interior, then the convex hull of the primitive generators
has a vertex in the interior of σ. The corresponding ray falls into case (2)
of Lemma 7.14 and hence must have parameter = 1. u
t

Lemma 7.16 Let σ ⊂ R2 be a pointed 2-cone. Then there is a unimod-


ular fan Σ with support σ.

We will prove the corresponding statement in general dimension in Chap-


ter 8.
Proof. Consider the polyhedron P := conv(σ ∩ Z2 \ {0}). The bounded Fig. 7.9: Unimodularly subdividing a
2-cone
segments of P generate cones which form a fan with support σ. For any
such segment, the triangle it forms with 0 does not contain any other
lattice points. Hence, it is unimodular by Pick’s theorem. u
t

Proof (Theorem 7.13). The collection Σ := {σ ∩ σ 0 : σ ∈ Σ, σ 0 ∈ Σ0 } is


a complete fan. By Lemma 7.16, there is a complete unimodular fan Σ00
refining Σ. Now, we use the previous lemma. u
t

Putting it all together, Lemma 7.12 and Theorem 7.13 imply Theo-
rem 7.10.

7.1.2 Dimension 3 and the number 24


In dimension three, there is a possibly even more striking result.
Theorem 7.17 If P is a 3-dimensional reflexive polytope, then
X
length e · length e? = 24 .
e edge of P

This result was first proved by Dimitrios Dais as follows. By [8], a general
anticanonical hypersurface Z in the toric variety associated with P
must be a 2-dimensional Calabi–Yau, i.e., a K3-surface which has Euler
characteristic χ(Z ) = 24. By [17], the above sum computes χ(Z ). For
about a decade, this remained the only proof (apart from exhaustion).
We will provide an elementary proof in the present section.
Sadly, the story does not continue in dimensions ≥ 4. But in dimension
three, we can carry out a similar program as we did in dimension two.
First, we describe parameters for unimodular fans which will replace dual
edge lengths (Exercise 7.12). Exercise 7.12

Lemma 7.18 Let Σ be a complete unimodular fan in Rd . Every (d − 1)-


cone τ ∈ Σ[d − 1] with primitive generators v1 , . . . , vd−1 is contained in
precisely two d-cones σ = cone(τ , vd ) and σ 0 = cone(τ , vd0 ) in Σ.
In this situation, there are unique integers a(τ , vi ) so that
d−1
X
vd + vd0 = a ( τ , vi ) vi . u
t
i=1

Haase, Nill, Paffenholz: Lattice Polytopes — 181 —


Lecture Notes Lattice Polytopes (draft of June 28, 2021)

Next, we construct a complete unimodular fan from a reflexive 3-polytope.

Proposition 7.19 Let P be a 3-dimensional reflexive polytope, and let T


be a full lattice triangulation of its boundary. Then Σ := {cone σ : σ ∈ T}
is a complete unimodular fan.
Further, if conv(v1 , v2 ) ∈ T [1] is contained in an edge e of P , then
the dual edge e? of P ? has length 2 − a(τ , v1 ) − a(τ , v2 ) where τ =
cone(v1 , v2 ) ∈ Σ. (Otherwise a(τ , v1 ) + a(τ , v2 ) = 2.)

Proof. For Σ, we only need to prove unimodularity. Every triangle σ in


a full triangulation is unimodular in its affine span by Pick’s theorem.
Because P is reflexive, this affine span has distance one to the origin, so
that conv(0, σ ) is unimodular.
In order to compute the length of e? , consider the two 3-cones
σ = cone(τ , v3 ) and σ 0 = cone(τ , v30 ) of Σ containing τ . By definition of
the parameters we have

v30 = −v3 + a(τ , v1 )v1 + a(τ , v2 )v2 .

As in dimension two, let {v1? , v2? , v3? } be the basis dual to the basis
{v1 , v2 , v3 }. Then the vertices of P ? dual to the facets of P containing
{v1 , v2 , v3 } and {v1 , v2 , v30 } are v1? + v2? + v3? and v1? + v2? + (a(τ , v1 ) +
a(τ , v2 ) − 1)v3? , respectively. u
t

Thus, Theorem 7.17 follows from the following fan version.


Theorem 7.20 Let Σ be a complete unimodular fan in R3 . Then
X
(2 − a(τ , v1 ) − a(τ , v2 )) = 24 .
τ ∈Σ[2]
with primitive
generators v1 ,v2

We could, again, prove this theorem using a walk in the space of fans.
The invariance under smooth blow-ups is elementary. But connectivity
of the space of fans is a deep theorem, way beyond the scope of these
notes. Luckily, one can deduce the 24 from the 12 by double counting.
Lemma 7.21 Let Σ be a complete unimodular fan in R3 , and let % ∈
Σ[1] with primitive generator v. Then the projection π : R3 → R3 /Rv
maps star(%; Σ) to a complete unimodular fan Σ /%. If τ ∈ star(%; Σ) is
a 2-cone with primitive generators v, v 0 , then the corresponding ray π (τ )
of Σ /% has parameter a(π (τ )) = a(τ , v 0 ).

Proof. Let v1 and v2 be the additional primitive generators of the 3


cones containing τ . Then v1 + v2 = a(τ , v )v + a(τ , v 0 )v 0 . Applying π
Fig. 7.10: Quotient fan Σ /% yields π (v1 ) + π (v2 ) = a(τ , v 0 )π (v 0 ). u
t

— 182 — Haase, Nill, Paffenholz: Lattice Polytopes


Chapter 7. Reflexive and Gorenstein polytopes (draft of June 28, 2021)

Proof (Theorem 7.20). Let us first collect what we need. Our fan Σ
gives rise to a triangulation of the 2-sphere with vertex set Σ[1], edge set
Σ[2], and triangle set Σ[3]. As such, we have 3| Σ[1]| − | Σ[2]| = 6 from
Euler’s formula and double counting of edge-triangle-incidences. Also, we
P
have v∈Σ[1] deg v = 2| Σ[2]|, where deg v denotes the number of edges
containing the vertex v. Armed with these formulas we compute
X
(2 − a(τ , v1 ) − a(τ , v2 ))
τ ∈Σ[2]
with primitive
generators v1 ,v2
X X
= (1 − a(τ , w ))
cone(v )∈Σ[1] τ ∈Σ[2]
τ =cone(v,w )
X X
= ((3 − a(τ , w )) − 2)
cone(v )∈Σ[1] τ ∈Σ[2]
τ =cone(v,w )
X
= 12 − 2 deg v = 12| Σ[1]| − 4| Σ[2]| = 24 .
cone(v )∈Σ[1]

Here we have used Theorem 7.10 for the quotient fans Σ /% in the third
equality. u
t

7.2 The combinatorics of simplicial reflexive polytopes

Throughout, let P ⊂ Rd be a d-dimensional reflexive polytope with the


origin of the lattice Λ = Zd in its interior.
Fig. 7.11: a reflexive 3-polytope

7.2.1 The maximal number of vertices

It is a natural question to ask for the maximal number of vertices of a


d-dimensional reflexive (or Gorenstein) polytope. Let us look at small
dimension d ≤ 4, where the answer is known by the classification of
H
Kreuzer and Skarke.

Example 7.22
Fig. 7.12: The hexagon
d = 2: |V(P )| ≤ 6, only attained by the reflexive hexagon H , see Figure 7.12.
d = 3: |V(P )| ≤ 14, only attained by the polytope in Figure 7.11
d = 4: |V(P )| ≤ 36, only attained by H × H .

Based upon these observations we state the following daring conjec-


ture.
d
∼ H d2 .
Conjecture 7.23 |V(P )| ≤ 6 2 , equality holds for d even and P =

Haase, Nill, Paffenholz: Lattice Polytopes — 183 —


Lecture Notes Lattice Polytopes (draft of June 28, 2021)

This question is still wide open. It has been shown to hold for simple
centrally symmetric reflexive polytopes, since this class of reflexive poly-
topes can be completely classified. In the following we will present some
of the techniques used to prove this.

7.2.2 The free sum construction


Our main motivation is to determine the maximal number of vertices of a
simplicial reflexive polytope and to find out how the extremal polytopes
look like. We will see that free sums of reflexive polytopes are reflexive,
but let us first recall the definition. For two polytopes Pi ⊆ Rdi , di ∈ Z≥0 ,
with 0 ∈ int (Pi ) (i = 1, 2) the free sum is the polytope

P1 ◦ P2 := conv (P1 × {0}, {0} × P2 ) ⊆ Rd1 +d2

Example 7.24 42
(1) Let P1 = P2 = [−1, 1] be a segment of length 2 around the origin.
Then P1 ◦ P2 is the convex hull of ±e1 , ±e2 . See Figure 7.13.
(2) For P1 = H and P2 = [−1, 1] the free sum P1 ◦ P2 is BiPyr(H ).
See Figure 7.14.
You will examine the relation between products and sums in Exercise 7.13.
Fig. 7.13: The free sum of
It follows directly from the definition that the free-sum construction is
P1 = P2 = [−1, 1]
the dual operation to products:

(P1 ◦ P2 )∗ = P1∗ × P2∗ .


In particular, if P1 , P2 are reflexive, then P1 ◦ P2 , P1 × P2 are reflexive.
There are nice formulas how the Ehrhart- and h∗ -polynomials behave
under the free sum and product construction.
Proposition 7.25 Let P1 , P2 be reflexive. Then

ehrP1 ×P2 (k ) = ehrP1 (k ) ehrP2 (k ) ,


Fig. 7.14: The free sum of
h?P1 ◦P2 (t) = h?P1 (t)h?P2 (t) .
a hexagon and a segment.

Exercise 7.13 While the first result follows directly from the construction, the second
one is not obvious. We will leave this as an exercise. We will prove it in
the last chapter (Corollary 8.27). Here is our main theorem. Its proof
will occupy the remainder of this section.
Theorem 7.26 Let P be reflexive and simplicial. Then |V(P )| ≤ 3d,
∼ H ◦...◦H .
and equality holds only if d is even and P = | {z }
d
2

Simplicial reflexive d-polytopes with 3d − 1 vertices are also completely


known.

— 184 — Haase, Nill, Paffenholz: Lattice Polytopes


Chapter 7. Reflexive and Gorenstein polytopes (draft of June 28, 2021)

7.2.3 The addition property

Lattice points in reflexive polytopes satisfy a partial addition property.


For this let us define a relation.
Definition 7.27 Let x, y ∈ ∂P ∩ Λ, x 6= y. Then x ∼ y, if there exists
a facet of P containing x and y.
Here is the main observation:
Proposition 7.28 Let x, y ∈ ∂P ∩ Λ, x 6= y. Then
(1) either x ∼ y
(2) or x + y = 0
(3) or x + y ∈ ∂P ∩ Λ.
If (3) holds, then x ∼ x + y or y ∼ x + y. Moreover, there exist a, b ∈ Z≥1
such that z := ax + by ∈ ∂ (P ) ∩ Λ such that x ∼ z ∼ y. In this case,
a = 1 or b = 1.

Proof. Assume (1) and (2) do not hold and (3) is wrong. Then duality
yields that there exists a facet F ∈ F (P ) such that −1 > hηF , x + yi ∈ Z.
Hence, −2 ≥ hηF , x + yi = hηF , xi + hηF , yi where hηF , xi, hηF , yi ≥ 1.
This would imply x, y ∈ F , a contradiction.
Now, let F ∈ F (P ) such that −1 = hηF , x + yi = hηF , xi + hηF , yi.
Since hηF , xi, hηF , yi ∈ Z≥−1 , we get either x ∈ F and hηF , yi = 0
or y ∈ F , hηF , xi = 0. Let us assume the first case. We consider the
x + by
pair x + y, y. If x + y ∼ y, we are done. So assume not. Then we get
(x + y ) + y ∈ ∂P ∩ Λ. Hence, since h ηF , y i = 0, we still have x + 2y ∈ F .
Now, we consider the pair x + 2y, y. Since |P ∩ Λ| < ∞, we cannot repeat ..
this argument ad infimum, so there has to exist some b ∈ Z≥1 such that .
x + by ∼ y. u
t

You can use this in Exercise 7.14 to construct the complete list of 16 y x + 2y
reflexive polygons.
Note that even if x, y are vertices, z does not have to be a vertex x+y
again, if the dimension of P is larger than two. This result has many F
applications. As an immediate result we deduce the following constraints x
on the combinatorics of a simplicial reflexive polytope (Exercise 7.15).
−1 0
Corollary 7.29 The diameter of the vertex-edge graph of a simplicial
reflexive polytope is at most three. Exercise 7.14
Exercise 7.15
7.2.4 Vertices between parallel facets

In this section, we use the partial addition of lattice points to deduce the
precise form of vertices that lie between two parallel facets of a simplicial
reflexive polytope.

Haase, Nill, Paffenholz: Lattice Polytopes — 185 —


Lecture Notes Lattice Polytopes (draft of June 28, 2021)

Let us fix a facet F of a simplicial reflexive d-polytope P . We denote


the vertices of F by b1 , . . . , bd . Let Fi ∈ F (P ) such that

Fi ∩ F = conv(b1 , . . . , bi−1 , bi+1 , , . . . , bd ) .

Then there exists a unique mi ∈ V(P ) such that V(Fi ) = {b1 , . . . , mi , . . . , bd }


for i = 1, . . . , d.
Note that b1 , . . . , bd is in general not a lattice basis. We can still
define the dual (vector space) basis b∗1 , . . . , b∗d ∈ (Rd )∗ . These are in
general no lattice points.
The next lemma shows in particular, that there are at most d vertices
which lie on the adjacent parallel hyperplane to a facet.

Lemma 7.30 Let vv be a vertex of a simplicial reflexive polytope with


hηF , vi = 0.

(1) For 1 ≤ d

v ∈ Fi ⇐⇒ v = mi ⇐⇒ hb∗i , vi < 0.

In particular, there is always such a facet Fi containing v.


(2) If hb∗i , mi i = −1 and hηF , mi i = 0 for all i = 1, . . . , d, then b1 , . . . , bd
is a lattice basis.

Proof. i ∈ {1, . . . , d}.


Let
−1 − hηF , mi i
αi := ,
hb∗i , mi i

where hb∗i , mi i < 0 since 0 ∈ int(P ). Since hηF , mi i ≥ 0, we have αi > 0.


We claim that

ηFi = ηF + αi b∗i .

It suffices to check this equality for the vertices of Fi , where the left side
always evaluates to −1: j 6= i: hηF , bj i + αi hb∗i , bj i = −1,
hηF , mi i + αi hb∗i , mi i = −1. Now, we can prove (1) and (2).

(1) ηF = −b∗1 − . . . − b∗d , hηF , vi = 0 ⇒ ∃i : hb∗i , vi < 0. Moreover,


hb∗i , vi < 0 ⇐⇒ hηF + αi b∗i , vi < 0 ⇐⇒ hηFi , vi < 0 ⇐⇒ v ∈ Fi
⇐⇒ v = mi .
(2) Here: αi = 1 ∀i = 1, . . . , d, hence b∗i = ηFi − ηF ∈ Λ∗ ∀i = 1, . . . , d.
Therefore x = di=1 λi bi ∈ Λ ⇒ λi = hb∗i , xi ∈ Z ⇒ b1 , . . . , bd is a
P

lattice basis. u
t

Combining this lemma with the addition property for the lattice points
in the dual reflexive polytope yields our desired result.

— 186 — Haase, Nill, Paffenholz: Lattice Polytopes


Chapter 7. Reflexive and Gorenstein polytopes (draft of June 28, 2021)

Proposition 7.31 v ∈ V(P ), hηF , vi = 0. If −F ∈ F (P ), then there


are I, J ⊆ {1, . . . , d}, I ∩ J = ∅, |I| = |J| such that
X X
v = bj − bi .
j∈J i∈I

Proof. We use the notation in the proof of the previous lemma. Let

I := {i ∈ {1, . . . , d} such thathb∗i , vi < 0} 6= ∅ .

(1)
Then i ∈ I =⇒ v = mi .

−F ∈ F (P ) =⇒ Fi ∩ F = ∅
=⇒ ηFi 6∼ η−F = −ηF
ηFi − ηF ∈ ∂P ∗ ∩ Λ∗
Addition
=⇒
=⇒ −1 ≤ hαi∗ b∗i , ±b∗i i = ±αi ∈ Z
αi >0
=⇒ αi = 1
=⇒ hb∗i , vi = hηFi − ηF , vi = hηFi , vi − hηF , vi
| {z } | {z }
=−1 =0

=⇒ hb∗i , vi = −1

Using the same argument for −F shows that hb∗j , vi > 0 =⇒ hb∗j , vi = 1.
u
t

7.2.5 Special facets

We can now prove Theorem 7.26. The key idea is the following notion
(due to Øbro).
Definition 7.32 (Special Facet) Let F ∈ F (P ) such that v∈V(P ) v ∈
P

cone(F ). Such a facet is called special.


From now on, let F be a special facet. Obviously, special facets exist.
Let us slice the polytope (for i ∈ {−1, 0, 1, . . .}):

HP (F , i) := {v ∈ V(P ) : h ηF , v i = i} ∀i ∈ Z≥−1

Clearly,

|HP (F , 0)| = d .

Moreover, Lemma 7.30 yields

|HP (F , 1)| ≤ d.

Haase, Nill, Paffenholz: Lattice Polytopes — 187 —


Lecture Notes Lattice Polytopes (draft of June 28, 2021)

By definition of a special facet we have the following inequality:


X X X
0 ≥ hηF , vi = i|HP (F , i)| = −d + i|HP (F , i)|. (7.3)
v∈V(P ) i≥−1 i≥1

Hence, we can simply count the vertices:


X X
|V(P )| = |HP (F , i)| ≤ |HP (F , −1)| + |HP (F , 0)| + |HP (F , i)| ≤ 3d.
| {z } | {z }
i≥−1 =d ≤d i≥1
| {z }
≤d
(7.4)

It remains to consider the equality case (|V(P )| = 3d). In this case,


equality in (7.3) yields that
X
hηF , vi = 0.
v∈V(P )
P
Hence, v∈V(P ) v = 0, so any facet of P is special. Moreover, equalities
in (7.3) and show that any vertex of P lies in HP (F , i) for i = −1, 0, 1.
Therefore, −ηF ∈ P ? . So, −P ? ⊆ P ? , and thus −P ? = P ? . In other
words, P is centrally symmetric.
Since |V(P ) = 3d and |HP (F , −1)| = |HP (F , 1)| = d, we have
|HP (F , 0)| = d. Lemma 7.30(1) yields

HP (F , 0) = {m1 , . . . , md },

as defined in the previous subsection. Let k ∈ {1, . . . , k}. By Propo-


sition 7.31 there are I, J ⊆ {1, . . . , d}, I ∩ J = ∅, |I| = |J| such that
P P
mk = j∈J bj − i∈I bi . Since all m1 , . . . , md are pairwise different,
Lemma 7.30(1) yields that mk = bjk − bk for some jk ∈ {1, . . . , d},
jk 6= k. In other words,

σ : {1, . . . , d} → {1, . . . , d}
b2 k 7→ jk

b1
is a fixed-point free (σ (i) 6= i) involution (σ 2 = 1, jjk = k). We may
assume that this permutation is of the form
b1 − b2

Fig. 7.15: The situation for d = 2.


σ = (1 2)(3 4) · · · (d − 1 d).

In particular, d is even. Moreover,

P = conv(±b1 , ±(b1 − b2 ), ±b2 , . . . , ±bd , ±(bd−1 − bd ), ±bd ).

It remains to show that b1 , . . . , bd is a lattice basis, since it that case

— 188 — Haase, Nill, Paffenholz: Lattice Polytopes


Chapter 7. Reflexive and Gorenstein polytopes (draft of June 28, 2021)

∼ H ◦···◦H .
P = | {z }
d
2

See Figure 7.15. We observe that for any i = 1, . . . , d

hb∗i , mi i = hb∗i , bji − bi i = −1

hηF , mi i = 0
Hence, Lemma 7.30(2) finishes the argument. This proves Theorem 7.26.

7.3 Gorenstein polytopes

In this section, we will generalize the definition and duality of reflexive


polytopes in a setting which is more natural from the viewpoint of cones
as well as from Ehrhart theory. For this, let P be a full-dimensional lattice
polytope in Rd . Let Λ = Zd and Λ̄ = Zd+1 . Recall from Chapter 2 that
the cone over P (or the homogenization of P ) is

CP := cone({1} × P ) ⊆ Rd+1

with dual cone

CP? := {u ∈ (Rd+1 )∗ hu, xi ≥ 0 ∀x ∈ CP }

The unique primitive inner normals of facets F ∈ F (P ) are uF =


(−cF , ηF ), since

= 0 x ∈ F
h (−cF , ηF ), (x, 1) i = h ηF , x i − cF
≥ 0 x ∈ P

By duality of cones we have the correspondence:

facets of P ↔ rays of CP∨


F ↔ cone(uF )

We are going to denote cones associated to lattice polytopes as Gorenstein


cones.
Definition 7.33 Let C ⊆ Rd+1 be a (d + 1)-dimensional pointed ratio-
nal cone. Then C is called Gorenstein cone, if there exists a d-dimensional
lattice polytope P ⊆ Rd such that C = ∼ CP .
Equivalently, C is a Gorenstein cone if and only if there exists a
lattice point uC ∈ Λ̄? such that h uC , x i = 1 for all primitive generators
of the rays of C. In this case, uC is necessarily primitive.

Haase, Nill, Paffenholz: Lattice Polytopes — 189 —


Lecture Notes Lattice Polytopes (draft of June 28, 2021)

See Exercise 7.16 for some properties. Exercise 7.16


Our main result gives a complete characterization of lattice polytopes
whose cones have dual Gorenstein cones in terms of Ehrhart theory. The
reader may have to recall the definition of the degree and codegree of a
lattice polytopes from Chapter 3.
Theorem 7.34 The following are equivalent for a d-dimensional lattice
polytope P ⊆ Rd of degree s and codegree r:
(1) rP reflexive
(2) ∀k ≥ r: int(kP ) ∩ Λ = w + (k − r )P ∩ Λ for some w ∈ int(rP ) ∩ Λ
(3) CP∨ Gorenstein cone
In this case: uC ? = {r} × w and r is the unique k ∈ Z≥1 such that kP
P
is reflexive.

Proof. Let x0 = (k, x) for x ∈ kP , u0F = (−βF , uF ) for a facet F := {x :


h uF , x i ≥ βF of P , and Λ̄ := Ze0 × Λ. The cone CP over P has facets
F 0 = cone(F ) defined by h u0F , x0 i ≥ 0 for facets F of P .
(1) ⇒ (2): We prove both inclusions in (2). The direction "⊇" is clear.
We prove the other direction. Let w be the unique interior point of
rP , so that

h u0F , w0 i = 1 for all facets F of CP .

Let x ∈ int(kP ) ∩ Λ for some k ≥ r. Then

h u0F , x0 − w0 i = h u0F , x i − h u0F , w0 i ≥ 0 ∀F ∈ F (P )


| {z } | {z }
≥1 =1

In particular,

x0 − w0 ∈ (CP? )? = CP and h u0P , x0 − w0 i = k − r

Hence, x − w ∈ (k − r )P ∩ Λ, as desired.
(2) ⇒ (3): We want to show that h uF , w i = 1 for all facets F of P .
For this let us define C 0 := cone(w, F 0 ). Choose a lattice basis b1 , . . . , bd+1
such that b1 , . . . , bd ∈ cone(F ) and bd+1 ∈
/ cone(F ). By translating bd+1
Pd
with a multiple of i=1 bd we can assume that bd+1 ∈ C 0 .
Therefore, bd+1 ∈ int CP ∩ Λ̄. In particular, there exists some k ≥ r
such that bd+1 ∈ int({k} × kP ) ∩ Λ̄. By assumption, there exists some
m ∈ (k − r )P ∩ Λ such that bd+1 = w0 + m0 and

h b∗d+1 , F 0 i = 0 = h uF , F 0 i

for the dual lattice vector to bd+1 . As b∗d+1 is primitive, we see b∗d+1 = uF .
Therefore,

— 190 — Haase, Nill, Paffenholz: Lattice Polytopes


Chapter 7. Reflexive and Gorenstein polytopes (draft of June 28, 2021)
+w
kP
1 = h uF , bd+1 i = h uF , w i + h uF , m0 i ,
(k − r )P
hence, h u0F , w0 i = 1, as desired.
rP (3) ⇒ (1): Let w0 ∈ int CP ∩ Λ̄ such that

h u0F , w0 i = 1 for all facets F of P .

Then there exists k ≥ r such that w0 ∈ int kP ∩ Λ̄. Let F ∈ F (P ), so,

1 = h w0 , u0F i = −kβF + h uF , w i .
CP
Hence, kP is reflexive (w.r.t. w).
Let us show the additional last statement in the theorem. Assume (0, 1)
k > r, then P

| int kP ∩ Λ̄| ≥ |w + (k − r )P ∩ Λ̄| = |(k − r )P ∩ Λ̄|


≥ |P ∩ Λ̄| > 1
u = (1, 2), hu, ·i = 3

This is a contradiction. u
t

See Exercise 7.17 for an example of a non-Gorenstein cone. This motivates


our main definition. CP∨
(−1, 2)
Definition 7.35 (Gorenstein polytope) P is a Gorenstein polytope P∨
(0, 1)
of index r if it satisfies the conditions of Theorem 7.34.
In other words, a lattice polytope P is a Gorenstein polytope if some
multiple kP is a reflexive polytope. This multiple k is necessarily equal
to the codegree by Proposition 7.3. For instance, reflexive polytopes are Fig. 7.17: The cone over P = [−1, 2]
precisely Gorenstein polytopes of codegree 1. You will prove a criterion and its Gorenstein dual.
similar to Proposition 7.28 in Exercise 7.19
Example 7.36 42 P = [0, 1]2

(1) See Figure 7.17. CP∨ is not a Gorenstein cone, ⇒ P is not a Goren-
stein polytope. r = codeg P = 1, int P ∩ Λ = 2 > 1; h∗0 = 1, h∗1 = 2. Fig. 7.18: The unit square

(2) See Figure 7.18. P = [0, 1]2 is a Gorenstein polytope of codegree


Exercise 7.17
r = codeg(P ) = 2. (2P is reflexive, see Figure 7.19).
Exercise 7.18
(3) The Birkhoff polytope Bn is a famous polytope which is defined as
the convex hull of all n × n-permutation matrices. It is a Gorenstein Exercise 7.19

polytope of codegree n, see Exercise 7.20. Exercise 7.20

Corollary 7.37 For a Gorenstein polytope of index r we have

ehrP (−k ) = (−1)d ehrP (k − r ) ∀k ∈ Z

Proof. This follows from Theorem 7.34(2). u


t

Haase, Nill, Paffenholz: Lattice Polytopes — 191 —


Lecture Notes Lattice Polytopes (draft of June 28, 2021)

Theorem 7.38 Let P ⊆ Rd be a d-dimensional lattice polytope of degree


2P s and codegree r. Then the following three conditions qgree.
(1) P is a Gorenstein polytope of index r.
EhrP t−1 = (−1)d+1 tr b

(2) b EhrP (t)
(3) ? ?
hi = hs−i ∀i = 0, . . . , s

(2P − ( 11 ))∗ Proof. For a Gorenstein polytope of index r we have


X X X
Fig. 7.19: Twice the
| int kP ∩ Λ̄|tk = (−1)d ehrP (−k ) tk = ehrP (k − r ) tk
unit square and its dual. k≥1 k≥1 k≥1
X X
k r
= ehrP (k − r ) t = t ehrP (k ) tk
k≥r k≥0

So by Stanley’s Reciprocity Theorem (Theorem 3.42)


 
1
EhrP
b = (−1)d+1 bEhrint P (t) = (−1)d+1 tr b
EhrP (t) . (7.5)
t
This proves the first implication.
On the level of rational functions we get
? 1 i
Ps Ps
1 si=0 h?i ts−i
? i
 P
i=0 hi t d+1 1 i=0 hi t d+1 1
= (−1) = (−1) ·
(1 − t )d+1 tr (1 − 1t )d+1 tr ts (1 − 1t )d+1
Ps ? s−i
Ps ? i
(k − r )P + w i=0 hi t i=0 hs−i t
= = ,
w kP (1 − t )d+1 (1 − t )d+1
(k − r )P where the first equality follows from (7.5). Comparing the coefficients
w yields (3). Conversely, if (3) holds, then
rP  
1
(−1)d+1 bEhrP = tr b
EhrP (t) ,
t
Fig. 7.20
and by reciprocity
 
1 X
(−1)d+1 b
EhrP Ehrint P (t) = (−1)d
= b ehrP (−k ) tk ,
t
k≥1

while
X X
tr b
EhrP (t) = ehrP (k ) tk +r = ehrP (k − r ) tk .
k≥0 k≥r

Again comparing coefficients gives ehrP (−k ) = (−1)d ehrP (k − r ) for


k ≥ r and ehrP (−k ) = 0 for 1 ≤ k ≤ r. Hence

ehrP (−k ) = (−1)d ehrP (k − r ) for k ≥ 1 . u


t

There is a natural duality of Gorenstein polytopes extending the one


of reflexive polytopes. Since Gorenstein polytopes do not have interior
lattice points, if r > 1, we have to use the duality of cones.

— 192 — Haase, Nill, Paffenholz: Lattice Polytopes


Chapter 7. Reflexive and Gorenstein polytopes (draft of June 28, 2021)

Proposition 7.39 Let P be a Gorenstein polytope (as in Theorem 7.34).


Then

P ∨ := {x ∈ CP? : huC ? , xi = 1}
P

= conv((−cF , ηF ) : F ∈ F (P ))

is also a Gorenstein polytope of the same dimension, degree and codegree


as P , called the dual Gorenstein polytope.

Proof. uC ? = w, hence, h uC ? , uP i = r. Let G ∈ F (P ? ). Then


P P
h uG , G i = 0 and h uG , uCP i = 1. Therefore, rP ? is reflexive. u
t

Note that this duality is quite subtle. For instance, for r > 1, P ∨ does
not lie in the hyperplane Rd × 1. Thus, it is not intrinsically embedded
in Rd . It is merely given as a d-dimensional polytope in Rd+1 . Moreover,
except for codegree 1, P ∨ is not isomorphic to (rP − w )∗ , as one might
guess at first. For instance, in Example 7.36(2) with r = 2, P ∨ is just
isomorphic to P . See also Exercise 7.21. Exercise 7.21
Let us consider the case of a reflexive polytope P , say, 0 ∈ int(P ).
Then we recover the duality of reflexive polytopes:

P ∨ = {x ∈ (Rd+1 )∗ : hx, (y, 1)i ≥ ∀y ∈ P , hx, (0, 1)i = 1}


= {(x, 1) : hx, yi ≥ −1 ∀y ∈ P }
= P ? × 1.

This gives another proof of Proposition 7.4.

7.4 Finiteness of Gorenstein polytopes of given degree

In this section we are going to prove the following result in Ehrhart


theory:

Theorem 7.40 There exist only finitely many symmetric h∗ -polynomials


of lattice polytopes of degree s.

Equivalently, the normalized volume of any Gorenstein polytope of degree


s is bounded by a number depending only on s.
We remark that Theorem 7.40 follows from Theorem 5.11, since for
Gorenstein polytopes the leading coefficient h∗s = h∗0 = 1 is fixed!
Then, why do we prove Theorem 7.40? The answer is that we can give
a complete, self-contained and insightful proof for Gorenstein polytopes
without having to rely on Theorem 5.10 whose proof is out of reach of
this book. Corollary 5.2 lets us deduce an interesting consequence:

Haase, Nill, Paffenholz: Lattice Polytopes — 193 —


Lecture Notes Lattice Polytopes (draft of June 28, 2021)

Corollary 7.41 There exist only finitely many Gorenstein polytopes of


w degree s up to isomorphism and lattice pyramid constructions.
For s = 1 and s = 2 these finite lists are completely known.
The proof of Theorem 7.40 proceeds in the same way as that of
Theorem 5.11. We use Proposition 5.12 to reduce the problem to the
P ×1 existence of Cayley decompositions of Gorenstein polytopes with large
dimension and small degree. Next, instead of invoking Theorem 5.10, we
can prove this claim directly.
Proposition 7.42 If P is a Gorenstein d-polytope of degree s ≥ 1 and
d ≥ 2s, then P is a Cayley polytope of lattice polytopes in dimension
≤ 2s − 1.
w∨
Proof. See Figure 7.21. Let us identify P and P × 1. We denote by
w∨ = uCP and by w = uC ? . Then we can choose a lattice d-simplex
P
S ⊆ P ∨ such that w∨ ∈ cone(S ). We can find
S k
!
X

x1 , . . . , xk ∈ V ( S ) such that w = xi + xk + 1 ,
i=1

Fig. 7.21: P and P ∨ . where xk+1 ∈ Π(S ). Let us recall d + 1 − s = r = h w, w∨ i. We consider


two cases: If xk+1 = 0, then d + 1 − s = k, so k = d + 1 − s ≥ d + 2 − 2s.
If xk+1 6= 0, then we get d + 1 − s = k + h w, xk+1 i ≤ k + deg(S ) ≤ k +
deg(P ∨ ) = k + s by Proposition 3.19, Theorem 3.37, Proposition 7.39.
Therefore, in this case, k + 1 ≥ d + 2 − 2s. In any case, Lemma 5.9 implies
that P ∨ is a Cayley polytope of length ≥ d + 2 − 2s.

The proof of Theorem 7.40 follows now from applying Proposition 5.12
with N = 2s − 1.

7.5 Classification of reflexive polytopes

7.5.1 Smooth reflexive polytopes

Øbro [43]

7.5.2 All reflexive polytopes

Kreuzer and Skarke [33]

7.6 Problems
included on page 176
7.1. Show that for ∅ 6= A ⊂ Rd (equipped with some scalar product)
we always have ((A◦ )◦ )◦ = A.

— 194 — Haase, Nill, Paffenholz: Lattice Polytopes


Chapter 7. Reflexive and Gorenstein polytopes (draft of June 28, 2021)

7.2. Let P be a d-dimensional lattice polytope containing 0 in its


interior. Show that V(P ∗ ) ⊂ Qd .
included on page 176

7.3. Let T : Rd → Rd be a linear map that sends a d-dimensional


polytop P containing 0 in its interoir to Q (i.e. Q = T (P )). What
is the relation between Q∗ and P ∗ ?
included on page 176

7.4. Show that Sd,1 := conv(e1 , . . . , ed , −1) is reflexive.


included on page 177

7.5. Prove Proposition 7.4.


included on page 178

7.6. Show that a lattice polygon is reflexive if and only if it contains


precisely one interior lattice point.
included on page 178

7.7. Take [−1, 1]d , remove one vertex and take the convex hull of the
remaining lattice points. Show that it still contains precisely one
interior lattice point. Is this a reflexive polytope?
included on page 178

7.8. Compute h∗ -polynomial and Ehrhart polynomial of a 3-dimensional


reflexive polytope having b many lattice points.
included on page 180

7.9. Prove Lemma 7.12.


included on page 180

7.10. Classify unimodular fans in R2 which are minimal with respect to


blow-ups.
included on page 180

7.11. Define smooth blow-ups for three-dimensional unimodular fans (or


higher-dimensional); and show the invariance of the equality in
Theorem 7.20 under smooth blow-ups.
included on page 181

7.12. Prove Lemma 7.18.


included on page 184

7.13. Let P , Q be any polytopes (not necessarily with vertices in the


lattice) that contain 0 in the interior.
Show that the dual of the product is the free sum of the duals.
included on page 185

7.14. The complete list of unimodular equivalence classes of reflexive


polygons is in Figure 7.22.
(1) Pick your favorite and compute its dual polytope. To which
representative in the list is it unimodularly equivalent?

Haase, Nill, Paffenholz: Lattice Polytopes — 195 —


Lecture Notes Lattice Polytopes (draft of June 28, 2021)

Fig. 7.22: The 16 reflexive polygons.

(2) Use Proposition 7.28 to prove that this list is complete.


included on pa

7.15. Prove Corollary 7.29, i.e. show that any pair of vertices of a
simplicial reflexive polytope can be connected by at most three
edges.
included on pa

7.16. Let C be a (d + 1)-dimensional polyhedral cone. Show that C = ∼ CP


if and only if there is a lattice point w in the dual lattice with
h w, x i = −1 for all primitive generators of C.
Further, in this case w is primitive and in the interior of C ∗ .
included on page 191

7.17. Show explicitely that for P = conv(0, 3) the dual cone CP∗ is not
Gorenstein.
included on page 191

7.18. Let Λ ⊂ Rd be a lattice of rank d. We may choose (why ?)


v1 , . . . , vd ∈ Λ recursively such that vi+1 has the minimal non-
zero distance from the subspace hv1 , . . . , vi i. Show that v1 , . . . , vd

— 196 — Haase, Nill, Paffenholz: Lattice Polytopes


Chapter 7. Reflexive and Gorenstein polytopes (draft of June 28, 2021)

is a lattice basis of Λ. In particular, any primitive vector of Λ can


be completed to a lattice basis.
included on page 191

7.19. Show that any pair of vertices of a Gorenstein polytope of index


r > 1 either is in a common face or is an antipodal pair (with
respect to the point w, where w is the unique interior point of rP ).
included on page 191

7.20. Prove that the Birkhoff polytope Bn (the convex hull of n × n-


permutation matrices) is a Gorenstein polytope of codegree n.
What is its dimension and degree? What is the unique interior
lattice point of nBn ?
included on page 193

7.21. Find the dual Gorenstein polytope for the Gorenstein polytope
P = [0, 1]2 and show that it is isomorphic to P .

Haase, Nill, Paffenholz: Lattice Polytopes — 197 —


Unimodular
Triangulations
8
Contents
8.1 Regular Triangulations . . . . . . . . . . . . . . . . . . . 200
8.2 Pulling Triangulations . . . . . . . . . . . . . . . . . . . 202
8.3 Compressed Polytopes . . . . . . . . . . . . . . . . . . . 204
8.4 Special Simplices in Gorenstein Polytopes . 206
8.5 Dilations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
8.5.1 Composite Volume . . . . . . . . . . . . . . . . . . . . . 211
8.5.2 Prime Volume . . . . . . . . . . . . . . . . . . . . . . . . . 212
8.6 Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213

É unimodular cover
É integer Carathéodory + BGHMW
É IDP
É vectors u, v, w; covectors a, b, c; scalars α, β, γ

É \psubdiv S
É \regsubdiv{\vw}{V} Sw (V )
É \reglift{\vw}{V} lift(w )
É \regfunction{\vw}{V} Ψw
É \pull{\psubdiv}{\vv} pull(S; v )

It this chapter, we study under which assumptions a lattice polytope


admits a triangulation into unimodular simplices. Such unimodular trian-
gulations of lattice polytopes arise in algebraic geometry, commutative
Lecture Notes Lattice Polytopes (draft of June 28, 2021)

algebra, integer programming and, of course, combinatorics. Because of


the nice implications, having a unimodular triangulation is a desirable
property. But presumably, “most” lattice polytopes do not admit a uni-
modular triangulation. (Yet, there is no theorem to date that would pin
down what the previous statement actually means.)
We will define regular triangulations, and prove our first theorem
for cones in Section 8.2. Then, we define the particularly nice class of
compressed polytopes in Section 8.3, and give a few examples of important
triangulations. Section 8.4 can be regarded as a capstone section of these
notes. We use unimodular triangulations to prove unimodality of the h?
coefficients of Gorenstein polytopes with regular unimodular triangulation,
tying together ideas from Chapters 3 and 7 with this one. Finally, in
Section 8.5, we prove a mysterious theorem from the early days of toric
geometry which, to this day, raises more questions than it answers. Some
further examples and motivation for (regular) unimodular triangulations
are hidden in the exercises.

8.1 Regular Triangulations

Regular subdivisions form a well-behaved class of subdivisions of a given


point configuration. Regular subdivisions are partially ordered by re-
finement (see Definition 8.2). Hence, they form a poset. This poset is
isomorphic to the face lattice of the so called secondary polytope. This
was proved by Gel0 fand, Kapranov, and Zelevinsky [22], see also [19]. The
proof is beyond the scope of these notes. The maximal elements in the
poset are the regular triangulations, which in particular proves that every
point configuration has a triangulation (see Proposition 8.7 in the next
section).
In this and the following section we will work with point configu-
rations. We may think of A = P ∩ Zd , but the results with workmore
generally for any point set and produce a subdivision of its convex hull.
Though we will use this only at one place, the whole theory easlily carries
over to vector configurations and subdivisions of fans.
There is a close connection to linear and integer programming as
well as to Gröbner bases of toric ideals. We will not cover this here, but
the interested reader can find this in [19] or [57].

Definition 8.1 (regular subdivision) A subdivision S of the point


configuration A is regular if there is a weight vector ω ∈ RA such that
S is the projection of the lower hull of the polyhedron

lift(ω ) := conv(v × [ωv , ∞) : v ∈ A )

— 200 — Haase, Nill, Paffenholz: Lattice Polytopes


Chapter 8. Unimodular Triangulations (draft of June 28, 2021)

in Rd+1 . We write Sω (A ) or Sω (P ) for the regular subdivision induced


by ω.
A subdivision is a triangulation if all cells are simplices.

Here, the lower hull is the polyhedral complex of those facets whose
normal has negative first coordinate. The faces of Sω (A ) are the domains
of linearity of the function Ψω : P → R given by

v 7→ min h : (v, h) ∈ lift(ω ) .

Less formally, a regular subdivision can be thought of as a subdivision


that can be realized as a “convex folding” of the polytope (Figure 8.1
on the left). All three triangulations in Figure 8.2 are regular while the
Fig. 8.1: A regular triangulation via
triangulation on the right in Figure 8.1 is not. folding

Definition 8.2 Refinement of a subdivision.


Fig. 8.2: Regular triangulations
Lemma 8.3 Given a point configuration A ⊂ Rd and a weight vector
ω ∈ RA a set F is a face of Sω (A ) if and only if there is a functional
aF ∈ (Rd )? and an αF ∈ R such that for all v ∈ A

h aF , v i + ωv ≥ αF

and F is the convex hull of those v that attain equality.

Proof. This is a direct translation of the definition. u


t

Lemma 8.4 Given a point configuration A ⊂ Rd and a weight vector


ω ∈ RA define ω 0 ∈ RA by ωv0 := Ψω (v ). Then lift(ω ) = lift(ω 0 ) (and
hence, Sω (A ) = Sω0 (A ) as well as Ψω = Ψω0 ), and for all F ∈ Sω0 (A )
and all v ∈ A we have
Fig. 8.3: A lift of a regular triangula-
tion.
v ∈ F ⇐⇒ h aF , v i + ωv0 = αF , (8.1)

where we use the certificates (aF , αF ) from Lemma 8.3.

We will call a pair (Sω0 (A ), ω 0 ) satisfying (8.1) for all F ∈ Sω0 (A )


tight. If all v ∈ A are vertices of Sω (A ), then (Sω (A ), ω ) is automatically
tight.

Lemma 8.5 Let Sω (A ) and Sω0 (A ) be two regular subdivisions of the


same point set A . For ε > 0 small enough Sω−εω0 (A ) is a regular
refinement of Sω (A ). In particular, if Sω0 (A ) is a triangulation, then
Sω−εω0 (A ) is one too.
Fig. 8.4: A non-regular triangulation.
Proof. If

h aF , a i + ω (a) − αF > 0

Haase, Nill, Paffenholz: Lattice Polytopes — 201 —


Lecture Notes Lattice Polytopes (draft of June 28, 2021)

for some face F of Sω (A ) and a ∈ A , then also


h aF , a i + (ω − εω 0 )(a) − αF > 0
for ε small enough. Thus, in Sω (A ), the weight function at most subdi-
vides within faces. Hence, ω − εω 0 produces is a refinement of Sω (A ).
Clearly, if ω 0 produces a triangulation of A , then this is true also
for the restriction to all faces of Sω (A ). u
t

8.2 Pulling Triangulations


Pulling refinements are a useful tool for constructing regular triangula-
tions.
Definition 8.6 (Pulling Refinements) Consider a point configura-
tion A ⊂ Rd and s subdivision S of P = conv(A ). For u ∈ A we
obtain the pulling refinement pull(S; u) when we replace every face F ∈ S
which contains u by the pyramids conv(u, F 0 ) where F 0 runs over all
faces F 0  F which do not contain u.
The definition works mutatis mutandis for vector configurations and
Fig. 8.5: A pulling refinement. subdivisions of fans.
Here are some facts about the structure of pulling subdivisions. We
say that a vertex v of a polytope P is an apex of P if all other vertices
are contained in a facet of P .
Proposition 8.7 Let A be a point configuration in Rd and S a subdi-
vision of A (not necessarily regular).
(1) Pulling preserves regularity.
(2) Pulling all points in A in some order results in a triangulation whose
vertex set is all of A .
(3) If only vertices of P are pulled, then every maximal cell is the join of
the first pulled vertex v1 with a maximal cell in the pulling subdivisions
of the facets not containing v1 .
In particular, we see that every (regular) lattice subdivision of a lattice
polytope has a (regular) refinement which is a full triangulation.
Part (3) identifies the triangulation constructed back in Theorem 2.35
with the triangulation obtained by pulling the vertices in the given order.
Proof. (1): Let S = Sω (A ) be a regular subdivision of P = conv(A )
induced by tight weights ω ∈ RA . Let u ∈ A . Set ωu0 := ωu − ε and
ωv0 := ωv for all v ∈ A \ {u}. We claim that then, for small enough ε > 0,
the pulling refinement pull(S; u) is induced by the weights ω 0 .
To prove the claim, we will show that every face of pull(S; u) lifts
to a lower face of lift(ω 0 ). Then we show that these faces cover P , and
hence, all lower faces of lift(ω 0 ) project to faces of pull(S; u).

— 202 — Haase, Nill, Paffenholz: Lattice Polytopes


Chapter 8. Unimodular Triangulations (draft of June 28, 2021)

A face F of pull(S; u) is either


É a face of S not containing u or
É it is of the form conv(u, F 0 ) where F 0  G ∈ S with u ∈ G \ F 0 .

In the former case we have ω|F = ω 0 |F so that lift(ω|F ) = lift(ω 0 |F )


which, for small enough , still is a lower face of lift(ω 0 ). (This imposes
finitely many upper bounds on .)
In the latter case, there are certificates

(aF 0 , αF 0 ) and (aG , αG ) ∈ (Rd )? × R .

For the new weight ω 0 (and ε small enough) we have

h aF 0 , u i + ωu0 − αF 0 > 0 and (8.2)


h aG , u i + ωu0 − αG < 0 . (8.3)

Thus, there are coefficients λ, µ > 0 with λ + µ = 1 such that

λ h aF 0 , u i + ωu0 − αF 0 + µ h aG , u i + ωu0 − αG = 0 .
   

Then λ(aF 0 , αF 0 ) + µ(aG , αG ) is a certificate for the face F := conv(F 0 , u)


of Sω0 (A ): for all v ∈ A we have

λ h aF 0 , v i + ωv0 − αF 0 + µ h aG , v i + ωv0 − αG ≥ 0
   

with equality for v ∈ F 0 and for v = u, while for v 6∈ F 0 and v 6= u we


have a stricly positive summand.
To finish the proof of our claim, we take a point v ∈ P and show that
it belongs to a face of pull(S; u). Let G ∈ S be the face which contains v
in its relative interior. If u 6∈ G, we have G ∈ pull(S; u) and we are home.
If u ∈ G, consider the ray from u through v. It hits the boundary of G in
the relative interior of some face F 0  G. But then v ∈ F := conv(F 0 , u)
by construction, and F ∈ pull(S; u).
(2): By definition, every face of pull(S; u) which contains u is a
pyramid with apex u. (In particular, u is a vertex of pull(S; u).)
If Q ∈ S has v as an apex, then every face of Q containing v has v as
an apex. Consequently, every face of pull(S; u) inside Q and containing v
still has v as an apex. After pulling all lattice points, all lattice points
are vertices of the subdivision, and the cells have each of their vertices as
apices. Hence, they are simplices.
(3): If we apply the previous argument to the trivial subdivision of
P , we see that v1 is an apex of every maximal cell. u
t

Using pulling refinements (the fan version), we get unimodular trian-


gulations of cones — this corresponds to resolution of singularities for
toric varieties. It works like a charm, in arbitrary characteristic.

Haase, Nill, Paffenholz: Lattice Polytopes — 203 —


Lecture Notes Lattice Polytopes (draft of June 28, 2021)

Theorem 8.8 Every rational cone has a regular unimodular triangula-


tion.
Note that the remarkable claim in this theorem is the fact that we can
make the triangulation unimodular. We already know that there are
regular triangulations.

Proof. Given a rational cone C, we can, using pulling subdivisions on the


vector configuration of primitive generators of C, find a triangulation T of
C into simplicial cones. We will proceed by induction on lexicographically
ordered pairs (D, N ) where D is the maximal determinant D occuring
in the triangulation and N is the number of cones of determinant D.
If D = 1 then the triangulation is unimodular.
If D > 1, we choose an inclusion-minimal cone F ∈ T of determinant
D. Let v1 , . . . , vk be the primitive generators of F . Pick one of the
D − 1 non-zero lattice vectors in the fundamental parallelepiped Π(F ):
P
u= λj vj . (We have chosen F minimal so that all λj are positive.)
If v1 , . . . , vd are the primitive generators of a face G of T containing F ,
then G is subdivided into cones Gj (j = 1, . . . , k) where the generator
vj is replaced by u. As det(Gj ) = λj det(G) = λj D < D all the cones in
pull(T; u) have determinant < D. u
t

8.3 Compressed Polytopes

The notion of compressed polytopes was coined by Richard Stanley [54].


Surprisingly many well-known polytopes fall into this category.
Definition 8.9 A lattice polytope P ⊂ Rd is compressed if all lattice
points in P are vertices, and all pulling triangulations are unimodular.
Compressed polytopes admit several characterizations. A lattice polytope
P has width 1 with respect to a facet F , if it lies between the hyperplane
spanned by this facet and the next parallel lattice hyperplane, that is
every point of P has lattice distance at most one from F .
The main implication of the following Theorem is due to Francisco
Santos. The proof we present here is the original one (MSRI 1997, unpub-
lished). The result was subsequently also proven by Ohsugi and Hibi [44]
and by Sullivant [58].
Theorem 8.10 Let P be a lattice polytope. Then the following is equiv-
alent:
(1) P is compressed.
(2) P has width one with respect to all its facets.
(3) P is lattice equivalent to the intersection of a unit cube with an affine
space.

— 204 — Haase, Nill, Paffenholz: Lattice Polytopes


Chapter 8. Unimodular Triangulations (draft of June 28, 2021)

As a pulling triangulation of P induces a pulling triangulation on all


faces of P , faces of compressed polytopes are compressed. In the same
way, the facet-width-one property is inherited by faces.
Lemma 8.11 If P has width one with respect to all its facets then the
same is true for all faces of P .
Proof. By induction on the codimension it is enough to consider a facet
F of P . If G is a facet of F , there is a facet F 0 of P so that G = F ∩ F 0 .
Denote the primitive inner normal of F 0 to P by η. The restriction of
η to aff (F ) is an integral inner normal of G to F . (It might, a priori,
not be primitive.) But at every point of F ⊂ P , η takes values in
[h η, G i, h η, G i + 1]. That is, F has width one with respect to G. u
t
Proof (of Theorem 8.10). (2) =⇒ (1): Choose an ordering of the lattice
points in P and let T be the corresponding pulling triangulation. The
restriction of T to a face of P is the pulling triangulation induced by
the restricted ordering of the lattice points. Thus, by induction on the
dimension, the triangulations of the facets are unimodular.
Using the recursive description of Proposition 8.7(3) we see that every
maximal simplex in T is the join of a unimodular simplex S in some facet
with the first lattice point v1 that was pulled. The facet width assumtion
guarantees that v1 is at distance one from S so that conv(S, v1 ) is also
unimodular.
The other implications are easy. u
t
Example 8.12 Examples of compressed polytopes include
(1) the Birkhoff polytope,
(2) order polytopes and hypersimplices,
(3) stable set polytopes of perfect graphs.
We can apply the above characterization of compressed polytopes to
triangulate bigger polytopes using hyperplane arrangements.
Definition 8.13 A collection A := {a1 , . . . , ar } ⊂ (Zd )? of functionals
that span (Rd )? is said to form a unimodular matrix A if all (d ×
d)–minors of the r × d-matrix with rows ai are either 0, 1 or −1.
Such a collection induces an infinite arrangement of hyperplanes
{v ∈ Rd : h ai , v i = k} for i = 1, . . . , r and k ∈ Z ,
The induced subdivision of Rd is the lattice dicing of Rd by A.
The notion lattice dicing was coined by [21].
Definition 8.14 We call a lattice polytope P whose collection of primi-
tive facet normals forms a unimodular matrix facet unimodular.
The above hyperplane arrangement slices P into dicing cells. We call
this subdivision the canonical subdivision of a facet unimodular polytope.

Haase, Nill, Paffenholz: Lattice Polytopes — 205 —


Lecture Notes Lattice Polytopes (draft of June 28, 2021)

Lemma 8.15 Let P ⊆ Rd be a facet unimodular polytope.


(1) The cells of a lattice dicing are lattice polytopes.
(2) Canonical subdivisions are regular.
(3) Every face of a facet unimodular polytope is again facet unimodular
in its own affine lattice. Canonical subdivisions induce canonical
subdivisions on faces.

Exercise 8.1 The proof of this lemma ist left as Exercise 8.1.

Theorem 8.16 Suppose that P ⊂ Rd is a facet unimodular lattice poly-


tope. Then P has a regular unimodular triangulation.

Proof. The dicing cells have width one with respect to all their facets by
construction. Thus, any pulling refinement of the canonical subdivision
will be unimodular. u
t

As a direct application of Theorem 8.16, flow polytopes as well as poly-


topes with facets in the root system of type A have regular unimodular
triangulations. This method also shows that if P has a (regular) unimod-
ular triangulation then so do all its integral dilates cP . You will work out
the details in Exercise 8.2.

Theorem 8.17 If P has a (regular) unimodular triangulation T then


its dilation cP has one too, for every positive integer c. u
t
Exercise 8.2
— a fact which we will prove with a different method in Theorem 8.17
below.

8.4 Special Simplices in Gorenstein Polytopes

The goal of this section is to prove the following theorem of Bruns and
Römer.
Theorem 8.18 The h? -vector of a Gorenstein polytope with a regular
unimodular triangulation is unimodal. That is, 1 = h?0 ≤ . . . ≤ h?bs/2c ≥
. . . ≥ h?s .
This theorem and its proof are due to Bruns and Roemer [16]. For
general Gorenstein polytopes the theorem fails, as shown by Payne and
Mustata [41]. However, it is still open whether the following property
might suffice.
Definition 8.19 A lattice d-polytope P ⊆ Rd is said to possess the
integer decomposition property ( IDP) if for every k ∈ Z≥2 and for
every lattice point u ∈ kP ∩ Zd there exist v1 , . . . , vk ∈ P ∩ Zd such that
u = v1 + · · · + vk .

— 206 — Haase, Nill, Paffenholz: Lattice Polytopes


Chapter 8. Unimodular Triangulations (draft of June 28, 2021)

Equivalently, let C ⊂ Rd+1 be the cone spanned by P × {1}. Then P is


IDP if and only if the semigroup of lattice points in C is generated by
lattice points in P × {1}. As Exercise 8.3 shows, being IDP is weaker than
having a unimodular triangulation. Polytopes having the IDP-property
are also called integrally closed or sometimes normal.
The central tool in the proof of Theorem 8.18 is the notion of a
special simplex. The use of special simplices in this context had been (a) A 1-dimensional special
pioneered by Athanasiadis [1]. Note that this notion of a special simplex is simplex
different from the special facets introduced in the classification of smooth
reflexive polytopes.
Definition 8.20 A simplex S = conv(v1 , . . . , vk ) for v1 , . . . , vk ∈⊆ P ∩
Λ inside a polytope P is special if S ∩ F is a facet of S for all facets F
of P .

Example 8.21 Here are some simple examples of special simplices.


(1) The only special simplex in the unit simplex ∆ is ∆ itself (b) A 2-dimensional special
(2) See Figure 8.6 for two different special simplices in the unit cube. simplex

The reflexive cube [−1.1]d has also the origin as a special simplex.
Fig. 8.6: Two special simplices in the
(3) Figure 8.7 shows a special simplex in the tetrahedron with vertices 0, unit cube
e1 , e2 and 2e3 . Note that also the tetrahedron itself is special.
(4) Figure 8.8 shows two special simplices in the bipyramid over a trian-
gle.
(5) A special simplex in the Birkoff polytope for (n × n) − matrices is,
for instance, the simplex spanned by the vertices corresponding to the
permutations matrices for the permutations

i 7−→ i + k mod n 1for 1 ≤ l ≤ n .

Example 8.22 If S is am (r − 1)dimensional special simplex in a


polytope P of codegree r, then S is necessarily unimodular. Otherwise,
kS ⊆ kP for some k < r contains a lattice point.

Lemma 8.23 Let P be a Gorenstein polytope.


If P has the IDP property, then P has a special simplex with codeg(P )
many vertices.
If P has a special simplex with r = codeg(P ) many vertices, then its
vertices have lattice distance zero or one from all facets.

Proof. Let P ⊂ Rd be a polytope with the IDP property and Gorenstein


with degree s. Let uP ∈ CP be the Gorenstein point in the cone over P .
Because P has the IDP property, we can write uP = v1 + . . . + vr
Fig. 8.7: A special simplex in a
for v1 , . . . , vr ∈ ({1} × P ) ∩ Zd+1 . We claim that S := conv(v1 , . . . , vr )
Lawrence prism
is a special simplex.

Haase, Nill, Paffenholz: Lattice Polytopes — 207 —


Lecture Notes Lattice Polytopes (draft of June 28, 2021)

Every facet F of P is dual to a vertex w of the Gorenstein dual {1} ×


P ∨.
P
Then h w, vi i ≥ 0 for all i = 1, . . . , r, and h w, uP i = h w, vi i = 1.
Thus, h w, vj i = 1 for exactly one index j. Hence vj 6∈ F ) for this j while
h w, vi i = 0, that is, vi ∈ F for all i 6= j. Hence, S ∩ F contains all but
one of the vi . u
t

The punchline in the proof of Theorem 8.18 will be that we project the
Fig. 8.8: Special simplices in a polytope along a special simplex, and obtain a reflexive polytope with
triangle bipyramid. Note that
there may be more than one such. the same h∗ -vector which inherits a regular unimodular triangulation
from P . The following definition describes a subcomplex of P which will
project bijectively onto the boundary of that reflexive polytope.
Fig. 8.9
Definition 8.24 Let S = conv(v1 , . . . , vr ) ⊆ {1} × P be a special sim-
plex. Denote by Γ (P , S ) the subcomplex of ∂P generated by faces of the
form F1 ∩ . . . ∩ Fr where Fi is a facet of CP with vi 6∈ Fi for i = 1, . . . , r.

Lemma 8.25 Let S ⊆ P be a special simplex in a Gorenstein polytope,


and let T be a triangulation of Γ (P , S ). Then the complex T ? S generated
by {conv(S ∪ F ) : F ∈ T} is a triangulation of P . This triangulation is
unimodular if T was, and it is regular if T is the restriction to Γ (P , S )
of a regular triangulation of P .

Proof. We work in the cone Cp ⊂ Rd+1 over {1} × P . Add a 1-coordinate


to the simplex vertices {1} × S = conv(v1 , . . . , vr ). The set of primitive
facet normals of CP is partitioned into sets A1 , . . . , Ar so that h a, vj i =
δij for a ∈ Ai . Consider the concave piecewise linear function
( r )
X
ω (x) := min h ai , x i : ai ∈ Ai for i = 1, . . . , r .
i=1

We will prove the following.


(1) The domains of linearity of ω are cone(F ∪ S ) for F ∈ Γ (P , S ). This
shows that these polytopes form a regular subdivision Γ (P , S ) ? S of
P.
(2) If F is a (unimodular) simplex in Γ , then conv(S ∪ F ) is a (unimod-
ular) simplex.
(3) The conv(S ∪ F ) cover P .
(4) The conv(S ∪ F ) and their faces form a polyhedral complex.
(5) If T is the restriction to Γ (P , S ) of a regular triangulation of P then
T ? S is regular.

(1): To compute ω (x), we choose, for i = 1, . . . , r, an element ai ∈ Ai


minimizing h ·, x i. So the domains of linearity of ω are indexed by tuples
(a1 , . . . , ar ) ∈ ri=1 Ai and characterized by inequalities
Q

h ai , x i ≤ h a0i , x i for all a0i ∈ Ai . (8.4)

— 208 — Haase, Nill, Paffenholz: Lattice Polytopes


Chapter 8. Unimodular Triangulations (draft of June 28, 2021)

A choice (a1 , . . . , ar ) determines a face F of Γ (P , S ). We claim that


Pr
the set of points x ∈ {1} × P for which ω (x) = i=1 h ai , x i agrees
with conv(F ∪ S ). This then shows that these polytopes form a regular
subdivision of P .
Observe that the elements of Ai agree along {1} × S, and h a0i , x i ≥
h ai , x i = 0 along x ∈ F . This implies that ω (x) = ri=1 h ai , x i along
P

cone(F ∪ S ).
Conversely, suppose x ∈ {1} × P so that ω (x) = ri=1 h ai , x i. Set
P
Pr
xΓ := x − j =1 h aj , x ivj . For any a0i ∈ Ai we have

h a0i , xΓ i = h a0i , x i − h ai , x i ≥ 0

by (8.4). Thus, xΓ ∈ C. On the other hand, h ai , xΓ i = 0 for all i so that


xΓ ∈ cone F and x = xΓ + ri=1 h ai , x ivi ∈ cone F + cone S.
P

(2): If w1 , . . . , ws form a simplex T in Γ (P , S ), we want to show that


the set

v1 , . . . , vr , w1 , . . . , ws

of vectors in Zd+1 generates the lattice. Let x ∈ Zd+1 . Then


X
x = y + λi vi
i

for y ∈ T and λi ≥ 0 for 1 ≤ i ≤ r. As conv(w1 , . . . , ws ) belongs to a


face of Γ (P , S ), there are ai ∈ Ai for i = 1, . . . , r so that h ai , wj i = 0
and h ai , vj i = δij . Hence,

λi = h ai , x i ∈ Z .

Thus,
X
y = x − λi vi ∈ T ∩ Zd+1
i
P
and, as T is unimodular, y = j µj wj for integral µj , 1 ≤ j ≤ s.
(3): Every vertex u is either in S or in Γ as otherwise all facets containing
u would also contain vi for some fixed i. However, all facets containing
vi describe the tangent cone Tvi P which has only one vertex.
(4): This follows immediately from the previous considerations.
(5): Suppose ω 0 ∈ RA induces a triangulation of P which restricts to T
along Γ (P , S ). Then the weights ω + εω 0 for ε > 0 small enough will induce
the triangulation T ? S: by the pertubation Lemma 8.5, the resulting
subdivision is a refinement of Γ (P , S ) ? S (induced by ω) so that every
conv(F ∪ S ) = F ? S is subdivided according to ω 0 . Every subdivision of
this join is the join of S with its restriction to F (cf. Exercise 8.4). u t

Haase, Nill, Paffenholz: Lattice Polytopes — 209 —


Lecture Notes Lattice Polytopes (draft of June 28, 2021)

Exercise 8.4

Lemma 8.26 Let T be a regular triangulation of the polytope P so that


all maximal simplices have a common vertex v ∈ int P . Then T has the
same h-vector as a simplicial polytope. u
t

The proof of Theorem 8.18 uses h-vectors of triangulations (see § 3.4.4)


and Theorem 3.40 by Betke-McMullen.
Proof (of Theorem 8.18). If the Gorenstein polytope P has a regular
unimodular triangulation, then it is IDP (Exercise 8.3). By Lemma 8.23
P contains a special simplex S, and we can define the complex Γ (P , S ).
By Lemma 8.25 we can modify the given triangulation of P , if necessary,
to obtain a regular unimodular triangulation of the form T ? S for a
unimodular triangulation T of Γ (P , S ). Thus h? (P ) = h? (Γ (P , S )) =
h(T ) by Theorem 3.40.
It remains to show that T is combinatorially isomorphic to the
boundary complex of a simplicial polytope. Then, the g-theorem implies
that h(T ) is unimodal.
For this, let Φ be a strictly convex piecewise linear function on T ? S.
As S is a face of the triangulation, there is a linear functional u such that
h u, v i = Φ(v ) for all v ∈ S and h u, v i < Φ(v ) for all v 6∈ S.
Now let L be an affine space meeting S transversally in its relative
interior. Then, for small ε > 0, Q := {x ∈ L : Φ(x) − h u, x i ≤ ε}
is a polytope whose boundary complex has the same combinatorics as
Γ (P , S ). u
t
As a corollary we can prove now the missing part of Proposition 7.25, see
Exercise 8.5 also Exercise 8.5.
Corollary 8.27 Let P1 , P2 be reflexive. Then

h?P1 ◦P2 = h?P1 h?P2 .

Proof. In this situation, P := P1 ∗ P2 is also called the free join of P1


and P2 . It’s h? -polynomial is given by the product of those of P1 and
P2 (Exercise 8.5). The origins in P1 and P2 form a special simplex S of
P . As remarked in the proof (Exercise 8.6), projecting along the affine
span of S does not change the h? -polynomial. Its image is the reflexive
polytope P1 ◦ P2 . u
t
Exercise 8.6

8.5 Dilations
One of the first theorems about unimodular triangulations was proved
in the early days of toric geometry by Knudsen, Mumford, and Water-

— 210 — Haase, Nill, Paffenholz: Lattice Polytopes


Chapter 8. Unimodular Triangulations (draft of June 28, 2021)

man [30]. They were interested in semi-stable reduction of families of


algebraic varieties.

Theorem 8.28 ([30]) There is a factor c = c(P ) ∈ Z>0 such that the
dilation c · P admits a regular unimodular triangulation.

We say that c(P ) is a KMW-number of P . The KMW-theorem raises


more questions than it answers, such as:

É What is the minimum c(P ) for a given polytope P ? Is there a c(d)


that is a KMW-number for every polytope of dimension d?
É What is the structure of the set of KMW-numbers of a given P ? Is it
a monoid? Theorem 8.17 implies it is closed under taking multiples of
an element, but it is not clear whether it is closed under taking sums.
On the other end, no polytope P and integer c are known so that c is
a KMW-number for P but c + 1 is not.
For the proof of Theorem 8.28 we follow the strategy of the original
ingenious proof [30] (we omit the regularity bit). Compare also [15,
§§3.A&3.B].

Proof (Proof of Theorem 8.28). The theorem is true for lattice polyhedral
complexes: every cell F is a lattice polytope in its own lattice ΛF , and
these lattices are compatible along intersections. In fact, the additional
flexibility offered by this structure is used in the proof. Every triangulation
of P carries two distinguished lattice structures: the one given by the
embedding P ⊂ Rd on the one hand, and the one which declares every
simplex to be unimodular on the other.
Starting from a full triangulation of P , the proof proceeds by in-
duction on the maximal normalized volume V of a cell. If V is a prime
number, the different cells of volume V do not interfere. They can be
subdivided independently. But if V is composite, then this very fact
is used to interpolate between the unimodular lattice structure and a
multiple of the given one. The two cases of the induction step are treated
in Lemmas 8.29 and 8.33 below. The proofs occupy the remainder of this
section. u
t

8.5.1 Composite Volume

For the induction step, we need some preparation. It is convenient to


embed our lattice simplicial complex S on vertices v1 , . . . , vN into RN via
vi 7→ ei . For every face F ∈ S this yields a linear map ϕF : ΛF → RN , and
we denote Λ̂ the sum of the images of these lattices. Observe that ϕF (ΛF )
is generated by convex combinations of unit vectors, and therefore every
element has integral coordinate sum. If vi ∈ F , call xi an F -coordinate

Haase, Nill, Paffenholz: Lattice Polytopes — 211 —


Lecture Notes Lattice Polytopes (draft of June 28, 2021)

of x. In this setting, we can actually dilate S by a positive integer (and


keep the lattice Λ̂).
For each F ∈ S, the fundamental parallelepiped of F is the half open
cube

Π(F ) := {x ∈ RN : xi ∈ [0, 1) if vi ∈ F , and xi = 0 if vi 6∈ F }.

A box point of F is an element of Π(F ) ∩ Λ̂. It is in the relative interior if


all its F -coordinates are strictly positive. The box points of F represent
the elements of the finite abelian group (ZN + ϕF (ΛF ))/ZN ; their
number, the index [ZN + ϕF (ΛF ) : ZN ], equals the normalized volume
of F .

Lemma 8.29 Let V be a composite integer, and suppose that for every
lattice simplicial complex S all whose cells have volume less than V there
is a factor c ∈ Z>0 such that cS has a unimodular triangulation.
Then the same is true for all lattice simplicial complexes all whose
cells have volume no more than V .

Proof. Let F1 , . . . , FM be the volume V faces of S. For each of them


choose non-zero box points mi ∈ Π(Fi ) ∩ Λ̂ of order strictly less than V
in Λ̂/ZN . Define lattices Λ0 := ZN , Λi := Λi−1 + Zmi for i = 1, . . . , M ,
and ΛM +1 := Λ̂. To begin with, S is unimodular with respect to Λ0 .
The maximal volume of a simplex of S with respect to Λ1 is bounded by
the index [Λ1 : Λ0 ] which by choice of m1 is less than V . By induction,
there is a c1 ∈ Z>0 so that c1 S has a unimodular triangulation with
respect to Λ1 . In Λ2 , this triangulation can only have simplices of volume
[Λ2 : Λ1 ] which by choice of m2 is less than V . Continuing this way,
we obtain a ΛM -unimodular triangulation of cM · . . . · c1 S. But now, the
index [ΛM +1 : ΛM ] is also less than V . So some cM +1 · . . . · c1 S has a
Λ̂-unimodular triangulation. u
t

8.5.2 Prime Volume

Throughout the remainder of this section V is a prime number, and S is


a lattice simplicial complex with maximal simplex volume V . The (open)
star, star(S; F ), of a face F of a simplicial complex S is the set of all
faces that contain F . The closed star, star(S; F ), contains additionally all
faces of elements of star(S; F ). The boundary, ∂ star(S; F ), of star(S; F )
is the difference star(S; F ) \ star(S; F ).

Lemma 8.30 The set of volume V simplices is a pairwise disjoint union


of open stars of inclusion minimal volume V simplices. Each inclusion
minimal volume V simplex has V − 1 relative interior box points.

— 212 — Haase, Nill, Paffenholz: Lattice Polytopes


Chapter 8. Unimodular Triangulations (draft of June 28, 2021)

Proof. Suppose F ∈ S has volume V , and G is a face of F with a


relative interior box point m. Since V is prime, m generates the group
(ZN + ϕF (ΛF ))/ZN . As all non-G-coordinates of m vanish, the same
is true for all multiples of m, and therefore for all box points of F . u
t

Lemma 8.31 If F ∈ S is an inclusion minimal simplex of volume


V , then there is a c ≤ d so that c · star(S; F ) has a subdivision which
induces the standard hypersimplicial subdivision on c · ∂ star(S; F ) with
the property that all simplices in any pulling triangulation have volume
<V.
P
Proof. Let m be a box point of F . Set c := i mi so that m ∈ relint cF .
As all non-F -coordinates of m vanish and all F -coordinates are less than
one, we have c < dim F + 1. Integrality implies c ≤ d. (We could use the
symmetry of Π(F ) to obtain c ≤ dd/2e.)
Subdivide the facets of c · ∂ star(S; F ) canonically into hypersimplices.
Subdivide c · star(S; F ) into pyramids over these hypersimplices with apex
m.
Now, let G be a cell of a pulling triangulation refining this subdivision.
Then G = conv(m, G0 ) where G0 lives inside cF 0 for some facet F 0 of
∂ star(S; F ). There is a unique vertex vj of F not in F 0 , and the normalized
volume of G equals mj · V < V . u
t

Lemma 8.32 d!S has a triangulation into simplices of volume < V .

Proof. Subdivide every simplex of volume less than V canonically into


hypersimplices.
For every inclusion minimal simplex F of volume V , choose c
and subdivide c · star(S; F ) as in Lemma 8.31. Now, d! · star(S; F ) =
c · (c · star(S; F )) has a canonical subdivision into pyramids over hyper-
d!

simplices. (Need to say something about this.) It restricts to the canonical


subdivision on the boundary.
Now pull all the lattice points. u
t

Corollary:

Lemma 8.33 Let V be a prime number, and suppose that for every
lattice simplicial complex S all whose cells have volume less than V there
is a factor c ∈ Z>0 such that cS has a unimodular triangulation.
Then the same is true for all lattice simplicial complexes all whose
cells have volume no more than V .

8.6 Problems
included on page 206
8.1. Prove Lemma 8.15

Haase, Nill, Paffenholz: Lattice Polytopes — 213 —


Lecture Notes Lattice Polytopes (draft of June 28, 2021)

included on pa

8.2. Prove Theorem 8.17 by using Theorem 8.16.


included on pa

8.3. Show that a lattice polytope is integrally closed if it admits a


unimodular triangulation.
included on page 210

8.4. Prove the last claim in the proof of Lemma 8.25.


included on page 210

8.5. Let P ⊂ Rn and Q ⊂ Rm be lattice polytopes. Show that the


product of their h? -polynomials equals the h? -polynomial of the
convex hull of P × {0} × {0} and {0} × Q × {1}.
included on page 210

8.6. Use the methods of proof of Theorem 8.18 to show that the pro-
jection of a Gorenstein polytope of codegree r along a special
simplex of dimension r − 1 yields a reflexive polytope with the
same h? -polynomial.

— 214 — Haase, Nill, Paffenholz: Lattice Polytopes


Some Convex
Geometry
A
Contents
A.1 Convex Bodies . . . . . . . . . . . . . . . . . . . . . . . . . . 215
A.2 Ellipsoids . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
A.3 Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219

We provide some results from general convex geometry.

A.1 Convex Bodies

Definition A.1 (Convex Body) A convex body is a compact convex


set K ⊆ Rd such that int K 6= ∅. It is centrally symmetric if for any
x ∈ K also −x ∈ K.

A.2 Ellipsoids

Let Bd := {x ∈ Rd | kxk = 1} be the unit ball.


Definition A.2 (Ellipsoid) Let T : Rd → Rd be an invertible linear
transformation and t ∈ Rd . The set

E : = E (T , t) : = T (B ) + t

is the ellipsoid with center t.


Lecture Notes Lattice Polytopes (draft of June 28, 2021)

See Figure A.1 for an example. We can write the ellipsoid explicitely as
n o
E = x ∈ Rd | h T −1 (x − t), T −1 (x − t) i ≤ 1
n o
= x ∈ Rd | h Q ( x − t ) , x − t i ≤ 1

for the positive semidefinite matrix Q = (T T t )−1 . We can also assume


that T is positive definite, as any linear transformation T decomposes
Fig. A.1:
 The ellipsoid for into a product T = U S for an orthogonal matrix U and a positive definite
T =
20
and t = 0 matrix S, and U (Bd ) = Bd . In a basis of eigenvectors u1 , . . . , ud with
01
eigenvalues λ1 , . . . , λd for Q this takes the form
n o
E = x ∈ Rd | λ1 (x1 − t1 )2 + · · · + λd (xd − td ) ≤ 1 .

The volume of the ellipsoid is


vol Bd
vol E = | det T | vol Bd = √ .
det Q
Let K be a convex body and

η := sup(vol E : E ⊆ K ellipsoid) . (A.1)

Theorem A.3 Let K ⊆ Rd be a convex body. Then the supremum of


(A.1) is attained, i.e. there is an ellipsoid E ⊆ K such that vol E = η.
E is called a maximum volume ellipsoid.

Proof. Let Bd be the unit ball. We define the set


n o
S := (T , a) ∈ Gl(d) × Rd : T (Bd ) + a ⊆ K .

Any ellipsoid E ⊆ K is of the form R = T (Bd ) + a and

vol(E ) = | det T | · vol(Bd ) . (A.2)

K is compact, so there is r > 0 such that kxk ≤ r for all x ∈ K. Hence,

kak ≤ r and kT k ≤ 2r for all (T , a) ∈ S . (A.3)

Hence, S is a closed and bounded subset of Gl(d) × Rd , and the map

(T , a) 7−→ | det T |

attains its maximum at some (T0 , a0 ) ∈ S. As K is non-empty, we have


| det T | > 0 and E0 := T0 (Bd ) + a0 is an ellipsoid of maximum volume.

— 216 — Haase, Nill, Paffenholz: Lattice Polytopes


Appendix A. Some Convex Geometry (draft of June 28, 2021)

Remark A.4 The ellipsoid obtained in the previous theorem is in fact


unique and is also called the Löwner-John ellipsoid or John ellipsoid.
Essentially, for the uniqueness one shows first that, if there were two
points (T1 , a1 ) and (T2 , a2 ) attaining the maximum, then, if T1 6= T2 ,
1
2 (T1 + T2 ) generates an ellipsoid of strictly larger volume. So T1 = T2 ,
and now, if a1 6= a2 , then conv(T1 (Bd ) + a1 , T2 (Bd ) + a2 ) contains an
ellipsoid of strictly larger volume.

We can use the maximum volume ellipsoid of a convex body K to


aaproximate K ap to a factor depending on the dimension alone. The
following theroem is the key result of this section.
Theorem A.5 Let K ⊆ Rd be a convex body and E a maximum volume
ellipsoid in K. If the center of E is the origin, then K ⊆ d · E.
Using a translation we can of course always assume the the center of E
is the origin.
Proof. By definition there is an invertible linear transformation T such
that E = T (Bd ). We can apply T −1 to both K and E, so that in the
following we can assume that E = Bd .
We then need to show that there is no point z ∈ K with kzk ≥ d.
Assume on the contrary that there is such a point z ∈ K with kzk > d
and let

L := conv(Bd ∪{z}) ⊆ K .

We construct an ellipsoid inside L of volume larger than vol Bd .


Using a linear transformation we can assume that z = me1 . For
parameters a, b and ε we consider the ellipsoid
d
( )
1 1 X
Fd : = x ∈ R d | 2 ( x 1 − ε ) 2 + 2 x2i ≤ 1 .
a b
i=2

This is symmetric in the last d − 1 coordinated. Hence, it suffices to


consider the case d = 2, i.e.
x2
 
1
F := x ∈ Rd | 2 (x1 − ε)2 + 22 ≤ 1 .
a b
See Figure A.2 for a sketch of the setting. Now clearly an ellipsoid of
maximum volume in F will touch at the point (−1, 0). Plugging this into
the defining equation we obtain Fig. A.2: A sketch of the setting for
the proof of Theorem A.5.
a = ε+1. (A.4)

The tangent to F at a point (u, v ) is given by the equation


u−ε v
( x1 − ε ) + 2 x2 = 1 . (A.5)
a2 b

Haase, Nill, Paffenholz: Lattice Polytopes — 217 —


Lecture Notes Lattice Polytopes (draft of June 28, 2021)

and, as (u, v ) is on the boundary of F ,

(u − ε)2 v2
1 = 2
+ 2 (A.6)
a b
Now we want to determine the particular tangent to the ellipsoid that
also passes through me1 and touches the unit ball, i.e. the boundary
segment of L added in the convex hull of Bd with me1 . This line touches
the unit ball in a point (p, q ) and can thus also be written as

px1 + qx2 = 1 . (A.7)

It passes through me1 and p2 + q 2 = 1, so



u−ε 1 1 m2 − 1
= p = q = . (A.8)
a2 m−ε m m
p
From (A.7) we deduce that the slope of the tangent is −1/ m2 −1. Com-
puting the slope from (A.5) we obtain

1 u − ε b2
−√ = − 2 .
m2 − 1 a v

Squaring and first using (A.6) and then the first equation of (A.8) we
obtain
−1
(u − ε)2 2 (u − ε)2

1
= b 1−
m2 − 1 a4 a2
−1
a2

1 2
= b 1 −
(m − ε)2 (m − ε)2

Using (A.4) and solving for b2 gives

(m − ε)2 − (1 + ε)2
b2 = .
m2 − 1
Now let us return to the ellipsoid Fd in dimension d. Its volume is

vol Fd = abd−1 vol Bd .

Now
(d−1)/2
(m − ε)2 − (1 + ε)2

d−1
ab = (1 + ε)
m2 − 1

As a function in ε its derivative at 0 is


d−1 2 m−d
1− = .
2 m−1 m−1
Hence, for m > d and small ε the volume of Fd is larger than that of
Bd . u
t

— 218 — Haase, Nill, Paffenholz: Lattice Polytopes


Appendix A. Some Convex Geometry (draft of June 28, 2021)

From the proof of Theorem A.6 it becomes pretty obvious that we


can get a larger ellipsoid inside L if K is centrally symmetric and we
use the knowledge that also −z is in K and we can thus replace L by
L := conv(Bd ∪{±z}). With essentially the same proof this leads to the
following approximation of a centrally symmetric convex body K by an
ellipsoid.
Theorem A.6 Let K ⊆ Rd be a centrally symmetric convex body and
E a maximum volume ellipsoid in K. If the center of E is the origin,

then K ⊆ d · E.
Exercise A.4
The proof is left to the reader as Exercise A.4.

A.3 Problems
included on page 219
A.1. Let Cd be the cube defined by |xi | ≤ 1. Prove that the maximum
volume ellipsoid is the unit ball.
included on page 219

A.2. Let ∆d ⊆ Rd+1 be the d-dimensional simplex defined as the convex


hull of the unit vectors. Prove that a maximum volume ellipsoid is
the ball in the affine hull of ∆d with center 1/(d+1)1.
Deduce that the bound of Theorem A.6 is best possible.
included on page 219

A.3. Let K be a centrally symmetric convex body. Prove that then


also a maximum volume ellipsoid is centrally symmetric (and in
particular centered at the origin).
included on page 219

A.4. Prove Theorem A.6.

Haase, Nill, Paffenholz: Lattice Polytopes — 219 —


Solutions to some
Exercises
B
B.1 Solutions for Chapter 4

4.13. ca(P ; w ) attained for η, can assume v := w + η ∈ ∂P . If v is not


a vertex of P , then there is a v 0 ∈ Rd \ {0} so that v ± v 0 ∈ P .
compute the defining quotient . . . can decrease the dimension of
the carrier face of v.
Alternative proof: max{λ > 0 : w − λ(v − w ) ∈ P } is a linear
optimization problem. It has a basic optimal solution.

4.11. (1) Let A, B and C be the vertices of the triangle realising sbc(2, i)
for an interior point L and assume the smallest coefficient is
at vertex C. We can transform the triangle so that A is the
origin and B is on the x-axis and C = (c1 , c2 ) is in the positive
orthant. Then smallestbary (2, i) = c12 , so that sbc(2, i) is
realized by a triangle with maximal height and i interior lattice
points.
This is obtained if B = (2, 0) and c1 = 0. In this case c2 =
2i + 2, so sbc(2, i) = 2i1+2 .
(2)
(3)

B.2 Solutions for Chapter 6

6.2. This is equivalent to det(Λ) · det (Λ∗ ) = 1.


References (draft of June 28, 2021)

References to software packages (citations starting with an “S”) are


listed in the software section of the references.

[1] Christos A. Athanasiadis. Ehrhart polynomials, simplicial polytopes, magic


squares and a conjecture of Stanley. J. Reine Angew. Math., 583 (2005),
pp. 163–174. doi: 10.1515/crll.2005.2005.583.163. url: https://doi.
org/10.1515/crll.2005.2005.583.163 (cit. on p. 207)
[2] Margherita Barile, Dominique Bernardi, Alexander Borisov, and Jean-
Michel Kantor. On empty lattice simplices in dimension 4. Proc. Amer.
Math. Soc., 139:12 (2011), pp. 4247–4253. doi: 10.1090/S0002-9939-
2011-10859-1. arXiv: 0912.5310 [math.AG]. url: http://dx.doi.org/
10.1090/S0002-9939-2011-10859-1 (cit. on p. 122)
[3] A. I. Barvinok. Computing the Ehrhart polynomial of a convex lattice
polytope. Discrete Comput. Geom., 12:1 (1994), pp. 35–48. doi: 10.1007/
BF02574364. url: http : / / dx . doi . org / 10 . 1007 / BF02574364 (cit. on
pp. 148, 149)
[4] Alexander Barvinok. A course in convexity. Graduate Studies in Mathe-
matics (vol. 54). American Mathematical Society (Providence, RI), 2002,
x+366 pages (cit. on p. 45)
[5] Alexander Barvinok. Integer points in polyhedra. Zurich Lectures in Ad-
vanced Mathematics. European Mathematical Society (EMS), Zürich,
2008, viii+191 pages. doi: 10.4171/052 (cit. on p. 108)
[6] Alexander I. Barvinok and James E. Pommersheim. An algorithmic theory
of lattice points in polyhedra. In: New perspectives in algebraic combinatorics
(Berkeley, CA, 1996–97). Cambridge Univ. Press (Cambridge), 1999,
pp. 91–147 (cit. on p. 148)
[7] Victor Batyrev and Benjamin Nill. Combinatorial aspects of mirror sym-
metry. In: Integer points in polyhedra — geometry, number theory, repre-
sentation theory, algebra, optimization, statistics. Ed. by Matthias Beck,
Christian Haase, Bruce Reznick, Michèle Vergne, Volkmar Welker, and
Ruriko Yoshida. Contemp. Math. (Vol. 452). Papers from the AMS-IMS-
SIAM Joint Summer Research Conference held in Snowbird, UT, June
11–15, 2006. Amer. Math. Soc. (Providence, RI), 2008, pp. 35–66. doi:
10 . 1090 / conm / 452 / 08770. arXiv: math / 0703456 [math.CO] (cit. on
p. 137)
[8] Victor V. Batyrev. Dual polyhedra and mirror symmetry for Calabi–Yau
hypersurfaces in toric varieties. J. Alg. Geom., 3 (1994), pp. 493–535
(cit. on p. 181)
[9] Matthias Beck and Frank Sottile. Irrational proofs for three theorems of
Stanley. European J. Combin., 28:1 (2007), pp. 403–409. doi: 10.1016/j.
ejc.2005.06.003. arXiv: math/0501359 [math.CO] (cit. on pp. 74, 79)
[10] Ulrich Betke, Martin Henk, and Jörg M. Wills. Successive-minima-type
inequalities. Discrete Comput. Geom., 9:2 (1993), pp. 165–175. doi: 10.
1007/BF02189316. url: http://dx.doi.org/10.1007/BF02189316 (cit. on
p. 104)

Haase, Nill, Paffenholz: Lattice Polytopes — 223 —


Lecture Notes Lattice Polytopes (draft of June 28, 2021)

[11] Ulrich Betke and Peter McMullen. Lattice points in lattice polytopes.
Monatsh. Math., 99:4 (1985), pp. 253–265. doi: 10 . 1007 / BF01312545
(cit. on p. 80)
[12] Louis J. Billera and Carl W. Lee. Sufficiency of McMullen’s conditions
for f -vectors of simplicial polytopes. Bull. Amer. Math. Soc. (N.S.), 2:1
(1980), pp. 181–185 (cit. on p. 29)
[13] Alexandr A. Borisov. Convex lattice polytopes and cones with few lat-
tice points inside, from a birational geometry viewpoint. arXiv : math /
0001109[math.AG]. 2000 (cit. on p. 109)
[14] Alexandr A. Borisov and Lev A. Borisov. Singular toric Fano varieties. Mat.
Sb., 183:2 (1992), pp. 134–141. doi: 10.1070/SM1993v075n01ABEH003385.
url: http://dx.doi.org/10.1070/SM1993v075n01ABEH003385 (cit. on
p. 109)
[15] Winfried Bruns and Joseph Gubeladze. Polytopes, Rings, and K-Theory.
Monographs in Mathematics. XIV, 461 p. 52 illus. Springer-Verlag, 2009
(cit. on p. 211)
[16] Winfried Bruns and Tim Römer. h-vectors of Gorenstein polytopes. J.
Combin. Theory Ser. A, 114:1 (2007), pp. 65–76. doi: 10.1016/j.jcta.
2006.03.003. url: http://dx.doi.org/10.1016/j.jcta.2006.03.003
(cit. on p. 206)
[17] Vladimir I. Danilov and Askol’d G. Khovanskii. Newton polyhedra and an
algorithm for computing Hodge–Deligne numbers. Math. USSR Izvestiya,
29:2 (1987), pp. 279–298 (cit. on p. 181)
[18] Jesús A. De Loera, Raymond Hemmecke, and Matthias Köppe. Algebraic
and geometric ideas in the theory of discrete optimization. MOS-SIAM
Series on Optimization (vol. 14). Society for Industrial and Applied Math-
ematics (SIAM) (Philadelphia, PA), 2013, xx+322 pages (cit. on pp. 75,
155)
[19] Jesus deLoera, Francisco Santos, and Jörg Rambau. Triangulations. Algo-
rithms and Computation in Mathematics (vol. 25). Springer, 2010 (cit. on
pp. 32, 200)
[20] Jan Draisma, Tyrrell B. McAllister, and Benjamin Nill. Lattice width
directions and Minkowski’s 3d -theorem (Jan. 2009). eprint: 0901.1375
(cit. on p. 104)
[21] Robert M. Erdahl and Sergej S. Ryshkov. On lattice dicing. English. Eur.
J. Comb., 15:5 (1994), pp. 459–481. doi: 10.1006/eujc.1994.1049 (cit. on
p. 205)
[22] Israel M. Gel0 fand, Michael M. Kapranov, and Andrei V. Zelevinsky. Dis-
criminants, resultants, and multidimensional determinants. Mathematics:
Theory & Applications. Birkhäuser Boston Inc. (Boston, MA), 1994, x+523
pages. doi: 10.1007/978-0-8176-4771-1 (cit. on p. 200)
[23] Roland Grinis and Alexander Kasprzyk. Normal forms of convex lattice
polytopes. Jan. 2013. arXiv: 1301.6641 [math.CO] (cit. on p. 145)
[24] Martin Grötschel, László Lovász, and Alexander Schrijver. Geometric
algorithms and combinatorial optimization. Second. Algorithms and Com-
binatorics (vol. 2). Springer-Verlag (Berlin), 1993, xii+362 pages (cit. on
p. 102)
[25] Christian Haase and Günter M. Ziegler. On the maximal width of empty
lattice simplices. Eur. J. Comb., 21:1 (2000), pp. 111–119 (cit. on p. 122)

— 224 — Haase, Nill, Paffenholz: Lattice Polytopes


References (draft of June 28, 2021)

[26] Martin Henk. Successive minima and lattice points. Rend. Circ. Mat.
Palermo (2) Suppl.,: 70, part I (2002). IV International Conference in
“Stochastic Geometry, Convex Bodies, Empirical Measures & Applications
to Engineering Science”, Vol. I (Tropea, 2001), pp. 377–384. eprint: math.
MG/0204158 (cit. on p. 103)
[27] Douglas Hensley. Lattice vertex polytopes with interior lattice points. Pacific
J. Math., 105:1 (1983), pp. 183–191. doi: 10.2140/pjm.1983.105.183
(cit. on p. 115)
[28] Lutz Hille and Harald Skarke. Reflexive polytopes in dimension 2 and
certain relations in SL2 (Z). English. J. Algebra Appl., 1:2 (2002), pp. 159–
173. doi: 10.1142/S0219498802000124 (cit. on p. 179)
[29] Ravindran Kannan and Achim Bachem. Polynomial algorithms for com-
puting the Smith and Hermite normal forms of an integer matrix. SIAM
J. Comput., 8:4 (1979), pp. 499–507. doi: 10.1137/0208040. url: https:
//doi.org/10.1137/0208040 (cit. on p. 148)
[30] George R. Kempf, Finn F. Knudsen, David Mumford, and Bernard Saint–
Donat. Toroidal Embeddings I. Lecture Notes in Mathematics (vol. 339).
Springer–Verlag, 1973 (cit. on p. 211)
[31] Matthias Köppe and Sven Verdoolaege. Computing Parametric Rational
Generating Functions with a Primal Barvinok Algorithm. Electronic journal
of Combinatorics, 15 (2008) (cit. on p. 74)
[32] Maximilian Kreuzer and Harald Skarke. Classification of reflexive polyhedra
in three dimensions. Adv. Theor. Math. Phys., 2:4 (1998), pp. 853–871
(cit. on p. 140)
[33] Maximilian Kreuzer and Harald Skarke. Complete classification of reflex-
ive polyhedra in four dimensions. Adv. Theor. Math. Phys., 4:6 (2000),
pp. 1209–1230 (cit. on pp. 140, 194)
[34] Maximilian Kreuzer and Harald Skarke. PALP: a package for analysing
lattice polytopes with applications to toric geometry. Comput. Phys. Comm.,
157:1 (2004), pp. 87–106. doi: 10.1016/S0010-4655(03)00491-0. url:
http://dx.doi.org/10.1016/S0010-4655(03)00491-0 (cit. on p. 140)
[35] J. C. Lagarias. Knapsack public key cryptosystems and Diophantine approx-
imation (extended abstract). In: Advances in cryptology (Santa Barbara,
Calif., 1983). Plenum, New York, 1984, pp. 3–23 (cit. on p. 168)
[36] J. C. Lagarias, H. W. Lenstra Jr., and C.-P. Schnorr. Korkin-Zolotarev bases
and successive minima of a lattice and its reciprocal lattice. Combinatorica,
10:4 (1990), pp. 333–348. doi: 10.1007/BF02128669. url: https://doi.
org/10.1007/BF02128669 (cit. on p. 107)
[37] Jeffrey C. Lagarias and Günter M. Ziegler. Bounds for lattice polytopes
containing a fixed number of interior points in a sublattice. English. Can.
J. Math., 43:5 (1991), pp. 1022–1035 (cit. on p. 115)
[38] A. K. Lenstra, H. W. Lenstra Jr., and L. Lovász. Factoring polynomials
with rational coefficients. Math. Ann., 261:4 (1982), pp. 515–534. doi:
10.1007/BF01457454. url: http://dx.doi.org/10.1007/BF01457454
(cit. on pp. 159, 167, 168)
[39] P. McMullen. The numbers of faces of simplicial polytopes. Israel J. Math.,
9 (1971), pp. 559–570. doi: 10.1007/BF02771471. url: http://dx.doi.
org/10.1007/BF02771471 (cit. on p. 29)

Haase, Nill, Paffenholz: Lattice Polytopes — 225 —


Lecture Notes Lattice Polytopes (draft of June 28, 2021)

[40] David R. Morrison and Glenn Stevens. Terminal quotient singularities in


dimensions three and four. Proc. Amer. Math. Soc., 90:1 (1984), pp. 15–20.
doi: 10.2307/2044659 (cit. on p. 118)
[41] Mircea Musta and Sam Payne. Ehrhart polynomials and stringy Betti
numbers. Math. Ann., 333:4 (2005), pp. 787–795. doi: 10.1007/s00208-
005-0691-x. eprint: math/0504486 (math.AG) (cit. on p. 206)
[42] Phong Q. Nguyen and Brigitte Vallée, eds. The LLL algorithm. Information
Security and Cryptography. Survey and applications. Springer-Verlag,
Berlin, 2010, xiv+496 pages. doi: 10 . 1007 / 978 - 3 - 642 - 02295 - 1. url:
http://dx.doi.org/10.1007/978-3-642-02295-1 (cit. on p. 160)
[43] Mikkel Øbro. Classification of smooth Fano polytopes. PhD thesis. Uni-
versity of Aarhus, 2007. url: pure.au.dk/portal/files/41742384/imf_
phd_2008_moe.pdf (cit. on p. 194)
[44] Hidefumi Ohsugi and Takayuki Hibi. Convex polytopes all of whose reverse
lexicographic initial ideals are squarefree. English. Proc. Am. Math. Soc.,
129:9 (2001), pp. 2541–2546 (cit. on p. 204)
[45] Oleg Pikhurko. Lattice points in lattice polytopes. English. Mathematika,
48:1-2 (2001), pp. 15–24 (cit. on p. 115)
[46] Bjorn Poonen and Fernando Rodriguez-Villegas. Lattice polygons and
the number 12. Amer. Math. Monthly, 107:3 (2000), pp. 238–250 (cit. on
p. 179)
[47] Herbert E. Scarf. Integral polyhedra in three space. Math. Oper. Res., 10
(1985), pp. 403–438 (cit. on p. 118)
[48] Claus-P. Schnorr. A hierarchy of polynomial time lattice basis reduction
algorithms. Theoret. Comput. Sci., 53:2-3 (1987), pp. 201–224. doi: 10.
1016/0304-3975(87)90064-8. url: http://dx.doi.org/10.1016/0304-
3975(87)90064-8 (cit. on p. 167)
[49] Alexander Schrijver. Combinatorial optimization. Polyhedra and efficiency
(3 volumes). English. Algorithms and Combinatorics 24. Berlin: Springer.,
2003 (cit. on p. 102)
[50] Alexander Schrijver. Theory of linear and integer programming. English.
Wiley-Interscience Series in Discrete Mathematics. A Wiley-Interscience
Publication. Chichester: John Wiley & Sons Ltd., 1986 (cit. on pp. 25,
102, 172)
[51] P. R. Scott. On convex lattice polygons. Bull. Austral. Math. Soc., 15:3
(1976), pp. 395–399 (cit. on p. 12)
[52] András Seb. An introduction to empty lattice simplices. In: Integer pro-
gramming and combinatorial optimization (Graz, 1999). Ed. by Gérard
Cornuéjols, Rainer E. Burkard, and Gerhard J. Woeginger. Lecture Notes
in Comput. Sci. (Vol. 1610). Springer (Berlin), 1999, pp. 400–414. doi:
10.1007/3-540-48777-8_30. url: http://dx.doi.org/10.1007/3-540-
48777-8_30 (cit. on p. 118)
[53] Richard P. Stanley. A monotonicity property of h-vectors and h∗ -vectors.
European J. Combin., 14:3 (1993), pp. 251–258. doi: 10.1006/eujc.1993.
1028. url: http://dx.doi.org/10.1006/eujc.1993.1028 (cit. on p. 79)
[54] Richard P. Stanley. Decompositions of rational convex polytopes. Ann.
Discrete Math., 6 (1980). Combinatorial mathematics, optimal designs and
their applications (Proc. Sympos. Combin. Math. and Optimal Design,
Colorado State Univ., Fort Collins, Colo., 1978), pp. 333–342 (cit. on
p. 204)

— 226 — Haase, Nill, Paffenholz: Lattice Polytopes


References (draft of June 28, 2021)

[55] Richard P. Stanley. The number of faces of a simplicial convex polytope.


Adv. in Math., 35:3 (1980), pp. 236–238. doi: 10.1016/0001-8708(80)
90050-X (cit. on p. 29)
[56] Arne Storjohann. Faster Algorithms for Integer Lattice Basis Reduction.
1996 (cit. on p. 167)
[57] Bernd Sturmfels. Gröbner bases and convex polytopes. Univ. Lecture Series
(vol. 8). American Mathematical Society (Providence, RI), 1996, xii+162
pages (cit. on p. 200)
[58] Seth Sullivant. Compressed polytopes and statistical disclosure limitation.
Tohoku Math. J. (2), 58:3 (2006). Preprint arXiv : math . CO / 0412535,
pp. 433–445. url: http://projecteuclid.org/getRecord?id=euclid.
tmj/1163775139 (cit. on p. 204)
[59] Sven Verdoolaege, Rachid Seghir, Kristof Beyls, Vincent Loechner, and
Maurice Bruynooghe. Counting integer points in parametric polytopes using
Barvinok’s rational functions. Algorithmica, 48:1 (2007), pp. 37–66. doi:
10.1007/s00453-006-1231-0. url: https://doi.org/10.1007/s00453-
006-1231-0 (cit. on p. 148)
[60] G. K. White. Lattice tetrahedra. Canadian J. Math., 16 (1964), pp. 389–396.
doi: 10.4153/CJM-1964-040-2. url: https://doi.org/10.4153/CJM-
1964-040-2 (cit. on p. 118)
[61] J. Zaks, M. A. Perles, and J. M. Wilks. On lattice polytopes having interior
lattice points. Elem. Math., 37:2 (1982), pp. 44–46 (cit. on p. 116)

[S1] Jesús A. De Loera, Raymond Hemmecke, Ruriko Yoshida, and Jeremy


Tauzer. lattE. http://www.math.ucdavis.edu/~latte/. 2005 (cit. on
p. 148)
[S2] Matthias Köppe. Latte macchiato – An improved version of Latte. http:
//www.math.uni-magdeburg.de/~mkoeppe/latte/. 2007 (cit. on p. 148)
[S3] Sven Verdoolaege. barvinok. http://barvinok.gforge.inria.fr/. 2007
(cit. on p. 148)

Haase, Nill, Paffenholz: Lattice Polytopes — 227 —


H-description, 26 affine lattice, 40 Barvinok’s algorithm, 148,
M-sequence, 29 affine lattice 152
V -description, 26 automorphism, 8 barycentric coordinates
δ-reduced basis, 159 affine lattice basis, 40 minimal, 113
h? -polynomial, 71, 78, 79, affine lattice isomorphism, basic properties
85, 88, 193 40 h? -polynomial, 78
Λ-rational subspace, 36 affine space, 20 basis
d-polyhedron, 24 affinely independent, 21 δ-reduced, 159
g-Theorem, 29 algorithm LLL-reduced, 159
k-face, 26 Barvinok’s ∼, 148, 152 of a lattice, 8, 35
h-vector, 79 Intgeger Feasibility in reduced, 147, 155, 158,
Pick’s formula, 10 fixed dimension, 174 159
Pick’s theorem, 10 Intgeger Programming weakly reduced, 159
f-vector, 28 in fixed dimension, beneath, 23
174 beyond, 23
addition property, 185, LLL, 149, 160 bipyramid, 50
186 Polarized Barvinok’s ∼, apex, 50
additive subgroup, 33 169 Birkhoff polytope, 50, 191
adjacent, 27 apex, 202 boundary complex, 30
affine combination, 20 of a bipyramid, 50 of a polytope, 30
affine equivalence of a pyramid, 50 boundary point, 22
of polyhedra, 28 automorphism Brianchon-Gram identity,
affine hull, 20 lattice, 8 89

— 229 —
Lecture Notes Lattice Polytopes (draft of June 28, 2021)

Brion minimal proper face, 27 Ehrhart series, 72, 78


Theorem of ∼, 148 normal, 48 Ehrhart’s theorem, 71
Brion’s Theorem, 92, 148 over a polytope, 25, 71 Ehrhart-Macdonald
polyedral, 24 reciprocity, 83
canonical subdivision, 205 polyhedral, 21 ellipsoid, 108, 215
Caratheodory’s Theorem, proper face of, 26 empty lattice polytope,
23 conic combination, 21 117
Cayley polytope, 194 conic hull, 21 empty polytope, 87
cell convex body, 100, 215 equivalence
maximal, 30 centally symmetric, 100 lattice, 8
of a polyhedral complex, convex combination, 21 unimodular, 8
30 convex hull, 21 Euler characteristic, 30
centally symmetric, 100 convex set, 21 Euler-Characteristic, 84
circuit, 135 boundary point, 22 exterior description, 26
codegree interior point, 22 extremal ray, 27
of a lattice polytope, 85 relative interior point,
coefficient of asymmetry, 22 face
113 coset, 38 dimension, 26
combination counting function, 63 minimal, 27
conic, 21 covering radius, 105 minimal proper, 27
convex, 21 cross polytope, 22 of a polytope, 26
complex cube, 22 proper, of a polytope, 26
cell of a polyhedral ∼, 30 cut polytope, 50 tangent cone, 31
dimension of a face lattice, 27
degree
polyhedral ∼, 30 face vector, 28, 30
of a lattice polytope, 85
polyhedral facet
determinant
dimension, 30 special, 187
of a lattice, 41
facets, 30 facet unimodular lattice
dicing, 205
maximal cell, 30 polytope, 205
dilation of a set, 63
pure, 30 facets
dimension
subcomplex, 30 of a polyhedral complex,
of a face, 26
polyhedral ∼, 30 30
of a polyhedral complex,
compressed polytope, 204 fan, 31
30
cone, 21 smooth blow-up, 180
of a polyhedron, 24
face of, 26 distance function, 39 far half-open cone, 74
fundamental dual lattice, 39 far half-open
parallelepiped, 76 parallelepiped, 74
Gorenstein, 189 edge, 27 finitely generated, 25
half-open, 74, 82, 168 Ehrhart counting function, finiteness
height, 48 63 Gorenstein polytopes,
homogeneous, 48 Ehrhart polynomial, 62, 193
index, 149 71, 71, 80, 83, 88 formal Laurent series, 67

— 230 — Haase, Nill, Paffenholz: Lattice Polytopes


Index (draft of June 28, 2021)

free sum, 184 implied equality, 27 isomorphism, 40


full dimensional, 24 incident, 28 basis, 35
fundamental face, 28 covering radius, 105
parallelepiped, 35, 76 inclusion-exclusion determinant, 41
principle of ∼, 71 fundamental
Generalized Blichfeldt’s independent parallelepiped, 35
Theorem, 100 affinely, 21 index, 38
generic reference point, 74 linearly, 21 isomorphism, 38
Gorenstein cone, 189 index LLL-reduced basis, 159
Gorenstein polytope, 176, of a cone, 149 orthogonality defect,
183, 189, 191, 192, of a lattice, 38 157, 164
193 inner normal packing radius, 105
Gram-Schmidt primitive, 176 rank, 34
orthogonalization, integer decomposition reduced basis, 159
156 property, 206 standard integer ∼, 34
Integer Feasibility in fixed sublattice, 38
half-open cone, 74, 82, 168
dimension, 174 transformation, 38
half-open decomposition,
integer point generating unimodular, 41
74, 82, 168
function, 70, 77, 89, weakly reduced basis,
half-open parallelepiped,
92 159
74
integer point series, 67, 70 lattice automorphism, 8
half-open simplex, 74
summable, 68 lattice basis
half-space
Integer Programming in potential, 162
affine, 23
fixed dimension, 174 lattice basis, 8
linear, 23
integral polytope, 48 lattice dicing, 205
Hermite normal form, 42
integrally closed, 206 lattice equivalence, 8
Hilbert basis, 46
interior description, 26 lattice isomoprhism, 38
minimal, 46
interior point, 22, 27 lattice isomorphic, 49
homogeneous, 48
irredundant, 27 lattice isomorphism, 49
homogenization, 25
isomorphic lattice length, 9
hull
polygon, 8 lattice polygon, 6
affine, 20
conic, 21 lattice polytope, 48
John ellipsoid, 217
convex, 21 Cayley, 194
join, 50
linear, 20 codegree, 85
hyperplane KMW number, 211 compressed, 204
affine, 23 KMW Theorem, 211 degree, 85
linear, 23 empty, 87, 117
supporting, 26 Löwner-John ellipsoid, 217 facet unimodular, 205
valid, 26 lattice, 34, 45 hollow, 122
hypersimplex, 22, 50 δ-reduced basis, 159 IDP, 206
affine, 40 lattice isomorphic, 49
IDP, 206 basis, 40 normal, 206

Haase, Nill, Paffenholz: Lattice Polytopes — 231 —


Lecture Notes Lattice Polytopes (draft of June 28, 2021)

normalized volume, 52 normal cone facets, 30


unimodularly equivalent, of a polytope, 31 maximal cell, 30
49 normal fan pure, 30
lattice pyramid, 194 of a polytope, 31 subcomplex, 30
lattice transformation, 38 normal form polyhedral cone, 21, 24
lattice triangulation, 11 Hermite ∼, 42 polyhedral sphere, 32
lattice width, 108 normal lattice polytope, polyhedron, 23
Laurent polynomial, 67 206 dimension, 24
Laurent polynomial ring, normalized volume, 52, face of, 26
67 193 homogenization, 25
Laurent series, 67, 67, 70 interior point, 27
summable, 68 octahedron, 22
lineality space, 24
Lawrence prism, 87 order polytope, 50
pointed, 24
lineality space, 24 orthogonality defect, 157,
proper face of, 26
linear combination, 20 164
recession cone, 24
linear hull, 20 orthogonalization
vertex of, 27
linear space, 20 Gram-Schmidt∼, 156
polynomial
linear span, 20 h? , 71, 78, 79, 85, 88
packing radius, 105
linearly independent, 21 Ehrhart, 62, 71, 71, 80,
parallelepiped, 35
LLL algorithm, 149 83, 88
fundamental, 76
LLL-reduced basis, 159 Laurent, 67
half open, 35
half-open, 74 Todd∼, 155
matrix
parallepiped polynomial ring
unimodular, 205
fundamental, 35 Laurent, 67
maximum volume ellipsoid,
permutation polytope, 50 polytope, 21
216
Pick’s Theorem, 117, 119, k-face, 26
minimal barycentric
179 ∼Birkhoff, 50
coordinates, 113
point ∼cut, 50
minimal face
boundary, 22 ∼order, 50
of a polytope, 27
interior, 22 ∼permutation, 50
minimal proper face, 27
relative interior, 22 ∼traveling salesperson,
Minkowski sum, 25
polar polytope, 176 50
Minkowski’s First
Polarized Barvinok’s affinely equivalent, 28
Theorem, 100
algorithm, 169 bipyramid, 50
Minkowski’s Second
Theorem, 104 polarized, 169 boundary complex, 30
mirror symmetry, 175 polygon Cayley, 194
lattice ∼, 6 compressed, 204
near half-open cone, 74 polyhedral ball, 32 edge, 27
near half-open polyhedral complex, 30 empty, 87
parallelepiped, 74 cell, 30 extremal ray, 27
normal dimension, 30 face
cone, 48 face vector, 30 tangent cone, 31

— 232 — Haase, Nill, Paffenholz: Lattice Polytopes


Index (draft of June 28, 2021)

face of, 26 pyramid, 50 linear, 20


facet unimodular, 205 apex, 50 span
free sum, 184 lattice, 194 linear, 20
Gorenstein, 176, 183, over a polytope, 50 special facet, 187
189, 191, 192, 193 Pyramid Theorem, 132 special simplex, 207
homogenization, 25 standard simplex, 49, 64
hypersimplex, 50 rank, 34 Stanley Reciprocity, 82
integral, 48 rational subspace, 36 Stanley’s Monotonicity
integrally closed, 206 recession cone, 24 theorem, 79
reduced basis, 147, 155, subcomplex, 30
interior point, 27
158, 159 subdivision, 31
join, 50
redundant, 27 canonical, 205
lattice, 48
Reeve simplex, 10 regular, 32, 200
minimal face, 27
reflexive polytope, 175, trivial, 30
normal cone, 31
177, 177, 178, 181, without new vertices, 31
normal fan, 31
183–185, 189 subgroup
normalized volume, 52
addition property, 185, additive, 33
pointed, 24
186 sublattice, 38
polar, 176
regular subdivision, 32, subspace
prism, 50
200 Λ-rational, 36
product, 50
relative interior point, 22 rational, 36
proper face of, 26
root system, 34 successive minimum, 102
pyramid, 50
Ad , 34 summable, 68
reflexive, 175, 177, 177,
Dd , 34
178, 181, 183–185, tangent cone
189 Scott’s theorem, 12 of a face, 31
simple, 29 series tetrahedron, 22
simplicial, 29 Ehrhart, 72, 78 Theorem
special simplex, 207 formal Laurent, 67 Caratheodory, 23
vertex of, 27 Laurent, 67, 67, 70 Generalized Blichfeldt’s
potential summable, 68 ∼, 100
of a lattice basis, 162 simple, 29 KMW, 211
primitive, 37 simplex, 21 Lenstra, Lenstra,
primitive inner normal, half-open, 74 Lovász, 160
176 Reeve, 10 Minkowski’s First ∼, 100
principle of standard, 49, 64 Minkowski’s Second ∼,
inclusion-exclusion, unimodular, 49 104
71 unit, 64 of Brianchon-Gram, 89
prism, 50 simplicial, 29 of Brion, 92
product, 50 smooth blow-up Pick’s ∼, 117, 119
prosm of a fan, 180 Pick’s ∼, 179
Lawrence, 87 space Stanley’s Monotonicity,
pulling refinement, 202 affine, 20 79

Haase, Nill, Paffenholz: Lattice Polytopes — 233 —


Lecture Notes Lattice Polytopes (draft of June 28, 2021)

van der Corput’s ∼, 100 unimodular ∼, 8 unimodular


Weyl-Minkowski, 25 traveling salesperson transformation, 38
theorem polytope, 50 unimodularly equivalent,
Pick’s, 10 triangle 49
Ehrhart-Macdonald, 83 standard, 8 unit simplex, 64
flatness, 109 unimodular, 8
Howe, 117 triangulation, 11, 31, 77 vertex
of Ehrhart, 71 lattice, 11 of a polyhedron, 27
Scott’s, 12 pulling refinement, 202 of a polytope, 27
Stanley Reciprocity, 82 unimodular, 199 vertex-edge graph, 185
Stanley’s without new vertices, visible complex, 90
nonnegativity∼, 78 31, 32 visible face, 89
White, 118 trivial subdivision, 30 volume
Theorem of Brion, 148 unimodular normalized, 52, 193
Theorem of Lenstra, of a lattice, 41
Lenstra, Lovász, 160 triangle, 8 weakly reduced basis, 159
tight regular subdivision, triangulation, 199 Weyl-Minkowski-Theorem,
201 unimodular equivalence, 8 25
Todd-polynomial, 155 unimodular matrix, 205 width, 108
transformation unimodular simplex, 49
lattice, 38 unimodular tranformation, zonotope, 35
unimodular, 38 8 half open, 35

— 234 — Haase, Nill, Paffenholz: Lattice Polytopes


Athanasiadis, 207 Hilbert, 46 Römer, 206
Howe, 117
Barvinok, Alexander, 148 Santos, 204
Betke, 80 Knudson, 211 Scarf, 117, 118
Blichfeldt, 100 Schmidt, Erhard, 156
Brianchon, 89 Lagarias, 115
Schorr, Claus-P., 167
Brion, 92, 148 Lenstra, Arjen, 149, 160
Scott, 12
Bruns, 206 Lenstra, Hendrik, 149, 160
Stanley, 78, 79, 82, 204
Lovász, László, 149, 160
Ehrhart, 63, 71, 72, 83 Storjohann, Arne, 167
Euler Macdonald, 83 Sullivant, 204
Leonhard, 30 McMullen, 80
Minkowski, 100, 104 Todd, 155
Gram, 89 Mumford, 211
Gram, Jørgen Pedersen, van der Corput, 100
156 Oshugi, 204
Waterman, 211
Hensley, 115 Pick, 10, 179 White, 118
Hermite, 42 Pikhurko, 115
Hibi, 204 Pommersheim, 148 Ziegler, 115

— 235 —

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy