Integer hulls of linear polyhedra and scl in families

The integer hull of a polyhedron is the convex hull of the integer points contained in it. We show that the vertices of the integer hulls of a rational family of polyhedra of size O(n) have quasipolynomial coordinates. As a corollary, we show that the stable commutator length of elements in a surgery family is a ratio of quasipolynomials, and that unit balls in the scl norm quasi-converge in finite dimensional surgery families.


Introduction
Integer programming problems are ubiquitous in mathematics, computer science and operations research. Though integer programming is NP hard in general, Lenstra [15] famously showed that integer programming with a fixed number of variables is polynomially solvable. A family of integer programming problems associated to a constraint matrix of fixed form but variable entries falls within the domain of Lenstra's algorithm. A matrix with entries which are functions of some parameter determines a family of polyhedra -each value of the parameter determines the polyhedron which is the convex hull of the column vectors of the associated matrix. Lenstra's algorithm shows that one can efficiently decide which of the polyhedra in such a family contain an integer lattice point.
The integer hull of a polyhedron is the convex hull of the integer lattice points contained in it. The integer hull is itself a polyhedron, and may be described by enumerating its extremal vectors. There is essentially no relationship between the number of extremal vertices of a polyhedron and the number of extremal vertices of its integer hull -even a triangle in the plane can have an integer hull with arbitrarily many vertices. In fact, even estimating the number of extremal vertices in the integer hull is an important and very difficult problem; see [20] for a survey. However in this paper we show that for families of polyhedra V (n) whose extremal vertices are rational functions of size O(n) in a single integer variable n, the integer hulls themselves form a quasipolynomial family -i.e. there is an integer π so that for each fixed residue class of n mod π the extremal vertices of the integer hulls of V (n) are the columns of a matrix with entries which are (linear) integer polynomials in n. An example of such a family V (n) is the set of integer dilates of a fixed rational polyhedron; Ehrhart's theorem (see e.g. [2], Chapter 18) says that for such a family the number of integer lattice points is a quasipolynomial, and recent generalizations of this theory focus on counting the number of integer points contained in families of polyhedra (see [3,8]). Instead, we focus on understanding the extreme integer points; that is, the integer hull. This point of view is obviously related to results in integer programming (e.g. [17]). The nature of our results has more in common with integer programming than counting lattice points, but the style and language of our results and methods have more in common with the Ehrhart theory.
Integral polyhedra arise often in low-dimensional topology -as the unit ball in the Gromov/Thurston norm on homology ( [18]), as the Newton polygon of an A-polynomial ( [10,12]), as the tropicalization of a character variety ( [11]), as the convex hull of the support on a page of a spectral sequence or of a collection of monopole spin-c classes ( [14]), as the parameter space for weights on a train track ( [19]), and so on. Short exact sequences connecting such polyhedral objects arise from Dehn surgery, and the behavior of certain invariants can sometimes be described in terms of families of integer programming problems. Sometimes some of this data can be expressed in terms of quasipolynomials; for example, Garoufalidis [12] shows that the degree of the Jones polynomials of certain families of knots are given by the values of a quadratic quasipolynomial. In this paper we give an application of our theorem to the 2-dimensional bounded cohomology of free groups (equivalently, to the stable commutator length of free groups).
Stable commutator length measures the simplest surface (in terms of −χ/2) that rationally bounds a given homologically trivial 1-manifold in a given space (it has an equivalent algebraic definition in terms of commutators in the fundamental group of the space; see § 4.1). By cutting up a surface into simple pieces, a surface S may be encoded (potentially in many ways) as a vector v(S) in a vector space, and the set of all (weighted) surfaces with prescribed boundary can be encoded as the vectors in a certain rational polyhedral cone P . Typically, many weighted surfaces might represent a given vector, and it is in general very difficult to compute the objective function |v| := inf v(S)=v −χ(S)/2. When the target space is a wedge of tori, there is a way of representing surfaces as vectors so that the function |v| is piecewise rational linear on the cone of all possible vectors. More precisely, one forms the sail -i.e. the boundary of the convex hull of D + P , where D is the set of integer lattice points in the interior of certain faces of P . Then |v| is the sum of a linear term, plus a multiple of the Klein function -i.e. the function which is linear on rays and 1 on the sail. Certain families of 1-manifolds -those arising as a surgery family -give rise to rational linear families of polyhedral cones P . Consequently our main theorem implies that stable commutator length is a ratio of quasipolynomials on a surgery family. This is described in detail in § 4.2.
1.1. Statement of results. We now give a more detailed account of the contents of the paper.
In § 2 we establish some facts about the behavior of the Euclidean algorithm on quasipolynomials, and on a slightly more general class of functions IQ, which are the integer valued functions of the form p(n)/C where p(n) is an integral quasipolynomial and C ∈ Z. The results in this section are quite elementary and probably well known to experts, but they might be unfamiliar to readers with more of a background in topology or geometric group theory, and therefore they are included for completeness.
The main result of this section is that the gcd of two IQ's agrees with the values of an IQ of a certain form for n ≫ 0.
T . As a corollary (Corollary 2.8), we deduce that both the upper triangular matrix and the unimodular multiplier in the Hermite normal form of a matrix with entries in IQ themselves have entries eventually in IQ.
In § 3 we study integer hulls of families of polyhedra. A function S from integers to finite subsets of Z d is said to be QIQ if there is some positive integer π so that for each 0 ≤ a < π the set S(πn + a) is equal to the set of column vectors of a matrix with integral polynomial entries (in the variable n). The nomenclature is not particularly enlightening: it is intended to evoke something like "quasi IQ".
We then state and prove the main theorem of our paper: (Thm. 3.5) Integer Hull Theorem. For 1 ≤ i ≤ k, let v i (n) be a vector in R d whose coordinates are rational functions of n of size O(n), and let V n = {v i (n)} k i=1 . Then for n ≫ 0, the integer hull of V n is QIQ. In particular, after passing to a cycle, the coordinates of the vertices of the integer hull of V n are in Z[n] for n ≫ 0.
Here the terminology passing to a cycle means restricting n to any coset of some specific finite index subgroup of Z.
Example 1.1. The definition of QIQ is awkward because the number of extreme integer points can vary. Morally, we want to show that the vertices of the integer hulls have coordinates which are elements of IQ; but there is no straightforward way to put the vertices of different polyhedra into families without first passing to a cycle. Consider the following very simple example. Let f p (n) = 2n+1 4 = n 2 + 1 4 and f m (n) = 2n−1 4 = n 2 − 1 2 , and define the polyhedron This is a square of side length 1/2 centered at the point (n/2, n/2).
Then the integer hull of V n is empty if n is odd, but for n even it consists of a single point (n/2, n/2). In particular, the number of extremal points in V n is periodic, but if we pass to a cycle, the extremal vertices lie in families indexed by the integers, that have quasipolynomial coordinates (as a function of the index).
Finally, in § 4 we apply the Integer Hull Theorem to the computation of stable commutator length in surgery families. If G is a group, let B H 1 (G) denote the real vector space of formal homologically trivial sums of conjugacy classes in G modulo homogenization, i.e. modulo the relation g n = ng for each g ∈ G and n ∈ Z. Let G = * i A i and H = * i B i be free products of free abelian groups. A collection of homomorphisms A i → B i determines a homomorphism from G to H. A sequence of homomorphisms ρ(n) : G → H of this form is a surgery family if for each i, the sequence of homomorphisms from A i to B i is an affine map of Z to the free abelian group Hom(A i , B i ). The images w(n) of some fixed rational chain w ∈ B H 1 (G) under a surgery family of homomorphisms constitute a surgery family of chains w(n) ∈ B H 1 (H). With this notation, we have the following corollary, which was observed experimentally in certain cases in [6]: (Cor. 4.7) Surgery Family Theorem. If w(n) is a surgery family, then scl(w(n)) is eventually a ratio of two quasipolynomials in n.
One can also consider a surgery family ρ(n) applied to a fixed subspace V of B H 1 (G) of arbitrary dimension; the images form a family of subspaces of B H 1 (H), and the unit balls in the scl norm (in the image) are a family of rational convex polyhedra. Pulling back by ρ(n) −1 gives a family of polyhedra in a fixed vector space V . We show that the vertices of these polyhedra are eventually quasirational (i.e. ratios of quasipolynomials) and the unit balls themselves quasiconverge. Corollary 4.8 gives the precise statement.

