Covering Convex Bodies and the Closest Vector Problem

We present algorithms for the \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$(1+\epsilon )$$\end{document}(1+ϵ)-approximate version of the closest vector problem for certain norms. The currently fastest algorithm (Dadush and Kun 2016) for general norms in dimension n has running time of \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$2^{O(n)}(1/\epsilon )^n$$\end{document}2O(n)(1/ϵ)n. We improve this substantially in the following two cases. First, for \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\ell _p$$\end{document}ℓp-norms with \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$p>2$$\end{document}p>2 (resp. \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$p \in [1,2]$$\end{document}p∈[1,2]) fixed, we present an algorithm with a running time of \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$2^{O(n)}(1+1/\epsilon )^{n/2}$$\end{document}2O(n)(1+1/ϵ)n/2 (resp. \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$2^{O(n)} (1+1/\epsilon )^{n/p}$$\end{document}2O(n)(1+1/ϵ)n/p). This result is based on a geometric covering problem, that was introduced in the context of CVP by Eisenbrand et al.: How many convex bodies are needed to cover the ball of the norm such that, if scaled by factor 2 around their centroids, each one is contained in the \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$(1+\epsilon )$$\end{document}(1+ϵ)-scaled homothet of the norm ball? We provide upper bounds for this \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$(2,\epsilon )$$\end{document}(2,ϵ)-covering number by exploiting the modulus of smoothness of the \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\ell _p$$\end{document}ℓp-balls. Applying a covering scheme, we can boost any 2-approximation algorithm for CVP to a \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$(1+\epsilon )$$\end{document}(1+ϵ)-approximation algorithm with the improved run time, either using a straightforward sampling routine or using the deterministic algorithm of Dadush for the construction of an epsilon net. Second, we consider polyhedral and zonotopal norms. For centrally symmetric polytopes (resp. zonotopes) in \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${\mathbb R}^n$$\end{document}Rn with O(n) facets (resp. generated by O(n) line segments), we provide a deterministic \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$O(\log _2(2+1/\epsilon ))^{O(n)}$$\end{document}O(log2(2+1/ϵ))O(n) time algorithm. This generalizes the result of Eisenbrand et al. which applies to the \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\ell _\infty $$\end{document}ℓ∞-norm. Finally, we establish a connection between the modulus of smoothness and lattice sparsification. As a consequence, using the enumeration and sparsification tools developped by Dadush, Kun, Peikert, and Vempala, we present a simple alternative to the boosting procedure with the same time and space requirement for \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\ell _p$$\end{document}ℓp norms. This connection might be of independent interest.


