Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Academia.eduAcademia.edu

Flags and Lattice Basis Reduction

2001, European Congress of Mathematics

In this lecture we give a self-contained introduction to the theory of lattices in Euclidean vector spaces. We reinterpret a large class of lattice basis reduction algorithms by using the concept of a "flag". In our reformulation, lattice basis reduction algorithms are more appropriately called "flag reduction" algorithms. We address a problem that arises when one attempts to find a particularly good flag for a given lattice.

Flags and Lattice Basis Reduction Hendrik W. Lenstra, Jr. Abstract. In this lecture we give a self-contained introduction to the theory of lattices in Euclidean vector spaces. We reinterpret a large class of lattice basis reduction algorithms by using the concept of a “flag”. In our reformulation, lattice basis reduction algorithms are more appropriately called “flag reduction” algorithms. We address a problem that arises when one attempts to find a particularly good flag for a given lattice. 1. Introduction A lattice is a discrete subgroup of a Euclidean vector space. Every lattice has a basis, and a lattice basis reduction algorithm is an algorithm that transforms a given basis for a given lattice into a basis consisting of relatively short vectors. The present lecture is devoted to a conceptual discussion of an important class of lattice basis reduction algorithms. This class includes an algorithm that I introduced in 1981 [4], its close relative that is known as the LLL or Lovász basis reduction algorithm from 1982 [3], and many variants of these algorithms that were proposed in subsequent years. The original applications of basis reduction algorithms to integer programming ([5, 1]) and to algorithmic number theory ([3, 2]) exemplify the scope of their importance in pure and applied mathematics. The central notion in the present discussion is that of a flag for a lattice. A flag carries a little less information than a basis; the definition is given in section 6. The basis reduction algorithms that I consider can be reinterpreted in terms of flags; one may say that they transform a given flag for a lattice into a ‘reduced’ flag for the same lattice. To this end they perform a series of successive steps, each step replacing a flag by a ‘neighbouring’ one that is closer to being reduced. We picture this procedure by means of a directed graph, of which the vertices represent all flags for a given lattice, and the arcs the steps that are permitted. For the algorithm to be efficient, it is necessary that not too many steps are performed in succession. This leads to the problem of giving an upper bound for the length of a directed path in the graph that starts from a given vertex. In section 8 I present such an upper bound. It may be considered satisfactory if one considers only lattices of fixed rank. It is an interesting open problem to find an upper bound that has a better behaviour as a function of the rank. 2 H. W. Lenstra, Jr. 2. Euclidean Vector Spaces A Euclidean vector space is a finite dimensional vector space E over the field R of real numbers equipped with a map  ,  : E × E → R satisfying w + x, y = w, y + x, y, rx, y = rx, y, x, y = y, x, z, z > 0 for all r ∈ R and w, x, y, z ∈ E, z = 0. We refer to the map  ,  as the inner product on E. Any Euclidean vector space E is a metric space with distance function d : E ×E → R defined by d(x, y) = x−y, x−y1/2 . For each non-negative integer n, the vector space Rn is a Euclidean n vector space with the standard inner product defined by (xi )ni=1 , (yi )ni=1  = i=1 xi yi . Let E be a Euclidean vector space, and let D ⊂ E be a subspace. Then the restriction of  ,  to D × D makes D into a Euclidean vector space. Let D† = Hom(D, R) be the dual of D, and write D⊥ for the kernel of the linear map E → D† sending x ∈ E to the map y → x, y. One has D ∩ D⊥ = 0, so the natural maps D → E/D⊥ → D† are injective, and by dim D = dim D† they are isomorphisms. It follows that each w ∈ E has a unique representation as w = x+y, with x ∈ D and y ∈ D⊥ ; this is the orthogonal decomposition of w with respect to D. The quotient space E/D becomes a Euclidean vector space as well, since it is canonically isomorphic to the subspace D⊥ of E. One also concludes that E is canonically isomorphic to E † . Applying the above to one-dimensional subspaces, one easily proves by induction on dim E that for every Euclidean vector space E there is a linear isomorphism from the standard Euclidean vector space Rdim E to E that preserves inner products. For example, if one makes the field C of complex numbers into a Euclidean vector space by putting x, y = (xȳ + yx̄)/2 (= the real part of xȳ), then the isomorphism R2 → C sending (a, b) to a + bi preserves inner products. Proposition 2.1. Let D be a finite dimensional vector space over R, and let  ,  : D × D → R be a map satisfying w + x, y = w, y + x, y, rx, y = rx, y, x, y = y, x, and x, x ≥ 0 for all r ∈ R, w, x, y ∈ D. Write rad D = {x ∈ D : x, x = 0}. Then rad D is a subspace of D, and if we write E = D/ rad D then  ,  can be written as the composition of the natural map D × D → E × E and a uniquely determined map E × E → R; moreover, the latter map makes E into a Euclidean vector space. Proof. Let w ∈ rad D, y ∈ D. Then one has 2rw, y+y, y = rw +y, rw +y ≥ 0 for every r ∈ R, and therefore w, y = 0. One readily deduces that rad D is a subspace and that for any x, x′ , y, y ′ ∈ D with x ≡ x′ mod rad D and y ≡ y ′ mod rad D one has x, y = x′ , y ′ . Hence  ,  factors through E × E. The last statement is now immediate.  Flags and Lattice Basis Reduction 3 3. Lattices in a Euclidean Vector Space Let E be a Euclidean vector space. A lattice in E is an additive subgroup L of E for which there exists a positive real number l such that every z ∈ L, z = 0, satisfies z, z ≥ l; equivalently, it is an additive subgroup of E that is discrete in the topology induced by the metric on E. Proposition 3.1. Let L be a lattice in a Euclidean vector space E, and let r, l ∈ R be real numbers with r ≥ 0, l > 0 such that every z ∈ L, z = 0, satisfies z, z ≥ l. Write n for the dimension of the subspace of E spanned by L. Then we have  #{x ∈ L : x, x ≤ r} ≤ (1 + 2 r/l)n . Proof. Replacing E by the subspace spanned by L we may assume n = dim E. Since L is an additive subgroup, any two distinct√ elements of L differ by a non-zero element of L and therefore have distance at least l. Hence the open n-dimensional √ balls balls with radius l/2 centered at all x ∈ L are pairwise disjoint. All of these √ r+ whose center x satisfies x, x ≤ r are contained in the open ball with radius √ l/2 centered at 0. Computing volumes we find √ √ √ #{x ∈ L : x, x ≤ r} · ( l/2)n ≤ ( r + l/2)n . (It is practical to rescale the volume on E so that the unit ball has volume 1.)  Let Z denote the ring of integers. Proposition 3.2. Let E be a Euclidean vector space, let b1 , b2 , . . . , bn ∈ E be linearly independent, and for each ilet bi = (bi − b∗i ) + b∗i be the orthogonal ∗ decomposition of bi with respect to 0 for j < i, and j<i Rbj ; so bi , bj  =   ∗ ∗ bi − bi ∈ j<i Rbj . Then all bi are non-zero, and for each z ∈ i Zbi , z = 0, one has z, z ≥ mini b∗i , b∗i . Remark. If the bi are not supposed to be linearly independent, then the dimension of the subspace they span equals the number of i for which b∗i = 0.    Proof. We have b∗i = 0 since bi ∈ / j<i Rbj . For z = i ni bi ∈ i Zbi , z = 0, ∗ ∗ choose i maximal with ni = 0. Then  z = (z − ni bi ) + n2 i bi∗ is∗ the orthogonal decomposition of z with respect to j<i Rbj , so z, z ≥ ni bi , bi  ≥ b∗i , b∗i .  Proposition 3.3. Let E be a Euclidean vector space and let L be a subset of E. Then L is a lattice in E if and only if there is a linearly independent subset B ⊂ E with L = b∈B Zb. If B and L are as in proposition 3.3, then B is called a basis for L. Its cardinality #B equals the number n defined in proposition 3.1, so it depends only on L; it is called the rank rk L of L. One has rk L ≤ dim E. Proof. The if-part follows from proposition 3.2. For the only if-part, let C ⊂ L be a basis for the subspace D of E spanned by L. Each w ∈ L can be written 4 H. W. Lenstra, Jr.  as w = x + ywith x ∈ M = c∈C Zc and y in the intersection of L with the bounded set c∈C [0, 1)c. By proposition 3.1, that intersection is finite, so M has finite index m (say) in L. Lagrange’s theorem from group theory now implies that mL ⊂ M , so L is a subgroup of finite index of the free abelian group m−1 M . Therefore L has a basis B over Z with #B = #C, and B is linearly independent since its span contains C.  4. Lattices We next define lattices in an absolute sense, without reference to a Euclidean vector space. A lattice is a finitely generated abelian group L equipped with a map q : L → R satisfying the following three conditions: (i) q(x + y) + q(x − y) = 2q(x) + 2q(y) for all x, y ∈ L (the parallelogram law); (ii) q(z) = 0 for all z ∈ L, z = 0; (iii) for each real number r, the set {x ∈ L : q(x) ≤ r} is finite. An isomorphism from a lattice L, q to a lattice L′ , q ′ is a group isomorphism f : L → L′ such that for all x ∈ L one has q(x) = q ′ (f (x)); if such a map exists then the lattices L and L′ are called isomorphic. By proposition 3.1, any lattice in a Euclidean vector space becomes a lattice in the sense just defined if we put q(x) = x, x. We prove that, up to isomorphism, any lattice can be obtained in this way. Proposition 4.1. Any lattice is isomorphic to a lattice in a Euclidean vector space.   Proof. Let L, q be a lattice. For x, y ∈ L, define x, y = q(x + y) − q(x − y) /4. The parallelogram law implies q(x − y) = q(y − x), so we have x, y = y, x. Let w, x, y ∈ L. We have by the parallelogram law q(w + x + y) + q(w − x + y) = 2q(w + y) + 2q(x) , q(w + x − y) + q(w − x − y) = 2q(w − y) + 2q(x) , q(w + x + y) + q(w − x − y) = 2q(x + y) + 2q(w) , q(w + x − y) + q(w − x + y) = 2q(x − y) + 2q(w) . Taking the alternating sum and dividing by 8 we find that w + x, y = w, y + x, y. One readily checks that q(0) = 0 and x, x = q(2x)/4 = q(x), for x ∈ L. If x ∈ L satisfies q(x) < 0, then one has q(mx) = m2 q(x) < 0 for all non-zero m ∈ Z, so x has infinite order, and one obtains a contradiction with (iii); hence q(x) ≥ 0 for all x ∈ L. Write D = R ⊗Z L, and let  ,  : D × D → R be the R-bilinear function induced by  ,  : L × L → R. For each positive integer m and each x ∈ L the element z = (1/m) ⊗ x of D satisfies z, z = q(x)/m2 ≥ 0, and since the set of all z ∈ D of this form is dense in D one has z, z ≥ 0 for all z ∈ D. From proposition 2.1 one now obtains a Euclidean vector space E = D/ rad D such that the group homomorphism f : L → E sending x to the coset (1 ⊗ x) mod rad D satisfies q(x) = f (x), f (x). By property (ii) the map is injective, and using (iii) Flags and Lattice Basis Reduction 5 one deduces that f (L) is a lattice in E that is isomorphic to L. (Comparing ranks and dimensions one also finds rad D = 0, so D = E.)    Remark. In the sequel, we shall write x, y = q(x + y) − q(x − y) /4 for x, y in a lattice, and lattices may tacitly be assumed to be embedded in a Euclidean vector space. This is justified by proposition 4.1 and its proof. Rank and determinant Two important numerical invariants attached to any lattice L are its rank rk L and its determinant d(L). The rank is the unique nonnegative integer n for which there is an isomorphism L ∼ = Zn of abelian groups. The determinant is defined by  1/2 d(L) = det b, b′  b,b′ ∈B , where B is a basis of L; if L is a lattice in Rn with basis equal to the set of columns of a non-singular n × n matrix B, then one has d(L) = |det B|. One way to prove that d(L) is well-defined is by showing the limit relation lim r→∞ #{x ∈ L : q(x) ≤ r} = 1, ωn rn /d(L) which is valid for any lattice L of rank n. Here we write ωn = π n/2 / n2 ! for the standard volume of the unit ball in Rn ; the factor n2 ! = Γ(1+ n2 ) may be computed √ from 0! = 1, 21 ! = π/2, and z! = z · (z − 1)!. We have d(L) = 1 if rk L = 0. Proposition 4.2. Let L, q be a lattice of positive rank n. Then there exists x ∈ L with x = 0 and q(x) ≤ n · d(L)2/n . Proof. Assume that L is a lattice in Rn , and write vol for the standard n-di [0, 1)b. mensional volume. Let B ⊂ Rn be a basis for L, and write F = b∈B Then vol F = d(L), and Rn is the disjoint  union of the sets x + F , x ∈ L. Let l = min{q(x) : x ∈ L, x = 0}, and write t = l/n, so that the assertion of propon n sition 4.2 is equivalent to tn ≤ d(L). Let C be the √ cube [0, t) in R . Any two √ elements of C have distance smaller than t n = l, so their difference is not a non-zero element of L. Hence the sets −x + C, x ∈ L, are pairwise disjoint. Since C is the disjoint union of the sets (x + F ) ∩ C, x ∈ L, we conclude that       tn = vol C = vol F ∩ (−x + C) vol (x + F ) ∩ C = x∈L x∈L    = vol F ∩ x∈L (−x + C) ≤ vol(F ) = d(L) , as required.  √ Remark. Replacing the cube in the proof by an open ball of radius l/2 one −2/n finds the better inequality q(x) ≤ 4ωn · d(L)2/n , with ωn as above, and further −2/n improvements are possible. One has 4ωn = 2n/(πe + o(1)) for n → ∞. 6 H. W. Lenstra, Jr. Sublattices and quotient lattices Let L, q be a lattice, and let K be a subgroup of L. Then the restriction of q to K makes K into a lattice, a sublattice of L. We next restrict to pure subgroups. In general, a subgroup K of an additively written abelian group L is called pure if for all positive integers m one has mK = K ∩ mL. If L is a lattice, this property is equivalent to L/K being torsion-free; and if L is a lattice in a Euclidean vector space E, then it is equivalent to the existence of a subspace D of E such that K = L ∩ D, and also to L having a basis that contains a basis for K. Now suppose that K is a pure sublattice of a lattice L. Then the map q ′ : L/K → R defined by q ′ (x + K) = inf{q(mx − y)/m2 : m ∈ Z, m = 0, y ∈ K} makes L/K into a lattice. To prove this, one embeds L as a lattice in a Euclidean vector space E, one defines D to be the subspace of E spanned by K, and one verifies that q ′ is induced by the inclusion of L/K in the Euclidean vector space E/D. One has rk K + rk(L/K) = rk L, d(K) · d(L/K) = d(L) . Proposition 4.3. Let L be a lattice and let r be a real number. Then the number of sublattices K of L with d(K) ≤ r is finite. Proof. For any subgroup K ⊂ L, with R-linear span R · K, the subgroup K ′ = L ∩ (R · K) is pure, the number m = index[K ′ : K] is finite, and one has d(K) = m · d(K ′ ). Hence we may restrict to pure subgroups. We apply induction on rk L. The set of non-zero b in L with q(b) ≤ max{i · r2/i : 1 ≤ i ≤ n} is finite, and by proposition 4.2 any non-zero subgroup K ⊂ L with d(K) ≤ r contains at least one of them. If K is a pure subgroup containing a given such b, then it also contains the pure subgroup Lb = L ∩ Rb, and K/Lb is a pure subgroup of L/Lb with d(K/Lb ) = d(K)/d(Lb ). Now apply the induction hypothesis to each L/Lb .  Remark. An alternative proof of proposition 4.3 makes use of exterior powers. For subgroups of rank 1, one uses defining property (iii) of lattices. Generally, if K ⊂ L is a subgroup of rank i, then ∧i K ⊂ ∧i L is a subgroup of rank 1, and ∧i L has a natural lattice structure for which d(∧i K) = d(K); in addition, K is ‘almost’ determined by ∧i K in the sense that another subgroup J ⊂ L of rank i satisfies ∧i J = ∧i K if and only if J is a subgroup of L ∩ (R · K) of the same index as K. Remark. It follows from proposition 4.3 that there is a positive lower bound for the determinants of the subgroups of a given lattice. Explicitly, any subgroup K ⊂ L  i/2 with rk K = i > 0 satisfies d(K) ≥ min{q(x) : x ∈ L, x = 0}/i , by proposition 4.2. The dual Let L be a lattice in a Euclidean vector space E with dim E = rk L. Then L† = {x ∈ E : x, L ⊂ Z} is also a lattice in E, the dual (or polar ) of L. One has rk L† = rk L, d(L† ) = d(L)−1 , L†† = L . Flags and Lattice Basis Reduction 7 If L is a lattice in Rn with basis equal to the set of columns of a certain nonsingular matrix, then the columns of the inverse transpose matrix form a basis for L† . If desired, one can also define the dual without reference to a Euclidean vector space, by taking L† = Hom(L, Z) and letting q(f ), for f ∈ L† , be the infimum of all non-negative real numbers r with the property that for all x ∈ L one has f (x)2 ≤ r · q(x). Let L be a lattice, with dual L† , and let K ⊂ L be a pure sublattice. Then ⊥ K = {x ∈ L† : x, K = 0} is a pure sublattice of L† that may be identified with (L/K)† , and K † may be identified with L† /K ⊥ ; in addition, one has K ⊥⊥ = K. 5. Algorithmic Problems In the present section we discuss a few fundamental and frequently encountered problems concerning lattices. The first is the homogeneous approximation problem: given a non-zero lattice L, find a non-zero element x ∈ L with q(x) smallest possible. The informal formulation allows many interpretations. For example, the lattice may be ‘given’ in some theoretical sense, and ‘finding’ x may be meant purely existentially, so that proposition 4.2 goes some way towards solving the problem. We are mainly interested in an algorithmic interpretation, in which the lattice is ‘given’ in some numerical manner, and likewise its elements have a numerical representation; the problem of ‘finding’ x is then to be interpreted algorithmically, and one wants not just q(x) but also the run time of the algorithm to be small. One will have to allow for a trade-off between the latter two quantities, and the requirement that q(x) be ‘smallest possible’ may be taken to mean: smallest possible given the time that one is willing to spend. One way of specifying a lattice L numerically is by means of a real m × n matrix B of rank n; then L is embedded in the Euclidean vector space Rm , the columns of B forming a basis, and an element x ∈ L is either represented as a real m-vector or as an integral n-vector consisting of the coefficients of x on that basis. In order to avoid rounding problems one may require the entries of B to be rational. A second way of specifying L is by means of a real positive definite symmetric n×n matrix A; in this case L is the group Zn , its elements are represented as integral n-vectors, and x, y = xT Ay for x, y ∈ L. Again one may require the entries of A to be rational. One easily transforms the first type of representation into the second by taking A = BT · B, and this transformation preserves rationality. One can also transform the second representation into the first, but complications arise if one wishes to do this by means of a polynomial time algorithm that preserves rationality and keeps m low. There are other possibilities of representing lattices numerically, but the two that we just mentioned appear to be the most convenient ones for algorithmic purposes. Of the many algorithmic situations giving rise to the homogeneous approximation problem we mention a single one; namely, the problem of factoring a given one-variable polynomial f with rational coefficients into irreducible factors, which 8 H. W. Lenstra, Jr. was considered in [3]. In this case, one can take the lattice to consist of integer polynomials of a certain degree that assume a very small value in a suitably constructed p-adic zero of f , and one proves that any sufficiently short non-zero vector in that lattice must be an irreducible factor of f . The homogeneous approximation problem has also appeared under the following guise: given a lattice L in a Euclidean vector space E of dimension rk L, find x ∈ E with L ⊂ (Rx)⊥ + Zx and x, x largest possible. Geometrically, this amounts to asking for a hyperplane H in E such that L is contained in the union of a collection of maximally widely spaced translates of H; namely, take H = (Rx)⊥ and consider translates with successive distances equal to x, x1/2 . Such a hyperplane is useful when one wishes to enumerate elements of L that lie in a certain bounded region, which occurs in the context of integer programming (see [5]). A given non-zero vector x ∈ E satisfies L ⊂ (Rx)⊥ + Zx if and only if x/x, x belongs to the dual L† of L, so the problem is equivalent to the homogeneous approximation problem for L† . Finally, one frequently encounters the inhomogeneous approximation problem: given a lattice L in a Euclidean vector space E, and x ∈ E, find y ∈ E with x−y ∈ L and y, y smallest possible. In other words, one wishes to ‘round’ a given element x of E to an element w of L such that the ‘error’ d(x, w) is minimal. It is a mistake to think that the special case x = 0 of the inhomogeneous approximation problem amounts to the homogeneous approximation problem (since one takes w = y = 0); but it is true that solving 2rk L − 1 inhomogeneous approximation problems suffices to solve the homogeneous approximation problem; namely, let x range over coset representatives of all non-trivial elements of 21 L/L. All problems that we mentioned can to a certain extent be solved if a reduced basis of the lattice is available. The notion of a ‘reduced basis’ has many different definitions, and one usually chooses the most convenient one for the purpose at hand. Different definitions are rarely logically equivalent, but typically bases that are reduced in different senses share many qualitative properties: they consist of ‘fairly short’ vectors that stand at ‘almost right’ angles, the product of their lengths is a ‘fair’ approximation to the determinant of the lattice, and, of course, they yield solutions to the three problems formulated above. In the next section we shall consider flags of a lattice. The notion of a flag is a little weaker than the notion of a basis, but it still carries enough information to assist us in solving our three problems. Finding a reduced basis for a given lattice is done by means of a lattice basis reduction algorithm, which replaces a given basis for a given lattice by a reduced basis for the same lattice. We shall not present any of these. Instead, we describe in very general terms a flag reduction algorithm, that is, a procedure that replaces a given flag of a given lattice by what might be called a ‘reduced flag’ of the same lattice; but we refrain from giving a rigorous definition of the latter term. Many existing lattice basis reduction algorithms, including those presented in [4] and [3], may be interpreted as flag reduction algorithms, and fit as such under our general description. Flags and Lattice Basis Reduction 9 6. Flags Let L be a lattice, and write n = rk L. A flag of L is a sequence F = (Fi )ni=0 of pure sublattices Fi of L satisfying rk Fi = i (for 0 ≤ i ≤ n) and Fi−1 ⊂ Fi (for 0 < i ≤ n); clearly wemust have F0 = {0} and Fn = L. Every basis (bi )ni=1  n of L gives rise to the flag j≤i Zbj i=0 , and one readily checks that every flag of L is of this form. In order to express when two bases (bi )ni=1 and (ai )ni=1 of L give rise to the same flag, let (b∗i )ni=1 be defined as in proposition 3.2, and (a∗i )ni=1 analogously. Then the two bases give rise to the same flag of L if and only if for each i one has b∗i = ±a∗i ; or, equivalently, if and only if there are integers cij , for i 1 ≤ j ≤ i ≤ n, with bi = j=1 cij aj and cii = ±1 for all i. In an algorithmic context one may wish to represent a flag numerically. Assuming L and its elements to be represented in one of the manners described n in section 5,n one can do this by specifying a basis (bi )i=1 of L; then the flag is j≤i Zbj i=0 . As we just noted, certain changes in the basis do not change the flag. This freedom is often used in order to achieve that the real numbers µij for i−1 which bi − b∗i = j=1 µij b∗j satisfy |µij | ≤ 12 . Let F = (Fi )ni=0 be a flag of L. The size s(F) of F is defined by n  s(F) = d(Fi ) . i=0 For 1 ≤ i ≤ n, the i-th successive distance li (F) is defined by li (F) = d(Fi /Fi−1 ); if F is obtained from a basis (bj )nj=1 , and (b∗j )nj=1 is as above, then one has li (F) = i n b∗i , b∗i 1/2 . One has d(Fi ) = j=1 lj (F) for 0 ≤ i ≤ n, and s(F) = j=1 lj (F)n+1−j . It is an easy consequence of proposition 4.3 that L has, for any real number r, only finitely many flags F with s(F) ≤ r. ⊥ Let again F = (Fi )ni=0 be a flag of L. Then F⊥ = (Fn−i )ni=0 is a flag of L† , the flag dual to F. One has li (F⊥ ) = ln+1−i (F)−1 , s(F⊥ ) = s(F)/d(L)n+1 , F⊥⊥ = F for 1 ≤ i ≤ n. We shall in particular be interested in flags F with the property that li+1 (F) is not much smaller than li (F), for each i = 1, . . . , n − 1. The following result and its proof show the relevance of such flags for the homogeneous approximation problem formulated in the previous section. Proposition 6.1. Let c be a real number with c ≥ 1, let L be a non-zero lattice in a Euclidean vector space E of dimension n = rk L, and let F be a flag of L with the property li+1 (F)2 ≥ c−1 · li (F)2 for 0 < i < n. Then we have c1−n · l1 (F)2 ≤ min{q(x) : x ∈ L, x = 0} ≤ l1 (F)2 ln (F)2 ≤ max{x, x : x ∈ E, L ⊂ (Rx)⊥ + Zx} ≤ cn−1 · ln (F)2 . n  ∗ n Proof. Let (bi )ni=1 be a basis of L such that F = j≤i Zbj i=0 , and let (bi )i=1 be as in proposition 3.2. By proposition 3.2, we have min{q(x) : x ∈ L, x = 0} ≥ 10 H. W. Lenstra, Jr. mini b∗i , b∗i  = mini li (F)2 . The hypotheses imply that li (F)2 ≥ c1−n · l1 (F)2 , and the first inequality follows. The second inequality follows from l1 (F)2 = q(b1 ). One proves the last two inequalities by applying the first two to the dual flag. Note that x = b∗n satisfies L ⊂ (R · x)⊥ + Zx and ln (F)2 = x, x.  Remark. The flags considered in proposition 6.1 also yield a fairly good solution to the inhomogeneous approximation problem. Namely, if the notation and hypotheses are as in proposition 6.1 and its proof, then for every x ∈ E there is a unique n element y ∈ i=1 (− 21 , 21 ] · b∗i with the property x − y ∈ L, and this element y satisfies c−1 · y, y ≤ min{z, z : z ∈ E, x − z ∈ L} ≤ y, y , cn − 1 where one should read 1 n for c−1 cn −1 if c = 1. To obtain the best results in proposition 6.1, one should take c smallest possible. In section 8 we shall see that c = 43 can be achieved; that is, every lattice L has a flag F with the property li+1 (F)2 ≥ 43 · li (F)2 for 0 < i < rk L. Also, 43 is best possible in the sense that for any n > 1 there is a lattice L of rank n such that for every flag F of L there exists i with 0 < i < n and li+1 (F)2 ≤ 43 · li (F)2 . Namely, √ one can take L to be the ‘orthogonal sum’ of the hexagonal lattice Z2 + Z(1 + i 3) in C with the lattice N Zn−2 in Rn−2 , for N large enough. 7. The Reduction Graph Let L be a lattice, and let n be its rank. We write Γ(L) for the set of flags of L. We make Γ(L) into the set of vertices of a directed graph, the reduction graph of L, by drawing an arc from F = (Fi )ni=0 to F′ = (Fi′ )ni=0 if and only if there exists j, 0 < j < n, with the following properties: (i) (ii) (iii) (iv) Fi = Fi′ for all i = j; Fj + Fj′ = Fj+1 ; s(F′ ) is minimal, given (i) and (ii); s(F′ ) < s(F). Condition (iii) means, more formally, that for all flags G = (Gi )ni=0 of L satisfying Fi = Gi for all i = j and Fj +Gj = Fj+1 one has s(F′ ) ≤ s(G). To reformulate this condition, suppose that (i) and (ii) are satisfied; then we can write Fj /Fj−1 = Zw, Fj′ /Fj−1 = Zx for a certain basis w, x of the rank 2 lattice Fi+1 /Fi−1 , and (iii) is now equivalent to the inequality |x, w| ≤ w, w/2; also, one has s(F′ )2 /s(F)2 = q(x)/q(w), so (iv) is equivalent to q(x) < q(w). We write F → F′ to denote an arc from F to F′ , and refer to it as a step in Γ(L). The length of such a step is defined to be s(F)2 /s(F′ )2 , and the number j appearing above is called the colour of the step; by (i) and (ii) it is uniquely determined. Flags and Lattice Basis Reduction 11 One readily checks that there are at most two steps in Γ(L) that start from a given flag and have a given colour; and if there are two, then they have the same length. Let K be a pure sublattice of L. The set of flags of L that comprise K may in an obvious manner be identified with Γ(K)×Γ(L/K). With this identification, one   has s (E, F) = s(E) · s(F) · d(K)(rk K) rk(L/K) , and there is a step (E, F) → (E′ , F′ ) in Γ(L) if and only if either F = F′ and there is a step E → E′ in Γ(K), or E = E′ and there is a step F → F′ in Γ(L/K); in the former case, (E, F) → (E′ , F) has the same length and colour as E → E′ , and in the latter case (E, F) → (E, F′ ) has the same length as F → F′ but the colour is larger by rk K. Proposition 7.1. Let L be a lattice. Then the map Γ(L) → Γ(L† ) sending F to F⊥ is an isomorphism of directed graphs. Corresponding steps have the same length, and their colours add up to rk L. Proof. This is entirely straightforward, and left to the reader.  The following result decribes the effect of a step on the successive lengths. Proposition 7.2. Let L be a lattice, let F → F′ be a step in Γ(L), and let j be its colour. Then one has li (F) = li (F′ ) for all i = j, j + 1, and lj+1 (F) ≤ lj (F′ ) < lj (F), lj+1 (F) < lj+1 (F′ ) ≤ lj (F) . Proof. The relation li (F) = d(Fi )/d(Fi−1 ) and (i) imply the first assertion. Write Fj /Fj−1 = Zw and Fj′ /Fj−1 = Zx, and let x̄ be the component of x orthogonal to w. Then one has lj+1 (F)2 = q(x̄) ≤ q(x) = lj (F′ )2 , and lj (F′ )2 = q(x) < q(w) = lj (F)2 . This proves the first two inequalities. The last two follow from these and the equality lj (F)lj+1 (F) = d(Fj+1 )/d(Fj−1 ) = lj (F′ )lj+1 (F′ ).  Note in particular that l1 (F′ ) ≤ l1 (F) in the situation of proposition 7.2, and, dually, ln (F′ ) ≥ ln (F). Proposition 7.3. Let L be a lattice and let F be a flag of L. Let j be an integer with 0 < j < rk L and c a real number with c ≥ 43 . Suppose that one has lj+1 (F)2 < c−1 · lj (F)2 . Then there is a step F → F′ in Γ(L) with colour j and length greater 4c than c+4 . Proof. Write Fj /Fj−1 = Zw, and choose x ∈ Fj+1 /Fj−1 with q(x) minimal subject to the condition Zx + Zw = Fj+1 /Fj−1 . With x̄ as in the previous proof, we have x = x̄ + rw with |r| ≤ 21 , so q(x) = q(x̄) + r2 q(w) = lj+1 (F)2 + r2 lj (F)2 < ′ rk L ( 1c + 41 )lj (F)2 = c+4 4c q(w) ≤ q(w). The proposition follows, with F = (Fi )i=0 ′ defined by (i) and Fj /Fj−1 = Zx.  4c will reappear in the next section. It is increasing as a The expression c+4 function of c, equal to 1 for c = 34 , and it tends to 4 for c → ∞. The parameter y 4c . A popular choice is c = 2, that appears in [3] may be viewed as the inverse of c+4 4 3 4c c+4 = 3 , y = 4 . 12 H. W. Lenstra, Jr. 8. Paths in the Reduction Graph Let L be a lattice, and put n = rk L. A path in Γ(L) is a finite sequence F1 → F2 → · · · → Ft of steps Fi → Fi+1 (1 ≤ i < t) in Γ(L); more properly, one could call this a ‘directed path’, but for ‘undirected paths’ —which would turn Γ(L) into a connected graph— we have no use. Let c be a real number with c ≥ 43 . Proposition 7.3 leads to the following procedure for transforming a given flag F of a lattice into a flag F′ satisfying the inequalities li+1 (F′ )2 ≥ c−1 · li (F′ )2 (0 < i < n) from proposition 6.1. If F itself does not satisfy these inequalities, then by proposition 7.3 one can take a step 4c from F, and iterate. Since the number of flags of size of length greater than c+4 smaller than s(F) is finite, this ‘flag reduction algorithm’ must terminate with a flag F′ with the required property. In particular, taking c = 43 , we see that we proved the statement made at the end of section 6. A good upper bound for the number of steps to be taken is of obvious interest for the analysis of actual algorithms that may be based on the procedure just described. Such a bound is easy to obtain in the case c > 43 . Namely, in that case 4c we have c+4 > 1, and since the square of the size of the flag decreases by a factor 4c in each step, the number of steps in the path F → · · · → F′ is at greater than c+4 most   log s(F)/s(F′ )  4c  2· . log c+4 This is a satisfactory bound if a good lower bound for s(F′ ) is available, which is often the case; for example, if the lattice L is such that x, y ∈ Z for all x, y ∈ L, then one has d(K)2 ∈ Z for all sublattices K of L, so s(F′ )2 is an integer, and n s(F′ ) ≥ 1. In general, one has s(F′ ) ≥ i=1 (l/i)i/2 if l is as in proposition 3.1, by the second remark after proposition 4.3. The argument just given fails in the case c = 34 , and more generally if we allow steps of length arbitrarily close to 1. It is, for fixed rank, nevertheless possible to prove a similar logarithmic upper bound for the length of any path F → · · · → F′ in Γ(L), as we shall see in proposition 8.2. We first prove an auxiliary result on paths that consist of ‘short’ steps only. Proposition 8.1. For each integer n ≥ 0 and each real number c > 43 there is a positive integer A = A(n, c) with the following property. Let L be a lattice of rank n, and let F1 → · · · → Ft be a path in Γ(L) such that each step Fi → Fi+1 4c has length at most c+4 . Then one has t ≤ A. Proof. The proof is by induction on n, the case n ≤ 1 being trivial. Suppose that n ≥ 2, and consider a path as in proposition 8.1. We first show that there exists m ∈ {1, 2, . . . , n} with the following two properties: (i) li+1 (F1 )2 ≥ c−1 · li (F1 )2 for 0 < i < m; (ii) none of the steps Fj → Fj+1 in the path has colour m. Flags and Lattice Basis Reduction 13 If all i = 1, . . . , n − 1 satisfy the inequality in (i) then we can clearly take m = n. Now suppose that i ∈ {1, . . . , n − 1} is such that li+1 (F1 )2 < c−1 · li (F1 )2 . Then by proposition 7.3, there is a step F1 → F′ of colour i and length greater 4c 4c , so any step of colour i starting at F1 has length greater than c+4 . By than c+4 4c hypothesis, F1 → F2 has length at most c+4 , so it does not have colour i. Therefore proposition 7.2 implies li+1 (F2 ) ≤ li+1 (F1 ) and li (F2 ) ≥ li (F1 ). It follows that the inequality li+1 (F)2 < c−1 · li (F)2 , which is satisfied for F = F1 , is likewise satisfied for F = F2 ; by induction on j one now deduces that all steps Fj → Fj+1 in the path have colour different from i and that all F = Fj satisfy the inequality just stated. Hence m = i satisfies (ii). If we take for m the least value of i violating the inequality in (i), then (i) is satisfied as well. Write Fj1 for the rank 1 lattice belonging to Fj . We claim that among F11 , . . . , Ft1 there are at most (1 + 2c(n−1)/2 )n − 1 /2 different rank 1 lattices. To prove this, let m be as above. By (ii), the rank m sublattice belonging to Fj is the same for all j; let this lattice be called K. The lattices of rank at most m belonging to F1 form a flag E of K, and by (i) we have li+1 (E) ≥ c−1 · li (E)2 for 0 < i < m. Applying proposition 6.1 to K and E we see that any nonzero x ∈ K satisfies q(x)2 ≥ l = c1−m · l1 (F1 )2 . By proposition 3.1, the number of x ∈ K with m q(x) ≤ l1 (F1 )2 is at most (1 + 2c(m−1)/2 x and −x  ) . Since  generate the same lattice, it follows that K has at most (1 + 2c(m−1)/2 )m − 1 /2 sublattices M of rank 1 that satisfy d(M ) ≤ l1 (F1 ). Each Fj1 is such an M , and m ≤ n, so the claim follows. In our path, the rank 1 sublattice changes only at steps of colour 1, and at each such step the determinant of that sublattice decreases. Hence our claim implies that we can write the path F1 → · · · → Ft as the union of at most  (1 + 2c(n−1)/2 )n − 1 /2 subpaths connected by steps of colour 1, such that in each of the subpaths the rank 1 sublattice is held fixed. But when the rank 1 sublattice is held equal to M (say), one is really considering flags of the rank n − 1 lattice L/M and paths in Γ(L/M ). Application of the induction hypothesis on n now leads in a straightforward way to the   inequality in proposition 8.1, with A(n, c) = A(n − 1, c) · [ (1 + 2c(n−1)/2 )n − 1 /2].  We can now formulate and prove our main result. Proposition 8.2. For each non-negative integer n there exists a positive integer B = ′ B(n) with the following property. If L is a lattice of rank n, and  F, F are flags of L, then every path from F to F′ in Γ(L) contains at most B · 1 + log(s(F)/s(F′ )) flags. Proof. Fix a real number c with c > 43 , and call a step F1 → F2 in Γ(L) long if it 4c has length greater than 4+c , and short otherwise. Consider any path F → · · · → F′ . If k is the number of long steps, then one k    4c has s(F′ )2 ≤ 4+c ·s(F)2 , so k ·log 4+c ≤ 2 log s(F)/s(F′ ) . Hence the path is the 4c   4c union of at most 1 + 2 log(s(F)/s(F′ )) / log 4+c subpaths connected by long steps, such that each of the subpaths consists of short steps only. By proposition 8.1, the 14 H. W. Lenstra, Jr. number of flags occurring in each of the subpaths is bounded by a function of the rank. The result follows.  The proposition just proved is useful in the analysis of algorithms that involve lattices of fixed rank. When the rank varies, it becomes important to express B(n) as an explicit function of n; in particular, if one wishes such an algorithm to run in polynomial time, one may want to bound B(n) by a polynomial function of n. I do not know whether this is possible. I do know the following much weaker result. Proposition 8.3. The numbers B(n) in proposition 8.2 can be chosen such that in 3 addition one has B(n) = (4/3)n /(12+o(1)) for n → ∞. Proof. Making the proof of proposition 8.2 explicit, one finds a value for B(n) that is a function of c. One may choose c as a function of n that tends to 43 for n → ∞  o(n) 4c ; for example, one may take to be 34 sufficiently slowly for the factor log 4+c 4 1 c = 3 + n . This yields the result of proposition 8.3, but with 6 instead of 12. To achieve 12, one starts by improving proposition 8.1. In the proof of proposition 8.1, we saw that the flags in a path F1 → · · · → Ft consisting of short steps only comprise at most (1+2c(n−1)/2 )n −1 /2 different sublattices M of rank 1. One now   notes that, by duality, they also comprise at most (1+2c(n−1)/2 )n −1 /2 different sublattices N of rank n−1. It follows that there are at most (1+2c(n−1)/2 )n −3 steps of colour 1 or n − 1, and that the path is the union of at most (1 + 2c(n−1)/2 )n − 2 subpaths, connected by steps of colours 1 and n − 1, such that in each of the subpaths both N and M are fixed; it is then really a path in Γ(N/M ), where N/M has rank n − 2. In this manner, one proves that one may take A(n, c) = A(n − 2, c) · (1 + 2c(n−1)/2 )n − 2 in proposition 8.1. This improved bound leads to proposition 8.3.  Acknowledgements The author is grateful to K. I. Aardal and C. A. J. Hurkens for their comments. He was supported by the National Science Foundation under grant number DMS 9224205. References [1] K. I. Aardal, Lattice basis reduction and integer programming, rapport UU-CS1999–37, Informatica Instituut, Universiteit Utrecht, 1999. [2] H. Cohen, A course in computational algebraic number theory, Springer-Verlag, Berlin, 1993. [3] A. K. Lenstra, H. W. Lenstra, Jr. and L. Lovász, Factoring polynomials with rational coefficients, Math. Ann. 261 (1982), 515–534. [4] H. W. Lenstra, Jr., Integer programming with a fixed number of variables, report 81–03, Mathematisch Instituut, Universiteit van Amsterdam, April, 1981. Flags and Lattice Basis Reduction 15 [5] H. W. Lenstra, Jr., Integer programming with a fixed number of variables, Math. Oper. Res. 8 (1983), 538–548. Mathematisch Instituut, Universiteit Leiden, Postbus 9512, 2300 RA Leiden, The Netherlands E-mail address: hwl@math.leidenuniv.nl Department of Mathematics # 3840, University of California, Berkeley, CA 94720–3840, U. S. A.