Quasipolynomials
In this section we introduce (integral) quasipolynomials, and the slightly more general class IQ of functions, and establish some basic facts about how they behave under (coordinatewise) Euclidean algorithm and gcd. These facts are elementary, but since they are likely to be unfamiliar to geometric group theorists, we give full details. Basic references for the theory of quasipolynomials and how they arise in lattice point geometry are [16] § 4.4, and [4].
If a is an integer, and b is a positive integer, we use the notation a%b to denote the remainder when dividing a by b. That is, a%b = a − b{a/b}, where {·} denotes fractional part.
Definition 2.1. A quasipolynomial is a function p : N → Z for which there is some least positive integer π and a finite collection of polynomials p i (n) ∈ Z[n] so that p(n) = p n%π (n). We will call π the period of the quasipolynomial.
Note that other authors allow quasipolynomials to have arbitrary range, and do not require the polynomials p i (n) to be integral (in Z[n]). If we need to make the distinction, we refer to the specific class of functions appearing in Definition 2.1 as integral quasipolynomials.
We are naturally led to enlarge the class of (integral) quasipolynomials slightly.
Definition 2.2. A function q : N → Z is IQ if it is of the form q(n) = p(n)/C, where p(n) is an integral quasipolynomial, and C is a constant integer such that C divides p(n) for all n ≥ 0. The period of q is the period of p.
We usually write an element of IQ explicitly as a ratio p(n)/C where by convention p(n) is an integral quasipolynomial. The next lemma is elementary but useful, since it shows that after restricting to values of n in some coset of πZ, we can think of an element of IQ just as an integral polynomial (in Z[n]). We call such a restriction passing to a cycle. Lemma 2.3. Let q be in IQ. Then there is an integer π so that for each integer a the function q(πn + a) is contained in Z[n].
Proof. Let q(m) = p(m)/C where p(m) is quasipolynomial with period D. Set π = CD, and consider the function p(nCD + a)/C as a function of n for any integer a. Since p has period D, there is some (non-quasi-) polynomial p ′ so that p(nCD + a)/C = p ′ (nCD + a)/C, and we may expand the polynomial over the sum and collect terms containing nCD, so p ′ (nCD + a)/C = p ′′ (n) + A/C Where p ′′ (n) is an integer polynomial (note that every term involving n must contain a C, which cancels with the denominator), and A is a constant involving a.
Since by assumption p ′ (nCD + a)/C is an integer, we must have A/C ∈ Z. This expresses p(nCD + a)/C as an integral polynomial in n, as desired.
The following example illustrates how functions in IQ naturally occur: The sum of two quasipolynomials is a quasipolynomial, whose period divides the lcm of the periods of the two terms. Similarly, the product of two quasipolynomials is a quasipolynomial. The same holds for elements of IQ, so IQ is a ring.
Lemma 2.5. Let a(n)/C and b(n)/D be in IQ, and suppose they take positive values. Then there are q(n)/Q and R(n)/R in IQ so that for each n ≫ 0, the integer quotient and remainder of division of a(n)/C by b(n)/C are q(n)/Q and r(n)/R respectively.
Proof. By passing to a cycle, it suffices to prove this when a(n) and b(n) are polynomial and eventually positive.
Assume, therefore, that we are given b(n) D with b(n) polynomial and eventually positive. We will inductively show the existence of a quotient and remainder for divisor b(n) D for any a(n) C with a(n) polynomial and eventually positive. First, we may assume that C = D, since we can find a constant common denominator. Write a(n) = a k n k +a k−1 n k−1 +· · ·+a 0 and b l n l +b l−1 n l−1 +· · ·+b 0 , where by hypothesis a k and b l are both strictly positive. If k < l, then for n ≫ 0 the quotient is zero and the remainder is a(n) C , so we are done. If k = l, there are two cases: (1) If a k < b l , then the quotient is 0 and the remainder is a(n) C . (2) If a k ≥ b l , then the quotient is a k /b l −e, where a k /b l is the integer quotient, and e is 1 if a(n) is eventually less than (a k /b l )b(n), and 0 otherwise. This proves the lemma in the case of polynomials of equal degrees.
We now induct on the degree k of a(n), and the size of the largest coefficient a k . Assume that for any c(n) C with degree less than k, or degree equal to k but with highest coefficient less than a k , we can write c(n) where r(n) R is eventually less than b(n) D (i.e. this expression eventually gives the integer quotient and remainder).
There are two cases: where e is as above, has smaller first coefficient than a(n), so by induction we can decompose it into a quotient q(n) Q and remainder r(n) The first coefficient (after multiplying a(n) D by b l b l to get a common denominator b l D) of this difference is: b l a k − b l a k = 0, so the difference has smaller degree. By induction, we find a quotient and remainder as above, and thus have an expression in IQ for the quotient and remainder of a(n) D by b(n) D . Note that as we apply induction in this case, we will need to multiply the top and bottom of b(n) D by b l to get a common denominator, but we will not need to alter the expression being divided, so the first coefficient and degree of the expression being divided can never increase. The proof follows.
Since quotient and remainder are in IQ, the Euclidean algorithm lets us express the gcd of two elements of IQ in a simple way: T . Proof. By Lemma 2.5, each step of the Euclidean algorithm has output which is eventually IQ if the input is. So all we need to do is show that there is an upper bound on the number of steps in the Euclidean algorithm, which is independent of n.
We write: By the proof of Lemma 2.5, either the degree of r 1 (n) is smaller than the degree of s(n), or the degrees are possibly the same, but the denominator R 1 is the same integral polynomial as S and the leading coefficient of r 1 (n) is less than the leading coefficient of s(n). Thus, by taking two steps of the Euclidean algorithm, we have exchanged s(n) S for something strictly simpler. This process must terminate, because although the denominator can increase, it can do so only if the degree decreases, and this can happen only finitely many times. Therefore, there is a universal upper bound on the length of the Euclidean algorithm, and we can find a finite expression for the gcd.
We recall the definition of Hermite normal form (see e.g. [9], § 2.4). A (not necessarily square) integral matrix is in Hermite normal form if it is upper triangular, and if the entries are all non-negative and, in each column, maximized on the diagonal (strictly maximized if nonzero). If M is an arbitrary integral matrix, there is a unimodular integral matrix U so that M = U B and B is in Hermite normal form; B is unique (given M ), though U might not be.
Remark 2.7. In fact, there is some ambiguity in what is meant by finding the HNF of a matrix. It is more usual to find a factorization M = BU where B is HNF and U is unimodular. We are usually interested in applying HNF to an n × m matrix of rank m where m ≤ n. Proof. The row reduction and gcd calculations in the algorithm to reduce to Hermite normal form (see [9]) make sense over the ring of functions which are IQ for n ≫ 0, by Lemma 2.6.