Introduction
The closest vector problem (CVP) is an important algorithmic problem in the geometry of numbers. Given a rational lattice (A) = {Ax : x ∈ Z n }, with A ∈ Q n×n and a target vector t ∈ Q n , the task is to find a close vector in L to t with respect to a given norm. Specifically, given some norm · K , a (1 + )-approximation to the closest vector problem, (1 + )-CVP K , is to find a lattice vector whose distance to the target vector is at most 1 + times the minimal distance of the target to the lattice. Whenever K is the unit ball of the space n p for some 1 ≤ p ≤ ∞, we denote the problem by (1 + )-CVP p . The closely related shortest vector problem (SVP) asks for the shortest non-zero lattice vector in a given lattice. It was shown that CVP is NP-hard for any p norm [18] and even NP-hard to approximate up to almost polynomial factors, [7,15].
The first algorithm to solve integer programming and, in particular, exact CVP ∞ was given by Lenstra [22] with a running time of 2 O(n 2 ) . His algorithm connects the two fields of geometry of numbers and integer programming. Kannan [21] presented an algorithm for exact CVP (and SVP) with a running time of n O(n) and polynomial space. Subsequent works improve on the constant in the exponent but improving the running time of n O(n) to single exponential in n remained an open problem. After Kannan's result, it took almost 15 years until Ajtai, Kumar, and Sivakumar presented a randomized algorithm for SVP 2 with time and space 2 O(n) and (1 + )-CVP 2 with time and space 2 (1+1/ )n [5,6]. Subsequently, Blömer and Naewe [9] extended the randomized sieving algorithm of Ajtai et al. to solve (1 + )-CVP p for all p in time O(1+1/ ) 2n and space O(1+1/ ) n , see also [3,27]. For p = ∞, Eisenbrand et al. [17] then boosted the algorithm of Blömer and Naewe by showing that 2 O(n) log(2 + 1/ ) n calls to a 2-CVP ∞ solver suffice to solve (1 + )-CVP ∞ implying a running time of O (log(2 + 1/ )) n and space requirement 2 O(n) . Dadush [11] extended the Ajtai-Kumar-Sivakumar sieve to solve (1 + )-CVP in any norm with a running time of O (1 + 1/ ) 2n and space O (1 + 1/ ) n . The first single exponential deterministic and exact solver for CVP 2 was presented by Micciancio and Voulgaris [25]. Their algorithm needs to store the up to 2(2 n − 1) facets of the Voronoi cell of the lattice. Recently in [20], Hunkenschröder, Reuland, and Schymura show that this can be avoided and do a first step towards a polynomial space algorithm for CVP 2 . The currently fastest algorithms for exact CVP 2 and SVP 2 use discrete Gaussian sampling and need time and space 2 n+o(n) , see [2,4]. Despite this progress for the 2 norm, for general norms, only the randomized sieving approach seemed available to solve CVP. Using the elegant idea of lattice sparsification, Dadush and Kun [13] presented a deterministic algorithm solving (1 + )-CVP for any norm in time 2 O(n) (1 + 1/ ) n and with space requirement 2 n poly(n)-reducing the dependence on 1/ in the running time and removing the dependence on 1/ in the space requirement altogether compared with earlier randomized sieving approaches.