Integer Hulls
This section is the technical heart of the paper. The main result is Theorem 3.5, which says that certain families of polyhedra have integral hulls whose extremal vertices have coordinates which are in IQ for n ≫ 0. To state this precisely is a bit fiddly, since the number of extremal vertices of the integral hull is itself variable.
We stress that the results we prove in this section generally hold for all sufficiently large values of an integer parameter n. By abuse of notation, we will sometimes use the terms integer polynomial or IQ as shorthand, when we really mean a function of n which agrees with some integer polynomial or IQ for n ≫ 0. Generally the meaning should be clear from the context, but we add the caveat "for n ≫ 0" whenever there is the possibility of ambiguity.
Definition 3.1. Given a finite set of points P in R d , the integer hull of P is the convex hull of the integral points contained in the convex hull of P .
Note that there is no assumption that the convex hull of P has full dimension.
Definition 3.2. A family of integer hulls S(n) in R d is QIQ if there is some integer π so that for all integers i, the vertices of S(πn + i) are the columns of a matrix whose entries are integer polynomials in the variable n, for n ≫ 0.
Note that for each i the matrix whose columns are the vertices of S(πn + i) is an m i × d matrix, where m i depends on i mod π. In the sequel we use the notation S(n) = {p i (n)} k i=1 to mean that S(n) is a set of k vectors whose coordinates are functions of n (taking values in some ring; e.g. they might be integral polynomials, IQ, rational functions, etc.). Note in this example that k might depend on the period π, but in our notation we implicitly pass to a cycle in which k is constant.
where the vectors p i (n) and r i (n) have coordinates which are rational functions of n. Then for n ≫ 0, the vertices of the convex hull of S(n) + R(n) are {p j (n)} for some specific fixed subset of indices j.
Proof. Run the algorithm QuickHull (see [1] for a precise description) on the points in S(n) plus the rays in R(n). This algorithm repeatedly sorts points based on their distances from hyperplanes constructed at each stage; with rational function input, these hyperplanes have coordinates which themselves are rational functions. The order of a set of distances of points whose coordinates are rational functions to hyperplanes defined by rational functions eventually stabilizes, so the decision tree as the algorithm runs eventually stabilizes (and thus picks out a fixed subset of the p i as vertices).
Lemma 3.4. Let H be a constant vector with rational coordinates, let c(n) be a rational function of n of size O(n), and let d(n), e(n) be vectors whose coordinates are rational functions of n of size O(n). Define a family of hyperplanes by the constraints H · x = c(n). The intersection of this hyperplane with a line segment of the form d(n) + t · e(n) for t ∈ [0, 1] is either eventually empty, or is eventually a rational point whose coordinates are rational functions of n of size O(n).

Proof. Solving for t gives
Thus, t is a rational function of n. If it is anything larger than O(1), it is eventually outside the interval [0, 1], and the intersection is empty. If it is O(1), then the intersection is O(n), as desired.
We are now in a position to prove our main theorem.
Theorem 3.5. For 1 ≤ i ≤ k, let v i (n) be a vector in R d whose coordinates are rational functions of n of size O(n), and let V n = {v i (n)} k i=1 . Then for n ≫ 0, the integer hull of V n is QIQ. In particular, after passing to a cycle, the coordinates of the vertices of the integer hull of V n are in Z[n] for n ≫ 0.
Note that the last claim follows from the first, since after passing to a cycle, a function in IQ of size O(n) is integral linear.
Before proving this theorem, we explain the main idea. By subdivision, it suffices to prove the theorem when the convex hull of V n is a simplex. Then the proof proceeds by induction. Roughly speaking, there are two cases. In the first case, the simplex is either almost degenerate or not full dimensional. In this case, every integer point in V n is contained in one of finitely many affine hyperplanes. We reduce to the intersection of the simplex with one of these hyperplanes, and induct on the dimension. In the second case, the simplex is full-dimensional, and we show that for each vertex v i , there is an integer point p i inside the simplex and uniformly close to v i . The convex hull of the p i contains "almost" every integer point in V n , and all that remains to find the rest is to slice the thin "shell" between the convex hull of the p i and the simplex V n (see Figure 2 for a preview). In this case, too, we reduce the problem to a finite number of lower-dimensional polyhedra and induct. It is worth noting that the base case of a single point is nontrivial and requires Lemma 2.5.
This bears more than a superficial similarity to Lenstra's algorithm in [15], mentioned in the introduction. That algorithm takes as input a polyhedron with a fixed number of vertices and decides whether the integer hull is empty or not. The algorithm proceeds by either showing that such a vertex must exist (if some easily verified inequalities are satisfied) or reduces the search to the intersection of the polyhedron with finitely many affine hyperplanes.
Proof. Since the coordinates of each v i are rational functions of n, Lemma 3.3 implies that the vertices of the convex hull of V n are given by some fixed subset of the v i . So after passing to a subset if necessary, we assume that the v i (n) are precisely the vertices of the convex hull of V n .
We make the further simplification of decomposing V n into simplices whose vertices are the v i (n). The integer hull of V n is the convex hull of the union of the integer hulls of these simplices. Hence if we can show that the integer hull of each such simplex is QIQ, then the integer hull of V n is QIQ, by another application of Lemma 3.3. So without loss of generality we may assume that V n is simplicial; i.e. k is one greater than the dimension of the convex hull of V n . Furthermore, k − 1 ≤ d, since V n is k − 1 dimensional.
By abuse of notation, we let V n denote both the polyhedron with vertices v i (n), and the matrix with columns v i (n). We use matrix notation for the components of each vector v i (n); hence v j,i (n) is the jth coordinate of the vector v i (n). Since each v j,i (n) is O(n), it can be expressed using Lemma 2.5 as the sum of a linear element of IQ plus a rational function of size O(1). Applying Lemma 2.3, there is some π ∈ Z so that in the coset πZ, we can write v j,i (n) = l j,i n + O(1) where l j,i is a constant integer. By passing to a (possibly quite large) cycle, then, we can assume that the matrix V n has the form V n = ln + O(1), where l is a constant integer matrix.
Subtracting the integer column vector l 1 n from every column translates both V n and its integer hull, so we may assume l 1 is the zero vector, and v 1 (n) has size O(1). Now multiply the matrix l on the left by a (constant!) integer unimodular matrix U to put it in Hermite normal form. The same unimodular matrix U applied to V n puts it into an especially nice form; the first column has size O(1), and v j,i (n) has size O(1) for j ≥ i; see Figure 1 for a schematic picture of V n before and after left multiplication by the unimodular matrix U . Figure 1. The d×k matrix V n before and after left multiplication by a constant unimodular matrix taking the linear part to Hermite normal form. Note that after the multiplication, rows k through d are of size O(1), and the "diagonal" v i,i+1 has size O(n).
One of two things happens now. Either rows k through d of V n are identically zero (or nonexistent, if k − 1 = d), or there is some nonzero entry. If the rows are identically zero, then the convex hull of V n is contained in the subspace R k−1 (where it is full dimensional, since by assumption V n is a simplex). We will return to this case shortly.
Suppose one of the rows k through d contains some nonzero entry; without loss of generality we may assume it is in row k. Since the entries in this row have size O(1), there is a constant C so that |v k,i (n)| ≤ C for all i and all n. Hence the integer points in V n are contained in the 2C + 1 affine hyperplanes whose kth coordinate is one of −C, −C + 1, · · · , C.
The intersection of the convex hull of V n with each of these affine hyperplanes consists of polyhedra P −C (n), P −C+1 (n), up to P C (n). Since by hypothesis row k is not identically zero, V n is not contained in a single affine hyperplane, and therefore the dimension of each P i is strictly less than k − 1. Moreover, by Lemma 3.4 the vertices of each P i are (for n ≫ 0) defined by rational functions of size O(n), since the vertices of P i (n) are among the intersections of the 1-dimensional faces of the convex hull of V n with a (fixed) affine hyperplane.
Assume that the integer hulls of the polyhedra P i (n) are QIQ. The integer hull of V n is the convex hull of the integer hulls of the P i (n), so Lemma 3.3 implies that this integer hull is QIQ, proving the theorem in this case. This gives the induction step (though not the base of the induction) when V n is not full dimensional.
The base of the induction is when V n consists of a single point p(n) in R d . Each coordinate of p(n) is a rational function in n. By Lemma 2.5 after dividing the numerator by the denominator, the remainder is in IQ. An element of IQ either has positive degree, in which case it is eventually nonzero, or it has degree zero, in which case it is nonzero for some fixed set of residues mod the period π. So the integer hull of V n is QIQ in this base case.
We now address the case of a full-dimensional simplex with vertices V n , of dimension k − 1 in R k−1 . We will show that the integer hull is itself the convex hull of the union of integer hulls of finitely many lower-dimensional polyhedra, which by induction will imply the theorem. This procedure is intuitively rather simple; we find integer points p i uniformly close to each vertex v i and then explain how to find all integer vertices outside the convex hull of the p i . The reader is invited to read Example 3.6 which implements the algorithm in a simple, but nontrivial, case.
Recall that we have written v = ln + O(1), then subtracted the column l 1 n from each column of v, and multiplied the translated v on the left by an integral unimodular matrix U to put v in the form caricatured in Figure 1. If the span of l is not full dimensional, then by reordering the vectors before finding Hermite normal form, we may assume the k − 1th row has entries of size O(1), and repeat the argument above. So we may assume the span of l is full dimensional; in other words, we may assume that after subtracting l 1 from each column and taking Hermite normal form, the l i,i+1 are all strictly positive. Hence as n → ∞, the vertex v 1 converges to a finite point, and the convex hull of the v i converges (in the Hausdorff topology) to a nondegenerate full-dimensional cone. Such a cone necessarily contains an interior integer point, which we denote p 1 . Note that the size of the difference p 1 − v 1 (n) is uniformly bounded, independent of n. After multiplying on the left by U −1 and translating by −l 1 n, we obtain an integral vector p 1 (n) with linear integral coordinates, and with a uniform bound on p 1 (n) − v 1 (n) .
Repeating for each vertex, we obtain a constant C and vectors p i (n) for each i with linear integral coordinates so that p i (n) − v i (n) < C. Note that for n ≫ 0 the set P n := {p i (n)} spans a simplex of full dimension. This simplex is contained in the integer hull of V n ; we now show how to find the integer points outside this simplex.
The difference of the convex hulls of V n and of P n is itself a polyhedron. This polyhedron decomposes naturally into a union of prisms on the top dimensional faces, and each prism can be subdivided into finitely many simplices in such a way that each simplex has vertices in V n ∪ P n , and has at least two vertices of the form p i , v i for some i. Standard methods of decomposing a prism into simplices with these properties are used in elementary algebraic topology; see e.g. the proof of Thm. 2.10 in Hatcher [13]. Note in particular that the combinatorics of the subdivision is constant for n ≫ 0.
In particular, each of the finitely many simplices in the subdivision has vertices which are rational functions of n of size O(n), and contains a pair of vertices which are distance O(1) apart. In particular, the span of the linear part of each such simplex is not full dimensional, and we can reduce to a previous case where the induction hypothesis is assumed to hold.
Hence the integer hull of each simplex in the convex hull of V n but outside the convex hull of P n is QIQ. The integer hull of V n is the convex hull of the integer hulls of these finitely many simplices, together with the convex hull of P n . By Lemma 3.3 this is itself QIQ. This completes the induction step, and proves the theorem.
Example 3.6. We give an example of the theorem in the case of a full-dimensional polyhedron in R 2 to illustrate the decomposition into 1-dimensional polyhedra.  (1, 3). In the original coordinates, then, p 2 = (n + 1, 6). A similar procedure gives p 3 = (2, 3n + 1). The remaining integral points are contained in three quadrilaterals, which can be decomposed into six triangles with degenerate linear part. The integer lattice points in these simplices are contained in finitely many additional affine linear subspaces, as indicated in Figure 2. Proof. The closed integer hull of such a cone is bounded by the hyperplane containing the extremal vectors, since the vectors are exactly linear (no error term), so the integer hull of the cone is the integer hull of this polyhedron, which is QIQ by Theorem 3.5, plus the linear rays which are its extremal vectors. So in this case the proof follows from Lemma 3.3. For the open cone, first observe that if p − v ∈ V for some extremal vector v, then p cannot be in the integer hull, so the integer hull is linearly bounded. Then, simply change the bounds on the bounding hyperplanes by 1 to slide them in slightly. This gives a closed, linearly bounded polyhedron, which has a QIQ integer hull.
3.1. Relaxing the O(n) assumption. Given that the results in Section 2 do not require any O(n) assumption, it is natural to ask why Theorem 3.5 does. We briefly address this question. In fact, we do not know whether the statement of the theorem is correct without the O(n) assumption, but our proof does use it in a fundamental way. Either the polyhedron is not full-dimensional or degenerate in some way, in which case we may slice it a uniformly bounded number of times to induct, or the polyhedron is full-dimensional. In the full-dimensional case, we find an integer point uniformly close to each vertex and slice the "shell" of the polyhedron as shown in Figure 2. The O(n) assumption is necessary to obtain the integer point uniformly close to each vertex. For example, consider the polyhedron in two dimensions with vertices This polyhedron is not degenerate, for its height grows linearly, but because its length grows like n 2 , the polyhedron gets arbitrarily skinny close to the vertex v 1 , and there is no integer point uniformly close to it. This example is not definitive; one could hope to adapt Lenstra's key idea in [15] to show that either the highest order terms give a simplex of full dimension, or after acting by a unimodular matrix, the simplex is decomposes into finitely many simplices of smaller complexity (as measured either by dimension or degree of growth).
In a moment we shall explain why we believe that this hope can be realized in dimension 2. In dimensions 3 and higher, intuition is hard to come by; we don't know how to prove the theorem, but we have no counterexample. In dimension 2 there is a strong relationship between integer hulls and continued fractions, and this lead us to conjecture: Conjecture 3.9. In dimension d = 2, Theorem 3.5 holds without the O(n) assumption.
We give some explanation. Given a line through the origin with slope α, the convergents of the continued fraction approximation of α give lattice points on alternating sides of the line which are the successively closest such points as measured by the relative error of the approximation of α with respect to the horizontal distance to the origin. In particular, the integer hull of the cone spanned by (0, 1) and (1, α), without the origin, comprises the points (p i , q i ), where p i /q i gives every other convergent of α.
It follows from Lemma 2.6 that the integer hull of a cone based at the origin with rays which are rational functions of n is IQ (we do not include the origin in the integer hull -otherwise, this would be trivial).
The analogue of Theorem 3.5 in 2 dimensions and without the O(n) assumption does not follow immediately. It is true that we can recover the integer hull of a polyhedron from the integer hulls of the cones on each vertex, but we cannot reduce the integer hull of an arbitrary cone to the integer hull of a cone based at the origin: given an arbitrary cone, it is not difficult to see that we can act by a unimodular matrix and an integer shift to obtain an equivalent cone with rays (1, 0) and (a, b), where a, b ∈ Z, and where this equivalent cone is based at a point (p/q, 0), where p, q ∈ Z and 0 ≤ p/q < 1. Thus, we can almost find an equivalent cone based at the origin, but not quite: it will be shifted over slightly. Though small, this shift means that we cannot simply use Lemma 2.6 to conclude that the integer hull is IQ.
The integer hulls of cones as described above are very likely to have well-behaved integer hulls, and thus we make Conjecture 3.9, but we do not know how to prove it.