Our Contribution
In order to devise more efficient algorithms for CVP K (and, in particular CVP p ), we study the problem of how many arbitrarily chosen convex bodies are needed to cover some given convex body K , such that when scaled around their respective centroids by a factor 2, each one is contained in (1 + )K . We refer to such a covering as a (2, )-covering for K , and the smallest size of such a covering as the (2, )-covering number of K .
A key quantity, well studied in the theory of Banach spaces, is the modulus of smoothness of a convex body K , which expresses how well the boundary of K is approximated locally by support hyperplanes, see Definition 3.1.
In this paper the big oh notation, O( · ), stands for a universal multiplicative constant independent of every other quantity. In particular, we make the dependence on and n explicit.
• By a standard argument, we show that for any centrally symmetric convex body, a (2, )-covering is always possible using 2 O(n) (1 + 1/ ) n convex bodies. Then, in Theorem 2.7, we establish a lower bound of 2 −O(n) (1 + 1/ ) n/2 for the Euclidean unit ball. • For centrally symmetric polytopes (resp. zonotopes) with m facets (resp. m generating line segments), we provide an explicit (2, )-covering using at most O (log(2 + 1/ )) m convex bodies, see Propositions 2.5 and 2.6. These are relatively straightforward generalizations of the method of [17] where the cube is considered. • Our first main result is Theorem 3.2, where it is shown that a bound on the modulus of smoothness of K yields a bound on its (2, )-covering number. More specifically, if K has modulus of smoothness bounded above by Cτ q , then we find a (2, )covering of K using C O(n) (1 + 1/ ) n/q convex bodies. In particular, we obtain a (2, )-covering for p balls using 2 O(n) ( [12] to explicitly enumerate the covering using polynomial space only, derandomizing the algorithm. This is our third main result, see Theorem 4.6. Compared to earlier results in the literature, for instance [9,13], we improve on the previous best running times of O (1 + 1/ ) n for p norms. Furthermore, our approach immediately generalizes to non-symmetric norms and we obtain a simple CVP solver for γ -symmetric norms with running time (1 + 1/(γ )) n and space requirement 2 O(n) based on the Ajtai-Kumar-Sivakumar sieve, see Remark 4.7. This almost matches the performance of Dadush and Kun's algorithm. • Finally, we establish a connection between lattice sparsification and the modulus of smoothness, see Lemma 5.2. While the boosting approach described in Sects. 3 and 4 is conceptually very simple and general, and it does not require any knowledge about the approximate CVP solver used, the proofs are quite technical. We will show that we can tweak the algorithm described by Dadush and Kun in [13] using a simple observation based on the modulus of smoothness in order to obtain the same improved running time for CVP for norms with a certain modulus of smoothness, in particular CVP p . With this new approach, we restrict ourselves to using lattice sparsification and enumeration and we lose the possibility to use an arbitrary constant approximation CVP-solver. Considering the low space dependency of lattice sparsification and enumeration among all known (single exponential) approximate CVP solvers and the simplicity of our approach, this might not be a big loss.
It should be noted here that a seemingly similar (with respect to ) bound on the (2, )-covering number follows from recent work of Arya et al. [8] (see also [1]). Using Macbeath regions, they approximate any convex body with a polytope with at most n O(n) −(n−1)/2 faces of all dimensions in total, provided that n −n . It is then straightforward to show that this can be turned into a (2, )-covering using roughly n O(n) −(n−1)/2 convex bodies. Unfortunately, for the purpose of designing approximation algorithms for lattice problems, this is of little use, as already the n O(n) factor is prohibitively high considering that the exact solver of Kannan runs in n O(n) time. Moreover, any approximation based on Macbeath regions requires n −n , which is too strong a restriction for integer programming related applications. Nonetheless, their result shows that for sufficiently small, any convex body admits a (2, )-covering using O(1+1/ ) n/2 convex bodies and raises the question whether the restriction on can be removed in general. As mentioned above, in the present work, the dimension n is not considered constant, and dependence on it is made explicit everywhere.
The structure of the paper is the following. In Sect. 2, we list basic facts about (2, )-coverings and prove upper bounds on the (2, )-covering number of symmetric polytopes and zonotopes (Propositions 2.5 and 2.6). In Theorem 2.7, a lower bound on the covering number of the Euclidean ball is presented. In Sect. 3, it is shown how a bound on the modulus of smoothness yields a bound on the (2, )-covering number. In Sect. 4, we apply our covering bounds to obtain efficient algorithms for (1 + )-CVP. Finally, Sect. 5 contains Theorem 5.5, which presents another (1 + )-CVP solver for bodies with a well bounded modulus of convexity, based on efficient lattice sparsification and lattice enumeration algorithms.

(2, )-Coverings
We denote the homothetic copy of a convex body Q by factor λ ∈ R with respect to its centroid (also called, center of mass) c(Q) by λ Q = λ(Q − c(Q)) + c(Q). The following notion is central to our study.
We note that we have fixed the factor 2 for concreteness, we could replace 2 by any other constant. For this reason we will assume ∈ (0, 1). The following three lemmas follow directly from standard packing arguments, we include a proof in the appendix.

Lemma 2.2
Any origin symmetric convex body K ⊆ R n admits a (2, )-covering by at most (5/ ) n homothetic copies of K .
We also note that it is sufficient to consider coverings by centrally symmetric convex bodies only.

Lemma 2.3
Let K be a convex body in R n that admits a (2, )-covering consisting of N convex bodies. Then, K admits a (2, )-covering consisting of 10 n N centrally symmetric convex bodies. Lemma 2.4 Any convex body K ⊆ R n with 0 as its centroid has a (2, )-covering by at most N = (10/ ) n translated copies of ( /2)(K ∩ −K ).
In the particular case of the cube, in [17], Eisenbrand et al. found a (2, )-covering that requires (1 + 2 log 2 (1 + 1/ )) n parallelepipeds. The following two propositions show that their method generally works for any zonotope or any centrally symmetric polytope.
A zonotope is the Minkowski sum of finitely many line segments, We refer to the b i as the generators of Z. If m = n and b i = e i , i = 1, . . . , n, then this zonotope is the unit cube. A zonotope with m generators can have up to 2 m n−1 facets; when no n of the generators are linearly dependent, this bound is attained, as is not difficult to see.
In the following two propositions, we give upper bounds for the (2, )-covering of zonotopes with a bounded number of generators and for polytopes with a bounded number of facets. We include these proof in the appendix.
Finally, we prove a lower bound on the (2, )-covering number of the Euclidean unit ball B n 2 which, by Corollary 3.4, is sharp, up to a logarithmic factor.
. This implies p, p + ( p − c) ≤ 1 + and we obtain the following contradiction: Also by the definition of a (2, )-covering, we need c ≤ 1 + . Thus, we can show p − c is small: Thus, for every Q i , Q i ∩ S n−1 is contained in a cap of radius √ 5 . Denoting by σ ( · ) the uniform probability measure on the sphere, this means that for any convex body . Since a (2, )-covering of B n 2 needs to cover all of S n−1 , we obtain the desired lower bound on N .

(2, )-Coverings via Modulus of Smoothness
For a convex body K , we will consider its gauge function · K , defined by x K = inf {s : x ∈ s K }. If K is origin symmetric, then · K defines a norm.

Definition 3.1 (modulus of smoothness)
The modulus of smoothness of an originsymmetric convex body K , ρ K (τ ) : (0, 1) → (0, 1), is defined by We remark first that any origin symmetric body K has modulus of smoothness ρ K (τ ) ≤ τ , this follows from the subadditivity of the norm. The modulus of smoothness of K measures how well K can be locally approximated by hyperplanes: If x K = 1 and τ y K = τ and both x + y and x − y lie on a support hyperplane of K at x, then both x + τ y K , x − τ y K ≥ 1, but we also have the upper bound of If ρ K (τ ) can be bounded by a polynomial of degree higher than 1, say τ 2 , then x ± τ y are closer to the boundary of K compared to what subadditivity, x ± τ y K ≤ x K + τ y K , alone yields. Still assuming ρ K (τ ) ≤ τ 2 and letting ∈ (0, 1), this means that all points y ∈ K with x − y ≤ √ are approximated up to an additive by the tangential hyperplane at x. This behaviour of some norms is exploited in the next theorem. Theorem 3.2 Let K ⊆ R n be an origin symmetric convex body, and ∈ (0, 1). Assume that the modulus of smoothness of K is bounded by centrally symmetric convex bodies. The encoding length of each such body is a polynomial in the encoding length of K .
Proof Set δ = ( /C) 1/q /4. We may assume that ≤ (1/(8C 1/q )) q/(q−1) , in which case δ − ≥ δ/2. Otherwise, we may apply Lemma 2.2 and obtain a (2, )-covering of K consisting of O(C) n/(q−1) bodies. We denote · K by · . We first describe a (2, 2 )-covering of K only in the neighborhood of a point and then, using a packing argument, we extend this construction to obtain a (2, 2 )covering for all of K .
Fix a point p on the boundary of K that is, p = 1. Denote by T p a supporting hyperplane of K at p. Let B p be the intersection of Indeed, let q be a point in bd(K)∩( p+(δ− )K ), and let L denote the two-dimensional linear plane spanned by p, q and the origin o, see Fig. 1. Clearly, L ∩ T p is a line, and there are two points on this line at distance δ from p. Let s denote the point of these two which is on the same side of the line op as q. That is, s is a point on the lateral surface of the cone conv(0, B p ). By the assumption on the modulus of smoothness  (1) of K , we have s := s/ s is at distance at most from s (a detailed computation of a similar fact is given below in this proof). Thus, Now, L is a normed plane with unit circle K ∩ L and p is a unit vector in L. It is a classical fact in the theory of normed planes [24,Prop. 31] that as a point moves along the curve K ∩ L starting at p and ending at − p, the distance (w.r.t. · K ) of the moving point to p is increasing. Thus, by (2), the arc of K ∩ L between p and s contains q, which yields that q is in the cone conv(0, B p ), proving (1). Next, instead of the cone conv(0, B p ), we will consider the cylinder Clearly, we have conv(0, B p ) ⊆ C p . We may assume that is of the form = , consider the following slice of C p : Clearly We will show that p + 2(z − p) ≤ 1 + 2 . Since both p and z lie in T p , then so do p + 2(z − p) and p + 2( p − z), and thus, we have p + 2(z − p) , p + 2( p − z) ≥ 1. One has 2(z − p) ≤ 2δ = ( /C) 1/q /2 and so by the assumption on the modulus of smoothness of K , we obtain Thus, C p ⊆ (1 + 2 )K , and hence, (1), all points on the boundary of K at distance at most δ − from p are covered by C p , we see that all points x, such that x/ x − p ≤ δ − are covered by one of the slices of C p . Thus, in order to extend the above construction to a (2, 2 )-covering of K , we pick points Thus, we obtain a (2, 2 )-covering for K by constructing C p i for each i ∈ [N ] and slicing each C p i as in (3). Finally, replacing by /2, we indeed get a (2, )-covering of K using 2 O(n) (C/ ) n/q log(1/ ) convex bodies, each described by a polynomial in the encoding length of K , see [19].

Using (2, )-Coverings for the Closest Vector Problem
We first recall the goal and some important notions of this section: We are given a rational lattice (A) = {Ax : x ∈ Z n }, with A ∈ Q n×n and a target vector t ∈ Q n , and we would like to solve (1 + )-approximate CVP K , i.e., find a lattice vector if K is origin symmetric and convex, this defines a norm. If 0 is not the center of symmetry but in the interior of K then we lose the symmetry, i.e., x K = − x K . We denote by b the encoding length of the relevant input: A, t, , encoding length of K , etc.
In this section, we will first describe how a (2, )-covering for K using N convex bodies boosts any 2-CVP solver for general norms to a (1 + )-CVP K solver at the expense of a factor N 2 O(n) poly(b, 1/ ) in the running time. This algorithm, together with the construction of Propositions 2.5 and 2.6 directly implies a (1+ )-CVP solver for polytopes and zonotopes with running time of 2 O(n+m) (log(1+1/ )) m times some polynomial in b and n and with space requirement that of the 2-CVP solver used.
Next, we are going to adapt the construction of Theorem 3.2 to yield a randomized algorithm, that for some fixed point p ∈ K , generates a local (2, )-covering for K containing p. This yields a randomized (1 + )-CVP solver with the improved running time for p norms and with space requirement only depending on that of the 2-approximate CVP solver used. This construction can also be derandomized.
The boosting procedure we are going to describe assumes that we are able to sample uniformly within K and that we can calculate a separating hyperplane at any point on the boundary of K . However, if only a weak membership and a weak separation oracle is provided, the procedure can be adapted such that it suffices to sample almost uniformly, see the algorithm of Dyer et al. [16], and to only calculate a weakly separating hyperplane. We neglect this implementation detail.
As for the convex body K , we assume that n −3/2 B n 2 ⊆ K ⊆ B n 2 , and thus, This can be ensured by applying an affine transformation, which is polynomial in the input size of K , to both K and the lattice (A), see [19]. For concreteness, we choose to use the elegant and currently fastest algorithm for general norms by Dadush and Kun as our 2-CVP solver.  Proof We may multiply (A) and t by the least common multiple of the denominators of the n 2 entries of A and the n entries of t. The resulting lattice and target are integral, (Ã) ∈ Z n×n andt ∈ Z n . Since the lowest common multiple is bounded by 2 (n 2 +n)b , the resulting basis ofÃ has Euclidean length at most 2 (n 2 +n)b . Assuming t / ∈ (A), we see that By our assumption (4), we have be the given (2, )-covering for K , where the origin is the centroid of each of the Q i .
For our algorithm, for any norm · Q , we assume that the 2-approximate CVP Q algorithm that we use with target t only returns a lattice vector v if t − v Q ≤ 2.
We want to find f such that c i + (1 + ) f Q i contains a lattice vector for some i ∈ [N ], but c i + (1 + ) f −1 Q i contains no lattice vector for any i ∈ [N ]. As in [17], we apply a binary search for f . It is immediate that for any λ > 0, {λQ i + λc i } N i=1 is a (2, )-covering for λK . Thus if, for some L and U at step (iib), no lattice vector v is returned, then the following invariant is maintained: If the algorithm terminates, then U − L ≤ 3 since U and L are both integers. Thus, because of the above invariant, the lattice vector x ∈ (A) returned satisfies It remains to be shown that the binary search terminates in O((log n + log b)/ ) steps. Indeed, for some U and L, let U new , L new be the U and L after having executed step at the beginning of the algorithm, we are done after log 5/4 (log 1+ (n 5/2 2 (n 2 +n)b )) = O (log(1 + 1/ )(log n + log b)) iterations.

Corollary 4.3 ((1 + )-approximate CVP for polytopes and zonotopes) Let K be a full-dimensional origin symmetric polytope with m facets or a full-dimensional zonotope with m generators (in particular, m ≥ n). Then for any
Proof Replace by /7 and run the algorithm in Theorem 4.2 on a (2, )-covering of K constructed in the proof of Propositions 2.5 or 2.6. To avoid a space requirement depending on the number of convex bodies N required in the (2, )-covering for K , every time we call step (iia) of the algorithm, for each i ∈ [N ], we first calculate Q i and then run the appropriately scaled 2-approximate CVP instance.

Remark 4.4
The preceding corollary is the reason why we opted to describe a (2, )covering with symmetric convex bodies for symmetric polytopes in Proposition 2.6: The algorithm of Dadush and Kun can handle non-symmetric norms · K , provided 0 is in some sense "close" to the centroid of K , for more details see [13]. Since calculating deterministically the centroid is a hard problem and no efficient algorithms are known, see [28], we would most likely have to resort to a randomized algorithm to approximate the centroid which in turn randomizes our boosting procedure. • For all i , c i + 2Q i ⊆ (1 + )K .
• For q ∈ K , the probability that q is contained in c i + Q i for some i is greater than min (2 −cn C −n/q −n/q , (8 q C) −n/(q−1) ).
Proof Set ← /3. If > (1/(8C 1/q )) q/(q−1) , we uniformly sample a point x from (1 + )K and return K and x. Any point in K has probability greater or equal than 1 + n of being covered by x + K . If ≤ (1/(8C 1/q )) q/(q−1) , similarly as in Theorem 3.2, we set δ = ( /C) 1/q /4. We uniformly sample a point x from (1 + δ/4)K . Let p = x/ x and for i ∈ [log(1/ )], consider the slices C p (i) of C p as in (3) in the proof of Theorem 3.2. For all such C p (i), denoting by c(C p (i)) its centroid, we return the origin symmetric convex bodies {C p (i) − c(C p (i))} and the translations {c(C p (i))}.
Next, fix a point q ∈ K . With probability greater or equal to In that case, q/( q − p) ≤ δ/2 ≤ δ − and thus, C p as in (3) of Theorem 3.2 contains q. It follows that for some c > 0 independent of n, C, and q, with probability greater or equal to 2 −cn C −n/q n/q one of the cylinders C p (i) contain q.
The next theorem combines the algorithms of Theorems 4.5 and 4.2 to yield an efficient (1 + )-approximate CVP solver for norms with a well bounded modulus of smoothness. Theorem 4.6 (boosting 2-CVP for a body with small modulus of smoothness) Let K be a origin symmetric convex body with modulus of smoothness ρ K (τ ) ≤ Cτ q , with C, q > 1.
Then the algorithm presented in the proof solves (1 + )-CVP K with probability at least 1 − 2 −n . Its running time is O (poly(n, b, log(1/ ))(2 O(n) C n/q (1/ ) n/q + O(C) n/(q−1) )), and the space requirement is equal to that of a 2-CVP solver that handles any norm.
Proof We set ← /7 and without loss of generality, we may assume We again assume that, for any norm · Q , the 2-CVP Q with target t only returns a lattice vector v if t − v Q ≤ 2, if there is no such v, it returns nothing.
Correctness of the algorithm follows from Theorem 4.2, provided step (ii) runs correctly (i.e., correctly detects whether there is a lattice point or not with high probability) for all O (log(1/ )(log n + log b)) iterations. To verify this, let v ∈ L be some lattice vector contained in a homothet of K at some fixed iteration of the algorithm. With probability p = 2 −cn C −n/q (1/ ) n/q or (1/(8 q C)) 1/(q−1) respectively, one of the convex bodies returned by one run of Theorem 4.5 contains v. Thus, repeating step (iia) n(2 cn C n/q (1/ ) n/q + (8 q C) 1/(q−1) ) times, with probability greater than 1 − 2 −n , v is contained in one of the convex bodies returned and step (ii) runs correctly. Since step (ii) needs to run correctly each of the O (log(1/ )(log n + log b)) iterations necessary to find the correct U and L, by the union bound, it is sufficient to set N = O (n log(log(1/ )(log n + log b))2 cn C n/q (1/ ) n/q + (8 q C) 1/(q−1) ) to guarantee a success probability of 1 − 2 −n . This implies the bound on the running time.
In our proof of Theorem 4.6, instead of applying our local covering algorithm, Theorem 4.5, we could use a recent result of Dadush [12,Thm. 4.1]. There, a deterministic algorithm is presented to build and iterate over an epsilon net in 2 O(n) (1 + 1/ ) n time and poly(n) space. For symmetric convex bodies with modulus of smoothness bounded by Cτ q , we may apply this result with O( 1/q ), as in Theorem 4.5, in place of to build a covering of size O(1/ ) n/q . This would replace the sampling part in Theorem 4.5 and thus derandomizes our boosting procedure.

Remark 4.7
One may consider convex bodies that are not necessarily origin symmetric. Assume that a convex body K is γ -symmetric, that is, vol(K ∩ −K ) ≥ γ n vol(K ). Then the result of Dadush and Kun (Theorem 4.1) still applies (see [13]), and it is straightforward to modify the above algorithm to obtain a (1 + )-approximate CVP algorithm for · K using 2 O(n) (1/(γ )) n calls to a 2-approximate CVP algorithm handling any symmetric norm, for instance the AKS based algorithm of Dadush [11], resulting in an algorithm with time O (1/(γ )) n and space 2 O(n) . We essentially use Theorem 4.5 with q = 1: we sample a point p in (1+ /3)K and output ( /3)(K ∩−K ) and p. Thus, each point in K has probability greater or equal to 2 −O(n) (1/(γ )) n of being covered.

Sparsifiers and the Modulus of Smoothness
In this section we describe a surprising connection between lattice sparsifiers as used by Dadush and Kun and the modulus of smoothness. Informally, our main technical contribution is the observation that for a lattice-point-free convex body K with modulus of smoothness bounded by Cτ q , a O( 1/q )-sparsifier for K preserves the metric information up to an additive error of O( ). We will show that we can tweak the algorithm of Dadush and Kun using this simple observation in order to match the running time of the preceding boosting procedure. We will only consider origin symmetric-convex bodies K ⊆ R n . Definition 5.1 (lattice sparsifier for origin symmetric K [13]) Let K ⊆ R n be an origin-symmetric convex body, L be an n-dimensional lattice and δ > 0. A (K , δ) sparsifier for L is a sublattice L ⊆ L satisfying where G(K , L) denotes the maximal number of lattice vector any translate of K can contain, formally: By a covering argument (see [13,Lem. 2 These two conditions ensure that the resulting lattice L is thinned out according to the geometry of K : the first condition guarantees that K (or a dilate of K ) cannot contain too many lattice vectors of L (hence enumeration is not too costly), but, by the second condition, L is rather close to L and thus serves as a good approximation.
We now come to the main observation: Lemma 5.2 Let K be an origin symmetric convex body with modulus of smoothness bounded by ρ K ≤ Cτ q , q ≥ 1, L a lattice and t ∈ R n a target vector. Assume that t + K does not contain any lattice vector v ∈ L in its interior. Let L be a (K , 1/q ) sparsifier for L. Then Proof Denote by v ∈ L a closest lattice vector to t, and set R := d K (L, t). Clearly, R = v − t K ≥ 1. By the second condition of the sparsifier, there is a lattice vector w ∈ L with w − v K ≤ 1/q . Denoting by y := w − v ∈ L, the definition of the modulus of smoothness yields where we used the fact that v − y ∈ L, and hence, (v − y) − t K ≥ R. Multiplying the inequality by R and observing that R, q ≥ 1 completes the proof of Lemma 5.2.
Next, we present the algorithmic application of the previous lemma to the (1 + )approximate Closest Vector Problem under a symmetric norm. We adopt the same notation as in Sect. 4. We may assume that t ∈ Z n , L(A) ⊆ Z n and t ∞ , A ∞ ≤ 2 (n 2 +n)b . We assume n −3/2 B n 2 ⊆ K ⊆ (1/2) B n 2 . Thus, d K (L, t) ≤ 2n 5/2 2 (n 2 +n)b , and, if t / ∈ L(A), t + K does not contain a lattice vector. We will need the following two algorithms. Theorem 5.3 (Lattice-Enumerator(K , t, L, ) [14]) Let L(A) be a lattice, K a convex body in R n and > 0. There is a deterministic algorithm that outputs all S such that We now combine these two theorems with Lemma 5.2.

Theorem 5.5
There is an algorithm (described in the proof) that for an origin symmetric convex body K in R n , with modulus of smoothness bounded by ρ K ≤ Cτ q with some C, q ≥ 1, solves (1 + )-CVP K for any lattice L and target vector t ∈ R n in time O((C/ ) n/q ) poly(n, b) and space 2 n poly(n, b).
Proof We may assume ≤ 1. If t ∈ L(A) (this can be checked in poly(n, b) time), return t. Else, set¯ = /(4C) and d = 0 and apply the following algorithm.
(i) Set K d = 2 d K .
Let k be the largest positive integer such that t + K k does not contain a lattice vector. First, we claim that the algorithm will terminate at iteration d ≤ k. Indeed, since t + 2K k = t + K k+1 contains a lattice vector of L, by Lemma 5.2, (2 + )K k contains a lattice vector of L , and hence, the algorithm will terminate at d = k, or before.
To bound the error, we assume that the algorithm terminated at iteration d. By the previous paragraph, t + K d does not contain a lattice vector, and thus, Let v denote the lattice vector returned by Lattice-Enumerator((2 + )K d , t, L , ). By Lemma 5.2, we only have an additive error of 2C¯ = /2 with respect to · K d , that is, which, by (5) yields Funding Open access funding provided by the Eötvös Loránd University.
Open Access This article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article's Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article's Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit http://creativecommons.org/licenses/by/4.0/.

Appendix: Proof of Some Lemmas
Proof of Lemma 2. 2 We cover K greedily by copies of ( /2)K as follows. If after selecting i − 1 homothetic copies of K there is a point p i ∈ K not yet covered, we take Q i = p i + ( /2)K . To see that after N ≤ (5/ ) n steps, all points of K are covered, we notice that the sets (1/2) Q i are non-overlapping, and are contained in (1 + /4)K ⊆ (5/4)K . Taking the volume of these sets, we obtain the desired bound.

Proof of Lemma 2.3 Let
be a (2, )-covering of K . For each i ∈ [N ], we will find a (2, 1)-covering for Q i using at most 10 n centrally symmetric convex bodies. Thus, the union of these at most 10 n N symmetric sets will yield a (2, )-covering of K . To see thatQ i + {b 1 , . . . , b m } is (2, 1)-covering of Q i , note that 2Q i ⊆ (Q i − c(Q i )), and hence b k + 2Q i ⊆ Q i + (Q i − c(Q i )) = 2 Q i , as required.

Proof of Lemma 2.4
The same argument as that used in the proof of Lemma 2.2 combined with (6) yields it.
Proof of Proposition 2. 6 We may assume that = ((4/3) k − 1) −1 for some positive integer k. For α ∈ [k] m and δ ∈ {±1} m , consider the following polytopesQ(α, δ): For each facet direction |a T i x| ≤ b i , scaling each of the resulting (non-empty)Q around any point in its interior by a factor 4, it is straightforward to check that the resulting convex body is contained inside {x ∈ R n : |a T i x| ≤ (1 + )b i }. It follows that each such non-empty polyhedronQ can be scaled by a factor 4 around any point in it and the resulting polytope is still contained inside (1 + ) P and it is clear that P is contained in the union of theQ(α, δ).