Stable Commutator Length
In this section, we discuss consequences of Theorem 3.5 for geometric group theory, in particular for the theory of stable commutator length. A basic reference is [5], and our applications build on the technology and viewpoint developed in [6].

4.1.
Background. If G is a group, and g ∈ [G, G], the commutator length of g, denoted cl(g), is the least number of commutators in G whose product is g. The stable commutator length is defined to be the limit scl(g) := lim n→∞ cl(g n )/n. Stable commutator length extends to a function on homologically trivial formal finite sums of elements, by defining cl(g 1 + g 2 + · · · + g m ) = min {ti} cl(g t1 1 g t2 2 · · · g tm m ) (where superscript denotes conjugation) and scl(g 1 + g 2 + · · · + g m ) = lim n→∞ cl(g n 1 + · · · + g n m )/n By linearity on rays, and continuity, scl extends to a pseudo-norm on the real vector space B 1 (G) of 1-boundaries (in the sense of group homology), and vanishes on the subspace H := g n − ng, g − hgh −1 . Hence scl descends to a pseudo-norm on B H 1 (G) := B 1 (G)/H. For certain groups -e.g. when G is word hyperbolic -scl is a genuine norm on B H 1 . Stable commutator length can be reformulated in topological terms. If K is a K(G, 1), conjugacy classes in G correspond to free homotopy classes of loops in K. Let g 1 , g 2 , · · · , g m ∈ G with g i ∈ B 1 , and let Γ : i S 1 i → K be the corresponding free homotopy classes. A map of a compact, oriented surface f : S → K is admissible (for Γ) if no component of S has positive Euler characteristic, and if the restriction ∂f : ∂S → K factors as a product Γ•i for some i : ∂S → i S 1 i which is an oriented covering map of degree n(S). Then there is a formula scl( where the infimum is taken over all surfaces admissible for Γ.

4.2.
Scl, sails and surgery. In [6] the problem of computing scl in a free product of free abelian groups is reduced to a kind of integer programming problem. We summarize the conclusions of that paper; for more details, see [6], especially § 3-4. For simplicity we restrict attention to a product of two factors G = A * B.
Then we can take K to be a wedge of tori K(A, 1) ∨ K(B, 1) and consider collections of loops Γ : i S 1 i → K which are obtained by concatenating essential arcs alternately contained in the K(A, 1) and the K(B, 1) factor. Note that we are implicitly restricting attention to a generic special case in which no S 1 i maps entirely into K(A, 1) or K(B, 1); in the language of [6] we are forbidding Abelian loops. Removing this restriction would not add any serious technical difficulty, but it would add considerably to the notation and interfere with the exposition.
The The sail of V A is defined to be the boundary of the convex hull of D A +V A , where D A is the union of the integer lattice points contained in certain open faces of V A (precisely which faces are included depends on some additional combinatorial data associated to Γ). For v ∈ V A , let |v| denote the L 1 norm of the vector v (in the given basis). Define the Klein function κ on V A to be the non-negative function, linear on rays, which is equal to 1 on the sail. Note that since V A is a rational polyhedral cone, the sail is a finite sided (noncompact) integral polyhedron, and κ is the minimum of finitely many rational linear functions.
A surface S mapping to K with boundary factoring through Γ somehow decomposes into S A and S B mapping to K(A, 1) and K(B, 1) respectively, and determines vectors v(S A ) and v(S B ) in V A and V B respectively. The surfaces S A and S B have corners; they can be given an "orbifold Euler characteristic" χ o in a natural way such that The following is a restatement of Lemma 3.9 from [6]: , and conversely, for any rational vector v ∈ V A and any ǫ > 0 there is an integer n and a surface S A with v(S A ) = nv and |χ o (S A )/n−χ o (v)| ≤ ǫ.
Two surfaces S A and S B glue together to form an admissible surface S if and only if the vectors v(S A ) and v(S B ) lie in the intersection of V A × V B with a certain linear subspace (defined by equating certain coordinates in C 2 (A) with coordinates in C 2 (B) according to the combinatorics of Γ). This intersection is a polyhedral cone Y , and we can define a function χ on Y by There is a linear map d : Y → H 1 ( i S 1 i ) which takes a surface S to the image of the fundamental class [∂S] in the homology of i S 1 i . The following lemma is a restatement of (part of) Theorem 3.14 from [6]: 4.3. Surgery families. We recall the definition of surgery and surgery families from [6]. Let {A i } and {B i } be families of free abelian groups, and ρ i : A i → B i a family of homomorphisms. Then ρ i induces a homomorphism ρ : * i A i → * i B i , and we say ρ is induced by surgery. If C ∈ B H 1 ( * i A i ), then ρ(C) is obtained by surgery on ρ. The nomenclature comes from Dehn surgery in 3-manifold topology (see [6]). Now let σ i and τ i be two families of homomorphisms as above. Define ρ i (p) = σ i + pτ i ; ρ i is called a line of surgeries.
Let w ∈ B H 1 (A ′ * B ′ ) and let ρ(p) : A ′ * B ′ → A * B be a line of surgeries. Let w(p) = ρ(p)(w). We call w(p) a surgery family. One may think of a surgery family as an expression a with a i ∈ A and b i ∈ B, where the exponents α i , β i are linear functions of p.
In a surgery family, the cones V A and V B vary, but the spaces C 2 (A) and C 2 (B) do not. To understand the behavior of scl in surgery families we need one additional ingredient; the following lemma is a restatement of (part of) § 4.4 from [6]: Definition 4.5. A function r(n) is quasirational if there are quasipolynomials p(n) and q(n) such that r(n) = p(n)/q(n). A family of polyhedra S(n) in R d is QR if there is some integer π so that for all integers i, the vertices of S(πn + i) are the columns of a matrix whose entries are rational functions in the variable n, for n ≫ 0.
In what follows, let {w i (p)} k i=1 be a finite set of surgery families as above, so that each w i (p) is in B H 1 (G) for some free product of free abelian groups G. For each p, define W p to be the span of the w i (p) in B H 1 (G). Let us assume that the w i are linearly independent for p ≫ 0, so that W p is k-dimensional. We would like to express a relationship between the restriction of scl to the subspaces W p as a function of p. To do this, we introduce some dummy symbols {e i } k i=1 spanning a vector space E, and define I p : W p → E for each p by I p (w i (p)) = e i . Theorem 4.6. Let {w i (p)} k i=1 be a collection of surgery families, as above, and let B p be the unit ball in the scl norm restricted to W p . Then I p (B p ) is eventually QR in E; i.e. the unit scl balls are eventually QR, modulo the identification of vector spaces.
Proof. We are going to describe a modified algorithm which produces the scl unit ball in the positive orthant in W p . Since −C = C −1 in B H 1 , this is sufficient, since to obtain the full unit ball we simply run this algorithm 2 k times to get each orthant. After describing the new algorithm, we will show that it produces output which is QR in E.
For simplicity, we give the algorithm in the case of a free product of two free abelian groups; the generalization to more free factors is straightforward. Let Γ be as above, so that the homotopy class of Γ corresponds to the formal sum of conjugacy classes in the support of i w i (p). Then H 1 (Γ) is free abelian, with rank equal to the sum of the number of terms in each w i (p) (in particular, this rank does not depend on p).
For each p we construct V A and V B as cones in C 2 (A) and C 2 (B), and construct Y as a subcone of V A × V B in C 2 (A) × C 2 (B). Note that C 2 (A) and C 2 (B) do not depend on p. Moreover, although V A and V B do depend on p, the cone Y is obtained by intersecting their product with a fixed subspace of C 2 (A) × C 2 (B).
There is a map H 1 (Γ) → H 1 (K) given by inclusion, and there is a sequence which is exact at H 1 (Γ) in the sense that the image of Y is equal to the cone in the kernel of H 1 (Γ) → H 1 (K) consisting of non-negative multiples of the components of Γ. This kernel contains the span of the w i by hypothesis. Denote this span by W p , and define Y p to be the preimage of this span; i.e. Y p = d −1 (W p ). The function −χ/2 is piecewise linear on Y for each p, and therefore the set χ 1 = {v ∈ Y p | − χ(v)/2 ≤ 1} is a polyhedron. Therefore the projection d(χ 1 ) is a polyhedron, which is precisely the scl unit ball.
We now need to show that the image of this unit ball is QR in E. For n ≫ 0 the combinatorics of the cones V A and V B is eventually constant, and the set of faces that contribute vectors to D A or D B is also eventually constant. By Lemma 4.4 each face of V A has spanning vectors which are integral linear functions of p, so the vertices of the sail are QIQ by Corollary 3.7 and Lemma 3.3. Therefore the linear functions defining κ A and κ B are quasirational functions of p, so the same is true for the function χ on Y p , so the vertices and rays in χ 1 are QR. The projection by d composed with I p is therefore QR in E.
Corollary 4.7. If w(n) is a surgery family, then scl(w(n)) is eventually a ratio of two quasipolynomials in n.
Proof. Apply Theorem 4.6 to the case of a single surgery family.
Corollary 4.8. If scl(w i (p)) is bounded below (uniformly in p) for all i, then the unit scl ball in E is quasi-convergent, in the sense that there is some integer π such that the π unit scl balls in E which are the images of the unit balls in W qπ+i for each residue i mod π converge as q → ∞.
Proof. The vertices of the unit scl ball are QR, so after passing to a finite cycle (and then to a further finite cycle), we assume the vertices are rational functions. As scl is uniformly bounded below, all these vertices must be bounded rational functions, which necessarily converge.

Acknowledgements
Danny Calegari was supported by NSF grant DMS 1005246. We would like to thank Jesus De Loera and Greg Kuperberg for some useful conversations about this material. We would also like to thank the anonymous referees for helpful suggestions and corrections.