Professional Documents
Culture Documents
Closest Point Search in Lattices PDF
Closest Point Search in Lattices PDF
Abstract—In this semitutorial paper, a comprehensive survey of where . The Voronoi diagram of a lattice is the set of
closest point search methods for lattices without a regular structure all its Voronoi regions. It is known [23] that the Voronoi regions
is presented. The existing search strategies are described in a uni- are convex polytopes, that they are symmetrical with re-
fied framework, and differences between them are elucidated. An
efficient closest point search algorithm, based on the Schnorr–Eu- spect to reflection in , and that they are translations of ,
chner variation of the Pohst method, is implemented. Given an ar- where is the origin of .
bitrary point 3
and a generator matrix for a lattice , the al- In communication theory, lattices are used for both modu-
3
gorithm computes the point of that is closest to . The algorithm lation and quantization. If a lattice is used as a code for the
is shown to be substantially faster than other known methods, by Gaussian channel, maximum-likelihood decoding in the demod-
means of a theoretical comparison with the Kannan algorithm and
an experimental comparison with the Pohst algorithm and its vari- ulator is a closest point search. The decoding of space–time
ants, such as the recent Viterbo–Boutros decoder. Modifications of codes is one example [16], [17], [25]. Analogously, if a lattice
the algorithm are developed to solve a number of related search is used as a codebook for vector quantization and the mean-
problems for lattices, such as finding a shortest vector, determining squared-error criterion is used, then the encoding of each input
the kissing number, computing the Voronoi-relevant vectors, and vector is also a closest point search. Furthermore, if the lattice
finding a Korkine–Zolotareff reduced basis.
is truncated into a so-called Voronoi code [21], another instance
Index Terms—Closest point search, kissing number, Korkine– of the closest point problem arises at the opposite end of the
Zolotareff (KZ) reduction, lattice decoding, lattice quantization,
nearest neighbor, shortest vector, Voronoi diagram.
communication system, in the source decoder and in the mod-
ulator. Typical for these applications in communications is that
the same lattice is decoded numerous times for different input
I. INTRODUCTION vectors.
Other applications where the closest point problem arises in-
I N lattice theory, a generator matrix is any matrix with real
entries whose rows are linearly independent over . We let
and denote the number of rows and columns of , respec-
clude lattice design [3] and Monte Carlo second-moment esti-
mation [22]. In both cases, random vectors are generated uni-
tively. Hence . The lattice generated by is formly in a Voronoi region of a lattice using closest point search.
The closely related shortest vector problem has been used in
assessing the quality of noncryptographic random number gen-
The rows of are called basis vectors for , and the number erators [50, pp. 89–113] and in decoding of Chinese remainder
of basis vectors is said to be the dimension of . codes [38], [40]. It also has important applications in cryptog-
The closest point problem is the problem of finding, for raphy [5], [7]. Another related problem of paramount impor-
a given lattice and a given input point , a vector tance in cryptography [13], [70] is that of lattice basis reduction.
such that These search problems will be discussed in Section VI.
The choice of method for solving the closest point problem
for all depends on the structure of the lattice. Intuitively, the more
where denotes the Euclidean norm. In channel coding, the structure a lattice has, the faster can the closest point be found.
closest point problem is referred to as decoding, and we adopt For many classical lattices, efficient search methods are known
this terminology herein. Note, however, that in source coding, [23, Ch. 20], [75]. A more general approach is to represent a lat-
this problem is called encoding (see below). tice by a trellis [72] and use a trellis decoding algorithm such as
The Voronoi region of a lattice point is the set of all vectors the Viterbi algorithm [11], [33], [34], [76]. However, finite-state
in that can be decoded to this point, namely trellises exist if and only if the lattice contains mutually or-
thogonal vectors, and even then decoding complexity quickly
becomes prohibitive [73].
Herein, we address the problem of finding the closest point
Manuscript received December 4, 2000; revised October 5, 2001. This work
was supported in part by the National Science Foundation, the David and Lucile in a general lattice: we assume that it has no exploitable struc-
Packard Foundation, and Stiftelsen ISS ’90. ture. One situation where this problem arises is when a generator
E. Agrell and T. Eriksson are with the Department of Signals and Systems, matrix is continuously adjusted, e.g., in numerical lattice design
Chalmers University of Technology, S-412 96 Göteborg, Sweden. (e-mail:
agrell@s2.chalmers.se; thomase@s2.chalmers.se). [3]. Another important application of this problem is cryptanal-
A. Vardy and K. Zeger are with the Department of Electrical and Computer ysis [13], [68]. Yet another example is frequency estimation and
Engineering, University of California, San Diego, La Jolla, CA 92093-0407 phase unwrapping [19].
USA (e-mail: vardy@montblanc.ucsd.edu; zeger@ucsd.edu).
Communicated by P. Solé, Associate Editor for Coding Theory. The complexity of the general closest point problem as
Publisher Item Identifier 10.1109/TIT.2002.800499. a function of the dimension was analyzed by van Emde
0018-9448/02$17.00 © 2002 IEEE
2202 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 48, NO. 8, AUGUST 2002
Boas [74] two decades ago, who showed that this problem cryptosystem [68]. Thus, although the question “What is the
is NP-hard. Micciancio gave a simpler proof in [55]. Thus, best (fastest) algorithm currently available for decoding a
all known algorithms for solving the problem optimally have general lattice?” frequently arises in communication practice,
exponential complexity. It is known [9] that finding an ap- the answer to this question is not immediately clear.
proximate solution, such that the ratio between the distance In this paper, we first describe the two main decoding
found and the true distance is upper-bounded by a constant, strategies, due to Pohst and to Kannan, in a unified framework,
is also NP-hard. Even finding a suboptimal solution within a which makes it possible to elucidate the similarities and the
factor for some constant is NP-hard [27]. differences between them. This is done in Section III-A, where
Nevertheless, algorithms that find a suboptimal solution are we also discuss the Babai nearest plane algorithm [10] and
faster and can handle higher dimensions [52]. the Schnorr–Euchner refinement of the Pohst strategy. In
A common approach to the general closest point problem Section III-B, we present a stand-alone implementation of
is to identify a certain region in within which the optimal what we believe is the fastest closest point search algorithm
lattice point must lie, and then investigate all lattice points in currently available for general lattices. The algorithm is based
this region, possibly reducing its size dynamically. The earliest on the Schnorr–Euchner [67] strategy, bootstrapped with the
work in the field was done for the shortest vector problem (see Babai [10] nearest point. It is described in sufficient detail
Section VI-A) in the context of assessing the quality of certain to allow straightforward implementation, without knowledge
random number generators (cf. [24], [26] and [50, pp. 89–101, of the underlying theory. One of the main contributions of
110]). The finite region searched in these algorithms is a paral- this paper is a theoretical and experimental comparison of
lelepiped, with its axes parallel to the basis vectors. the various closest point search algorithms, presented in
In general, the development of closest point algorithms fol- Sections V and VII, respectively. We also show in Section IV
lows two main branches, inspired by two seminal papers: Pohst how a carefully selected preprocessing stage can reduce the
[63] in 1981 examined lattice points lying inside a hypersphere, complexity of the closest point search even further. Finally, we
whereas Kannan [46] in 1983 used a rectangular parallelepiped. describe in Section VI several modifications to the algorithm of
Both papers later appeared in revised and extended versions, Section III-B designed to solve numerous related lattice-search
Pohst’s as [30] and Kannan’s (following the work of Helfrich problems, such as finding a shortest vector, determining the
[42]) as [47]. The Pohst and Kannan strategies are discussed in kissing number, computing the Voronoi-relevant vectors, and
greater detail in Section III-A. finding a Korkine–Zolotareff reduced basis.
A crucial parameter for the performance of these algorithms
is the initial size of the search region. Some suggestions to this II. PRELIMINARIES
point were given in [62], [78] for the Pohst strategy and in [12] We say that two lattices are identical if all lattice points are
for the Kannan strategy. The latter reference also includes an ex- the same. Two generator matrices and generate identical
tensive complexity analysis. Applications are discussed in [15], lattices if and only if
[62], [78], [80].
Another, more subtle, difference between the two strategies (1)
is implicit in their presentation. Grossly generalizing, the Pohst where is a square matrix with integer entries such that
method is intended as a practical tool while the method of . A generator matrix is a rotated and reflected
Kannan is intended as a theoretical tool. Papers dealing with representation of another generator matrix if
the Pohst strategy typically discuss issues of implementation, (2)
whereas papers dealing with the Kannan strategy usually focus
where . This transformation can be regarded as
on asymptotic complexity. This is probably the reason why
a change of the coordinate system. If is square and lower
the two strategies, despite having so much in common, have
triangular, it is said to be a lower-triangular representation of
never been compared and evaluated against each other in the
. Any generator matrix has a lower-triangular representa-
literature.
tion, which is unique up to column negation. How to find a
Recently, Schnorr and Euchner [67] suggested an important
lower-triangular representation of a given generator matrix is
improvement of the Pohst strategy, based on examining the
discussed in Section IV.
points inside the aforementioned hypersphere in a different
Two lattices are congruent, or equivalent, if one can be ob-
order. In Sections V and VII-C, the strategies by Pohst, Kannan,
tained from the other through scaling, rotation, and reflection.
and Schnorr–Euchner are compared to each other, and it is
Two generator matrices and generate equivalent lattices
shown that the Schnorr–Euchner strategy is substantially faster
if and only if
than the other two.
While the preceding discussion is distilled from the existing (3)
literature, much of this literature is not directly accessible.
Often, the results are buried in the context of specific applica- where is a real constant, while and obey the same
tions. For example, the Schnorr–Euchner algorithm is described conditions as in (1) and (2), respectively. The equivalence rela-
in [67] merely as a subroutine, called ENUM, in a function tion is denoted .
that computes the so-called block Korkine–Zolotareff (KZ) The process of selecting a good basis for a given lattice, given
reduction, which itself serves as a tool for solving a certain type some criterion, is called reduction. In many applications, it is
of subset-sum problems [67] and attacking the Chor–Rivest advantageous if the basis vectors are as short as possible and
AGRELL et al.: CLOSEST POINT SEARCH IN LATTICES 2203
“reasonably” orthogonal to each other (for lattice-search prob- to study its lower-triangular representation. A lower-triangular
lems, this was first noted by Coveyou and MacPherson [24]). square generator matrix
This property of the basis vectors can be formalized in a number
of ways, giving rise to several types of reduction. Simply se-
lecting the shortest nonzero vectors in the lattice is, however, (4)
.. .. .. .. ..
not a practicable approach, since these vectors do not in general . . . . .
form a basis.
The problem was studied by Hermite in 1850, who sug-
is defined, recursively, to be KZ-reduced if , or else each
gested [44, pp. 301–303] that a generator matrix with
of the following three conditions holds:2
rows is reduced if the following holds for all
: , for all generator matrices with is a shortest nonzero vector in (5)
rows such that and
for . In other words, a generator matrix is for (6)
reduced in this sense if the sequence comes and the submatrix
first in a lexicographically ordered list of the corresponding
sequences for all generator matrices of the same lattice. The .. .. ..
. . . (7)
first basis vector is always a shortest nonzero lattice vector.
There exists at least one reduced basis in this sense for every
lattice, but Hermite gave no algorithm to compute it. Note is KZ-reduced. An arbitrary generator matrix is KZ-reduced if
that this reduction criterion is usually not referred to as the and only if its lower-triangular representation is KZ-reduced.
“Hermite reduction” in recent literature (see footnote 2). It is known [64], that every lattice has at least one KZ-reduced
Minkowski made extensive use of the above reduction crite- generator matrix.
rion in his earlier work [56] [57], [58]. In 1905, he suggested The LLL reduction is named after Lenstra, Lenstra, and
a subtle but significant modification [61], defining the crite- Lovász, who suggested the corresponding reduction criteria in
rion now known as the Minkowski reduction. A generator ma- [53]. The LLL reduction is often used in situations where the
trix with rows is Minkowski-reduced if the fol- KZ reduction would be too time-consuming. A lower-triangular
lowing holds for all : for all with generator matrix (4) is LLL-reduced if either , or else
rows such that and for each of the following three conditions holds:
.1 This is in essence a “greedy” version of (8)
the stricter criterion by Hermite. Suppose that a set of vectors
have been found that satisfy Minkowski’s criterion
up to a certain value of . Then there is always a Minkowski-re- for (9)
duced basis that contains these vectors, and the search can be and the submatrix (7) is LLL-reduced. As before, an arbitrary
focused on finding the next vector in the basis. This is not generator matrix is LLL-reduced if its lower-triangular repre-
necessarily the case with the aforementioned criterion by Her- sentation is LLL-reduced.
mite. In particular, if there is more than one inequivalent shortest Any KZ-reduced matrix is clearly also LLL-reduced. The
nonzero vector, it may well be that only one of them can be in- motivation for the latter reduction is that there exists an effi-
cluded in a reduced basis in the sense of Hermite, whereas there cient algorithm [53] to convert any generator matrix into
is always at least one Minkowski-reduced basis for each of them. an LLL-reduced one. This algorithm, which operates in polyno-
Minkowski reduction has received much attention, particu- mial time in and , has become very popular. It was improved
larly in number theory [18, pp. 27–28], [28, pp. 83–84]. Algo- upon in [69] and [66].
rithms to compute a Minkowski-reduced basis of an arbitrary The LLL reduction algorithm has been modified in a number
lattice may be found in [1], [42]. of ways, see [20, pp. 78–104]. Hybrids between KZ and LLL
Two types of reduction that are more widely used in prac- reductions have also been proposed [65].
tice are Korkine–Zolotareff (KZ) reduction and Lenstra–
Lenstra–Lovász (LLL) reduction. One reason for their pop- III. CLOSEST POINT SEARCH ALGORITHMS
ularity is that with both of those criteria, the -dimensional
reduction problem can be recursively reduced to an -di- We start with a conceptual description of various lattice
mensional reduction problem, which is not feasible with search algorithms in Section III-A. In this framework, we in-
Minkowski reduction. troduce the Babai nearest plane algorithm, the Kannan strategy,
The KZ reduction is named after the authors of [51], who the Pohst strategy, and the Schnorr–Euchner refinement of
defined this reduction criterion in 1873. To determine whether the Pohst strategy. In Section III-B, we present a detailed
a given generator matrix is a KZ-reduced basis, it is convenient pseudocode implementation of a closest point search algorithm
based on the Schnorr–Euchner strategy.
2Because the condition (6) was proposed by Hermite in his first and second
letters to Jacobi [44, pp. 269–271, 280–282], KZ reduction is sometimes called
1We disregard, as is commonly done in recent literature, that Minkowski “Hermite reduction” (cf. [42]). The terminology is further complicated by the
also required the scalar product between v and v to be nonnegative for all fact that in some contexts “Hermite reduction” refers to a criterion for so-called
0
i = 1; . . . ; n 1. indefinite quadratic forms, not immediately applicable to lattices [18, p. 29].
2204 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 48, NO. 8, AUGUST 2002
(12) (15)
This is the topic of this section: How should a given search algorithms to compute it may be found in [41, pp. 208–236] and
problem be preprocessed, in order to make the most efficient [71, pp. 166–176], for example. In our context, QR decomposi-
use of DECODE? tion of gives both and , with being equal to .
To address this question, we now present a general lattice As an alternative to QR decomposition, can be obtained by
search algorithm. This algorithm can be regarded as a “front- Cholesky decomposition of . Given an positive-def-
end” to DECODE, where explicit preprocessing and postpro- inite matrix , its Cholesky decomposition is a factorization of
cessing is performed to allow generator matrices that are not the form where is an upper-triangular ma-
lower triangular, possibly not even square. As with DECODE, trix. In our context, is equal to , and the rotation ma-
we first describe this algorithm conceptually, and then suggest trix is given by . Algorithms for computing the
how to implement it. Cholesky decomposition may be found in [20, pp. 102–104],
Assume that a generator matrix and an input vector are [41, pp. 84–93], and [71, pp. 332–334].
given. By linear integer row operations, we first transform All these transformations can be thought of as a change of the
into another matrix, say , which generates an identical lattice. coordinate system. Measure the first coordinate along (the
The purpose of this transformation is to speed up DECODE; see first row of ), the second in the plane spanned by and ,
below. Next, we rotate and reflect into a lower-triangular and so on. The generator matrix in this coordinate system will
form , so that be square and lower triangular.
For DECODE to work, all diagonal elements of must be
positive. Some implementations of QR factorization do not do
It is essential to rotate and reflect the input vector in the same this automatically; if this is the case, we multiply by all
way, so that the transformed input vector, say , is in the same columns of that contain a negative diagonal element, as well
relation to as is to . All this can be regarded as as the corresponding rows of .
a change of the coordinate system. Now the search problem has In Steps 4–6, the input vectors are processed. They are trans-
a form that is suitable for DECODE, which will find the closest formed into the coordinate system of , decoded, and trans-
lattice point in this coordinate system. Reversing the oper- formed back again.
ations of rotation and reflection produces , the lattice point If a large set of vectors is to be decoded for the same lattice,
closest to in . Following these steps, the algorithm is Steps 1–3 are, of course, carried out only once for the whole
detailed as follows. set. In this case, the overall execution time may benefit substan-
tially from an effective but time-consuming reduction method
applied in Step 1. To understand precisely what kind of prepro-
cessing would improve the performance of the search algorithm,
Input: an generator matrix , and an -element vector recall the recursive representation of lattices in (10). An -di-
to decode in . mensional lattice consists of parallel -dimensional sub-
Output: a lattice point that is closest to . lattices, translated and stacked on top of each other. This decom-
Step 1. Let , where is an matrix with position into sublattices is controlled by the reduction method.
integer entries and determinant . Two properties of the decomposition are desirable for a given
Step 2. Compute an orthonormal matrix such that lattice.
, where is an lower-triangular matrix a) The -dimensional layers should be as far apart
with positive diagonal elements. as possible. This minimizes the number of layers to be
Step 3. Let . investigated, as only the layers within a certain distance
Step 4. Let . range need to be scanned. As an extreme case, suppose
Step 5. Let . that the spacing between -dimensional layers is
Step 6. Return . much larger than any other -dimensional layer spacing
in the lattice. Then the closest point will always lie in the
Step 1 is a basis reduction. This step is optional: it is pos- closest -dimensional layer, and the dimensionality
sible to select as the identity matrix, which amounts to no of the problem is essentially reduced by one.
reduction at all. This works well for low-dimensional and not
b) The zero-dimensional layers (lattice points) should be as
too ill-conditioned generator matrices, as will be shown in Sec-
densely spaced as possible in the one-dimensional layers
tion VII. However, the speed and the numerical stability of the
(lines). The denser they are, the higher is the probability
search can be improved significantly by an appropriate reduc-
that the closest lattice point will belong to the closest lat-
tion, as discussed later in this section.
tice line. If the one-dimensional spacing is much smaller
Step 2 implies rotation and reflection of into a lower-tri-
than all other interlayer distances, then the closest point
angular form, as in (2). The standard method to achieve this is by
will always lie in the closest line, so the dimensionality
QR decomposition. Given an arbitrary matrix , its QR
of the problem is essentially reduced by one.
decomposition is a factorization of of the form ,
where is an upper-triangular matrix, and is an Both observations can, of course, be applied recursively. Thus,
orthonormal matrix, that is, one satisfying . It is well high-dimensional layer spacing should be large, while low-di-
known that a QR decomposition exists for any matrix; efficient mensional spacing should be small. This suggests two greedy
AGRELL et al.: CLOSEST POINT SEARCH IN LATTICES 2207
where the last inequality follows from , VI. MORE LATTICE SEARCH PROBLEMS
which is the well-known Stirling inequality [29, p. 54].
Other search problems involving lattices can be solved using
Let denote the volume of the region being searched in the modifications and extensions of the CLOSESTPOINT algorithm.
Kannan algorithm for an -dimensional lattice. Since Kannan These include computing lattice parameters such as the shortest
[47] focused on proving the existence of an algorithm within vector, the kissing number, and the Voronoi-relevant vectors.
a certain complexity bound rather than presenting a single im- The CLOSESTPOINT algorithm can be also used to perform the
mediately implementable algorithm, there is some ambiguity re- key step in the KZ basis reduction.
garding what exactly is to be meant by “Kannan’s algorithm.”
We here adopt the same interpretation as in [12]. It is shown in
[12] that for every lattice, is in the range A. Shortest Vector
Given a lattice , the shortest vector problem is to
find a vector in that has the smallest Euclidean norm.
(25) The history of the shortest vector problem is closely interlinked
with that of the closest point problem. It has been conjectured
in [74] that the shortest vector problem (with ) is
where the lower bound is exact if the sequence NP-hard, but, in contrast to the closest point problem, this is
is increasing and the upper bound is exact if it is decreasing. still not proved. The conjecture of [74] is supported by the re-
For a “good” lattice (say, one of the first 48 laminated lattices sult of Ajtai [6], who showed that the shortest vector problem is
[23, p. 158]), this sequence generally displays a decreasing NP-hard under randomized reductions. Micciancio [54] further-
trend, although the decrease is not necessarily monotonic [48]. more proved that finding an approximate solution within any
Thus, is often close to the upper bound. On the other hand, constant factor less than is also NP-hard for randomized re-
the recursive cube search algorithm [12], an improved variant ductions. It is known [37], [43], however, that the shortest vector
of Kannan’s algorithm, attains the lower bound in (25) with problem is not harder than the closest vector problem.
equality (cf. [12, eq. (19)]). The CLOSESTPOINT algorithm can be straightforwardly mod-
The CLOSESTPOINT algorithm is faster than the Kannan ified to solve the shortest vector problem. The idea is to submit
algorithm for all dimensions and all lattices, since the upper as the input and exclude as a potential output.
bound (16) coincides with the lower bound (25) for the Kannan Algorithmically, the changes needed to convert CLOSESTPOINT
algorithm. The magnitude of the gain is suggested by (17). into SHORTESTVECTOR are as follows.
For lattices such that the upper bound in (25) is exact, the
CLOSESTPOINT algorithm is faster by at least a factor of 1. Omit as an input to DECODE and CLOSESTPOINT.
. Notice that this factor is meant to indicate the 2. In CLOSESTPOINT, skip Step 4.
asymptotic relation for large . For low and moderate values of 3. In DECODE, replace line 5 with “ .”
, the first inequality in (24) yields a significantly better bound. 4. In DECODE, replace lines 20–22 with:
if then {
Also notice that in assessing the volume searched by the
CLOSESTPOINT algorithm, the general bound
}
for
In any lattice, there is an even number of shortest vectors, be-
cause the lattice is symmetrical with respect to reflection in .
may be useful. This bound includes (16) and (17) as two extreme Hence, if is a shortest vector, then so is . A factor of two
special cases. It follows straightforwardly from (19), (21), and in computation time can be gained by exploiting this symmetry.
the fact that for . This is achieved by rewriting DECODE to scan only half of the
Banihashemi and Khandani [12] point out that the covering candidates (say, the ones for which the first nonzero compo-
radii of the lattice and its sublattices, if known, can be exploited nent is positive).
to reduce the complexity of the Kannan algorithm. This option Of course, when a KZ-reduced basis is used for the lattice
can be incorporated into the CLOSESTPOINT algorithm as well. at hand, a shortest vector is directly available as the first basis
However, it is difficult to determine the covering radius of a gen- element, and the SHORTESTVECTOR algorithm becomes trivial.
eral lattice. The only known method is the “diamond-cutting” al- However, one of the main applications of the SHORTESTVECTOR
gorithm of [79], which, as detailed in Section VI-C, is confined algorithm, at least in our context, is precisely to compute a KZ-
by memory limitations to low dimensions. If an upper bound on reduced basis.
the covering radius for the particular lattice is known, it can be
used as well, as proposed in [78]. Unfortunately, even though
B. Kissing Number
there exist upper bounds on the minimal possible covering ra-
dius for packings in a given dimension [23, pp. 39–40], [39, p. The kissing number of a lattice is defined as the number
241], no method to upper-bound the covering radius of an arbi- of shortest nonzero vectors in . If the lattice has no regular
trary given lattice is known. structure (say, if the basis vectors are drawn randomly from a
AGRELL et al.: CLOSEST POINT SEARCH IN LATTICES 2209
continuous distribution), there are typically exactly two shortest Voronoi region or, in other words, to find a minimal set
nonzero lattice vectors, and the kissing number is . In general, for which
to compute the kissing number (say, for a structured lattice), it
is essential to use infinite precision: an arbitrarily small pertur-
bation of a generator matrix has the potential of reducing the The vectors in are called Voronoi-relevant, or simply rel-
kissing number to , regardless of the original value. However, evant. Our method to solve the relevant-vector problem is based
we do not recommend implementing DECODE using exact arith- upon the following proposition.
metic. The same goal can be achieved far more efficiently by Proposition 2: The Voronoi regions of any two distinct lat-
implementing the time-consuming operations, as before, using tice points and share a facet if and only if
finite-precision real numbers, followed by an infinite-precision (26)
postprocessing stage, whereby a finite set of candidates is eval-
uated. for all , where
The new version of DECODE needs to keep track of a set (27)
of potential shortest vectors, not just the single best candidate.
A margin of accuracy must be included in the comparisons, to Proof: It follows from (26) that ,
avoid missing some of the shortest vectors due to numerical er- and for all . It is known (cf.
rors. Thus, the changes needed to convert CLOSESTPOINT into [23, p. 33]) that if two Voronoi regions and intersect but
KISSINGNUMBER are as follows. do not share a facet, then all points in also belong to
some other Voronoi region . Hence, the above property of the
1. Apply the changes 1–3 of Section VI-A. point suffices to establish that and
2. In DECODE, include “ ” among the initial assign- share a facet.
ments. To prove the “only if” part of the proposition, assume that
3. In DECODE, replace line 11 with: and have a common facet. Let be any point
if then { in the interior of this facet, so that
where is a small positive number.
(28)
4. In DECODE, replace lines 20 and 21 with:
if then { for all . In addition to (28), we will make use
of the following identity:
(29)
}
5. In DECODE, remove line 22. which holds for any three points . Now, for all
6. In DECODE, replace in line 28 with . In CLOSESTPOINT, we have
replace in Step 5 with .
7. In CLOSESTPOINT, replace Step 6 with:
Step 6. Compute the exact value of for all
and return the number of occurrences of the lowest
value.
where the equality follows from (29), while the inequality fol-
As for the shortest vector problem, a variant of the closest lows by applying (28) twice. This establishes (26).
point problem can be formulated that, in case of a tie, returns all This proposition was proved by Voronoï in a slightly dif-
the lattice points that have minimum distance to a given input ferent context [81, vol. 134, pp. 277–278], [23, p. 475], based on
vector, not just one of them. Specifically, CLOSESTPOINT can be a theory by Minkowski [59, pp. 81–85], [60]. Similar properties
converted into ALLCLOSESTPOINTS through the following mod- have been established for the Voronoi regions of binary linear
ifications. codes [2] and of parallelepipeds [4].
Apply the changes 2–6 above. In order to compute for a lattice , we now proceed
In CLOSESTPOINT, replace Step 6 with: as follows. Consider a vector , and let . It
Step 6. Compute the exact value of for all is obvious that any vector in (27) is of this form. Notice that
and call the lowest value . Return is symmetric with respect to reflection in . That is, if
is a lattice point, then so is .
Although there are infinitely many pairs of lattice points
that have as their midpoint, Proposition 2 implies that
at most one such pair can share a facet. A closest point search
The main application of this algorithm lies in the solution of the in the lattice , with as the input vector, will find the pair,
next problem. if it exists. Therefore, we evaluate ALLCLOSESTPOINTS ,
while distinguishing between the following three cases.
C. Voronoi-Relevant Vectors
Case 1. ALLCLOSESTPOINTS returns one point .
A facet is an -dimensional face of an -dimensional Since is also a lattice point at the same dis-
polytope. The relevant-vector problem is to find the facets of the tance from , we conclude that and is itself
2210 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 48, NO. 8, AUGUST 2002
a lattice point. Obviously, this happens if and only if known to the authors is the “diamond-cutting” algorithm of
, and no pair of lattice points can satisfy (26) Viterbo and Biglieri [79], which computes a complete geo-
with respect to in this case. metrical description of the Voronoi region of any lattice. This
Case 2. ALLCLOSESTPOINTS returns exactly two lattice description includes all vertices, edges, etc., which evidently
points and . Then these includes the information about the relevant vectors. However,
points share a facet by Proposition 2. Notice that if using the diamond-cutting algorithm for the sole purpose of
share a facet, then so do and determining the relevant vectors is inefficient. Voronoï showed
for all . This establishes an equivalence class in his classical work [81] that the number of -dimen-
of pairs of points of that share a facet, whose sional faces of a Voronoi region of an -dimensional lattice is
midpoint is of the form for some . upper-bounded by
We are interested in only two pairs in this class,
namely (30)
and that there exist lattices whose Voronoi regions attain this
number for every [81, vol. 136, pp. 74–82, 137–143]. One
In other words, the points and are
example of such a lattice, given by Voronoï, is the lattice usually
the only Voronoi-relevant points derived from this
denoted by , which is the dual of the root lattice [23, p.
equivalence class.
115]. Furthermore, the number of -dimensional faces is
Case 3. ALLCLOSESTPOINTS returns four or more lattice lower-bounded by
points. Then no pair of points can satisfy (26).
The discussion in Cases 1 and 2 shows that in order to determine (31)
for a given lattice , it suffices to investigate potential
midpoints in the finite set This can be proved by induction, keeping in mind that the
Voronoi region, as well as all its -faces, are symmetric
polytopes. The lower bound (31) is attained for every by the
For each such vector , we can use the ALLCLOSESTPOINTS al- cubic lattice . Evaluating (30) and (31) for
gorithm to check whether condition (26) of Proposition 2 is sat- shows that the number of vertices is between and ,
isfied. This leads to the following algorithm. inclusively, the number of edges is between and
, and so on. This implies that the memory
requirements for the diamond-cutting algorithm grow very
Input: an generator matrix . rapidly with dimension. This property limits the use of the
Output: the set of the Voronoi-relevant vectors of . diamond-cutting algorithm to low dimensions, as the authors
of [79] themselves point out.
Step 1. Let . The RELEVANTVECTORS algorithm, on the other hand, uses
Step 2. For all vectors , do: negligible memory but does not fully determine the Voronoi re-
a) Let ; gions. In those cases where a complete description (vertices,
b) If , let . edges, etc.) is desired, we suggest preceding the diamond-cut-
Step 3. Return . ting algorithm with RELEVANTVECTORS, since the complexity
Optional optimization includes moving Steps 1–3 of the (both time and memory) of the diamond-cutting algorithm can
ALLCLOSESTPOINTS algorithm out of the loop, since all the be reduced by incorporating knowledge of the relevant vectors.
calls to ALLCLOSESTPOINTS concern the same lattice. Since
for each , the lattice is symmetric with respect to D. KZ Reduction
reflection in , a factor of two in complexity can be gained The last problem we deal with here is the reduction problem.
through the same symmetry argument as for SHORTESTVECTOR This is the problem of finding a KZ-reduced basis, which has
in Section VI-A. been already mentioned in Sections II and IV. Theoretical re-
It follows from the preceding discussion that the maximum sults are available for specific lattices in [48]. Algorithms for
number of facets that a Voronoi region can have in any -di- general lattices have been proposed by Kannan [47] and by
mensional lattice is , which was proved Schnorr [65]. Since KZ reduction essentially consists of solving
by Minkowski in 1897 [60]. Voronoï showed that this number shortest vector problems, a closest point algorithm can be used
is attained with probability by a lattice whose basis is chosen in this context too. In our experiments (see the next section), we
at random from a continuous distribution [81, vol. 134, pp. have computed KZ-reduced bases using this method.
198–211 and vol. 136, pp. 67–70]. The general strategy is to find a shortest vector in the lattice,
Relevant vectors have been determined for many clas- project the lattice onto the hyperplane orthogonal to this vector,
sical lattices [23, Chs. 4 and 21], but we believe that the and find a KZ-reduced basis of the resulting -dimensional
RELEVANTVECTORS algorithm proposed here is the fastest lattice, recursively. In this application of the SHORTESTVECTOR
known in the general case. The only alternative algorithm algorithm, Step 1 is performed using the LLL reduction, since a
AGRELL et al.: CLOSEST POINT SEARCH IN LATTICES 2211
Fig. 1. Comparison of average search times among different reduction Fig. 2. Comparison of the average search times for the CLOSESTPOINT algo-
methods for preprocessing of the generator matrix. rithm and the Viterbo–Boutros algorithm.
C. Comparison With Other Algorithms In Fig. 2, the average time for a single closest point
search operation is plotted as a function of dimension for the
To assess the performance of the CLOSESTPOINT algorithm, CLOSESTPOINT and the Viterbo–Boutros algorithms (with sev-
we have also implemented an algorithm described by Viterbo eral values for the initial distance bound). For both algorithms,
and Boutros in [80], which is based on the Pohst strategy. The KZ reduction was first applied to the generator matrices. We
Viterbo–Boutros algorithm requires an initial bound on the at- see that the CLOSESTPOINT algorithm is faster for all tested
tainable distance (see Section III-A). A natural choice is the dimensions, by a factor of – in our implementation.
covering radius of the lattice, but it is not clear how to com-
pute the covering radius for random lattices. Viterbo [77] sug-
D. Comparison With Classical Lattices
gests to use the length of the shortest basis vector as an initial
guess. If no lattice point is found within this distance from the To further illustrate the performance of the CLOSESTPOINT
input vector, the distance is multiplied by some factor greater algorithm, we evaluate its performance for classical lattices,
than , and the search is repeated. We have performed some and compare it with the performance for random matrices
experiments using factors between and . We have also (chosen from an independent and identically distributed
used the distance to the Babai point as an initial distance bound, Gaussian source). In Fig. 3, the average search times for
thereby ensuring that at least one point is found within the dis- random lattices and for the cubic lattice are plotted as a
tance. The CLOSESTPOINT algorithm needs no initial bound for function of dimension, together with the search times for the
the distance; the Babai point is by default the first point exam- Leech lattice in 24 dimensions, and for the Barnes–Wall lattices
ined by this algorithm. in dimensions 8, 16, and 32. For the classical lattices just as for
AGRELL et al.: CLOSEST POINT SEARCH IN LATTICES 2213
REFERENCES
[1] L. Afflerbach and H. Grothe, “Calculation of Minkowski-reduced lattice
bases,” Computing, vol. 35, no. 3–4, pp. 269–276, 1985.
[2] E. Agrell, “On the Voronoi neighbor ratio for binary linear block codes,”
IEEE Trans. Inform. Theory, vol. 44, pp. 3064–3072, Nov. 1998.
[3] E. Agrell and T. Eriksson, “Optimization of lattices for quantization,”
IEEE Trans. Inform. Theory, vol. 44, pp. 1814–1828, Sept. 1998.
[4] E. Agrell and T. Ottosson, “ML optimal CDMA multiuser receiver,”
Electron. Lett., vol. 31, pp. 1554–1555, Aug. 1995.
[5] M. Ajtai, “Generating hard instances of lattice problems,” in Proc. 28th
Annu. ACM Symp. Theory of Computing, Philadelphia, PA, May 1996,
pp. 99–108.
[6] , “The shortest vector problem in L is NP-hard for randomized re-
ductions,” in Proc. 30th Annu. ACM Symp. Theory of Computing, Dallas,
Fig. 4. Normalized mean squared distance as a function of allowed search TX, May 1998, pp. 193–203.
time, when the search is aborted before the optimal point is found. The Babai [7] M. Ajtai and C. Dwork, “A public-key cryptosystem with worst-case/av-
point had a normalized mean squared distance of 1:49 for this 45-dimensional erage-case equivalence,” in Proc. 29th Annu. ACM Symp. Theory of
example. Computing, El Paso, TX, 1997, pp. 284–293.
[8] M. Antonini, M. Barlaud, and T. Gaidon, “Adaptive entropy constrained
lattice vector quantization for multiresolution image coding,” Proc.
random lattices, KZ reduction leads to faster search times, and SPIE, pt. 2, vol. 1818, pp. 441–457, Nov. 1992.
[9] S. Arora, L. Babai, J. Stern, and Z. Sweedyk, “The hardness of ap-
is therefore applied before the experiments. proximate optima in lattices, codes, and systems of linear equations,”
We see that although the search times for the classical, highly J. Comput. Syst. Sci., vol. 54, pp. 317–331, Apr. 1997.
structured, lattices are slightly higher, the general curve is about [10] L. Babai, “On Lovász’ lattice reduction and the nearest lattice point
problem,” Combinatorica, vol. 6, no. 1, pp. 1–13, 1986.
the same as that for random lattices. This is the strength as well [11] A. H. Banihashemi and I. F. Blake, “Trellis complexity and minimal
as the weakness of search algorithms of this type: they do not trellis diagrams of lattices,” IEEE Trans. Inform. Theory, vol. 44, pp.
rely on any particular structure. 1829–1847, Sept. 1998.
[12] A. H. Banihashemi and A. K. Khandani, “On the complexity of decoding
lattices using the Korkine–Zolotarev reduced basis,” IEEE Trans. In-
E. Suboptimal Search form. Theory, vol. 44, pp. 162–171, Jan. 1998.
[13] I. F. Blake, “Lattices and cryptography,” in Codes, Graphs and Sys-
The search algorithms studied here always return a lattice tems, R. E. Blahut and R. Kötter, Eds. Norwell, MA: Kluwer, 2002,
point that is closest to the input point. However, in certain ap- pp. 317–332.
plications (e.g., source coding), it may be necessary to abort the [14] J. Blömer, “Closest vectors, successive minima, and dual HKZ-bases of
lattices,” in Proc. Int. Colloq. Automata, Languages and Programming,
search before the closest point has been found. Therefore, we U. Montanari, J. D. P. Rolim, and E. Welzl, Eds. Geneva, Switzerland,
have included experiments where the CLOSESTPOINT algorithm July 2000, pp. 248–259.
is aborted after a given time. The measure of performance in [15] J. Boutros, E. Viterbo, C. Rastello, and J.-C. Belfiore, “Good lattice
constellations for both Rayleigh fading and Gaussian channels,” IEEE
these experiments is the mean squared distance to the point pro- Trans. Inform. Theory, vol. 42, pp. 502–518, Mar. 1996.
duced by an aborted algorithm. [16] L. Brunel and J. Boutros, “Euclidean space lattice decoding for joint de-
In Fig. 4, the ratio between the suboptimal and the optimal tection in CDMA systems,” in Proc. Int. Workshop Information Theory,
Kruger Park, South Africa, June 1999, p. 129.
mean squared distances is given for a 45-dimensional example, [17] , “Lattice decoding for joint detection in direct sequence CDMA
as a function of the time allotted for the search. From this figure, systems,” IEEE Trans. Inform. Theory, 2002, to be published.
we see that the CLOSESTPOINT algorithm quickly finds lattice [18] J. W. S. Cassels, An Introduction to the Geometry of Numbers. Berlin,
Germany: Springer, 1959.
points fairly close to the optimal one. [19] I. V. L. Clarkson, “Frequency estimation, phase unwrapping, and the
We see that if a 10% higher mean squared distance than the nearest lattice point problem,” in Proc. Int. Conf. Acoustics, Speech and
optimal can be tolerated, then the CLOSESTPOINT algorithm is Signal Processing, Phoenix, AZ, Mar. 1999, pp. 1609–1612.
[20] H. Cohen, A Course in Computational Algebraic Number
approximately 40 times faster than if the optimal point is re- Theory. Berlin, Germany: Springer-Verlag, 1993.
quired. We only report results for a single 45-dimensional ex- [21] J. H. Conway and N. J. A. Sloane, “A fast encoding method for lat-
ample, but the general conclusion is the same for all tested di- tice codes and quantizers,” IEEE Trans. Inform. Theory, vol. IT-29, pp.
820–824, Nov. 1983.
mensions and lattices. If the search is aborted before the optimal [22] , “On the Voronoi regions of certain lattices,” SIAM J. Algebraic
point is found, considerable time savings can be achieved at the Discr. Methods, vol. 5, pp. 294–305, Sept. 1984.
cost of a slightly increased mean squared distance. Note that the [23] , Sphere Packings, Lattices and Groups, 3rd ed. New York:
Springer-Verlag, 1999.
good result relies on the layers being searched according to (13); [24] R. R. Coveyou and R. D. MacPherson, “Fourier analysis of uniform
if the layers are searched according to (15), the convergence is random number generators,” J. Assoc. Comput. Mach., vol. 14, pp.
considerably slower. 100–119, Jan. 1967.
[25] O. Damen, A. Chkeif, and J.-C. Belfiore, “Lattice code decoder for
ACKNOWLEDGMENT space-time codes,” IEEE Commun. Lett., vol. 4, pp. 161–163, May
2000.
The authors gratefully acknowledge helpful comments by [26] U. Dieter, “How to calculate shortest vectors in a lattice,” Math. of
Daniele Micciancio, who brought several recent references Comput., vol. 29, pp. 827–833, July 1975.
2214 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 48, NO. 8, AUGUST 2002
[27] I. Dinur, G. Kindler, R. Raz, and S. Safra. (2002) An improved [57] , “Über positive quadratische Formen” (in German), J. Reine und
lower bound for approximating CVP. Preprint. [Online]. Available: Angewandte Math., vol. 99, no. 1, pp. 1–9, 1886. Also in Gesammelte
http://www.math.ias.edu/~iritd Abhandlungen von Hermann Minkowski (D. Hilbert, Ed.). Leipzig,
[28] P. Erdös, P. M. Gruber, and J. Hammer, Lattice Points. Harlow, U.K./ Berlin, Germany: Teubner, vol. 1, 1911, pp. 149–156 (in German).
New York: Longman/Wiley, 1989. [58] , “Zur Theorie der positiven quadratischen Formen” (in German),
[29] W. Feller, An Introduction to Probability Theory and its Applications, J. Reine und Angewandte Math., vol. 101, no. 3, pp. 196–202, 1887.
3rd ed. New York: Wiley, 1968, vol. 1. Also in Gesammelte Abhandlungen von Hermann Minkowski (D.
[30] U. Fincke and M. Pohst, “Improved methods for calculating vectors Hilbert, Ed.). Leipzig, Berlin, Germany: Teubner, vol. 1, 1911, pp.
of short length in a lattice, including a complexity analysis,” Math. of 212–218 (in German).
Comput., vol. 44, pp. 463–471, Apr. 1985. [59] , Geometrie der Zahlen (in German), Leipzig, Germany, 1896.
[31] T. R. Fischer, “A pyramid vector quantizer,” IEEE Trans. Inform. [60] , “Allgemeine Lehrsätze über die konvexen Polyeder” (in German),
Theory, vol. IT-32, pp. 568–583, July 1986. Nachrichten der K. Gesellschaft der Wissenschaften zu Göttingen. Math-
[32] , “Geometric source coding and vector quantization,” IEEE Trans. ematisch-physikalische Klasse, pp. 198–219, 1897. Also in Gesammelte
Inform. Theory, vol. 35, pp. 137–145, Jan. 1989. Abhandlungen von Hermann Minkowski (D. Hilbert, Ed.). Leipzig,
[33] G. D. Forney, Jr., “The Viterbi algorithm,” Proc. IEEE, vol. 61, pp. Berlin, Germany: Teubner, vol. 2, 1911, pp. 103–121 (in German).
268–278, Mar. 1973. [61] , “Diskontinuitätsbereich für arithmetische Äquivalenz” (in
[34] , “Coset codes—Part II: Binary lattices and related codes,” IEEE German), J. Reine und Angewandte Math., vol. 129, no. 3–4, pp.
Trans. Inform. Theory, vol. 34, pp. 1152–1187, Sept. 1988. 220–274, 1905. Also in Gesammelte Abhandlungen von Hermann
[35] A. Gersho and R. M. Gray, Vector Quantization and Signal Compres- Minkowski (D. Hilbert, Ed.). Leipzig, Berlin, Germany: Teubner, vol.
sion. Boston, MA: Kluwer, 1992. 2, 1911, pp. 53–100 (in German).
[36] J. D. Gibson and K. Sayood, “Lattice quantization,” in Advances in Elec- [62] W. H. Mow, “Maximum likelihood sequence estimation from the lattice
tronics and Electron Physics, P. W. Hawkes, Ed. Boston, MA: Aca- viewpoint,” IEEE Trans. Inform. Theory, vol. 40, pp. 1591–1600, Sept.
demic, 1988, vol. 72, pp. 259–330. 1994.
[37] O. Goldreich, D. Micciancio, S. Safra, and J.-P. Seifert, “Approximating [63] M. Pohst, “On the computation of lattice vectors of minimal length, suc-
shortest lattice vectors is not harder than approximating closest lattice cessive minima and reduced bases with applications,” ACM SIGSAM
vectors,” Inform. Processing Lett., vol. 71, pp. 55–61, July 1999. Bull., vol. 15, pp. 37–44, Feb. 1981.
[38] O. Goldreich, D. Ron, and M. Sudan, “Chinese remaindering with er- [64] S. S. Ryshkov and E. P. Baranovskii, “Classical methods in the theory
rors,” IEEE Trans. Inform. Theory, vol. 46, pp. 1330–1338, July 2000. of lattice packings” (in Russian), Usp. Mat. Nauk, vol. 34, pp. 3–64,
[39] P. M. Gruber and C. G. Lekkerkerker, Geometry of Num- July–Aug. 1979. Translated into English in Russ. Math. Surv., vol. 34,
bers. Amsterdam, The Netherlands: North-Holland, 1987. no. 4, pp. 1–68, 1979.
[40] V. Guruswami, A. Sahai, and M. Sudan, “‘Soft-decision’ decoding of [65] C. P. Schnorr, “A hierarchy of polynomial time lattice basis reduction
Chinese remainder codes,” in Proc. 41st Annu. Symp. Found. Computer algorithms,” Theor. Comput. Sci., vol. 53, no. 2–3, pp. 201–224, 1987.
Science, Redondo Beach, CA, Nov. 2000, pp. 159–168. [66] , “A more efficient algorithm for lattice basis reduction,” J. Algo-
[41] W. W. Hager, Applied Numerical Linear Algebra. Englewood Cliffs, rithms, vol. 9, pp. 47–62, Mar. 1988.
NJ: Prentice-Hall, 1988. [67] C. P. Schnorr and M. Euchner, “Lattice basis reduction: Improved prac-
[42] B. Helfrich, “Algorithms to construct Minkowski reduced and Hermite tical algorithms and solving subset sum problems,” Math. Programming,
reduced lattice bases,” Theor. Comput. Sci., vol. 41, no. 2–3, pp. vol. 66, pp. 181–191, 1994.
125–139, 1985. [68] C. P. Schnorr and H. H. Hörner, “Attacking the Chor–Rivest cryp-
[43] M. Henk, “Note on shortest and nearest lattice vectors,” Inform. Pro- tosystem by improved lattice reduction,” in Lecture Notes in Computer
cessing Lett., vol. 61, pp. 183–188, 1997. Science. Berlin: Springer-Verlag, 1995, vol. 921, pp. 1–12.
[44] C. Hermite, “Extraits de lettres à M. Jacobi sur différents objets de la [69] A. Schönhage, “Factorization of univariate integer polynomials by dio-
théorie des nombres” (in French), J. Reine und Angewandte Math., vol. phantine approximation and an improved basis reduction algorithm,”
40, no. 3–4, pp. 261–315, 1850. in Proc. Colloq. Automata, Languages and Programming, J. Paredaens,
[45] D. G. Jeong and J. D. Gibson, “Uniform and piecewise uniform lattice Ed. Antwerp, Belgium, July 1984, pp. 436–447.
vector quantization for memoryless Gaussian and Laplacian sources,” [70] J. Stern, “Lattices and cryptography: An overview,” in Public Key Cryp-
IEEE Trans. Inform. Theory, vol. 39, pp. 786–804, May 1993. tography, H. Imai and Y. Zheng, Eds. Yokohama, Japan, Feb. 1998,
[46] R. Kannan, “Improved algorithms for integer programming and related pp. 50–54.
lattice problems,” in Proc. ACM Symp. Theory of Computing, Boston, [71] G. Strang, Linear Algebra and Its Applications, 3rd ed. San Diego,
MA, Apr. 1983, pp. 193–206. CA: Harcourt Brace Jovanovich, 1988.
[47] , “Minkowski’s convex body theorem and integer programming,” [72] V. Tarokh and I. F. Blake, “Trellis complexity versus the coding gain
Math. Oper. Res., vol. 12, pp. 415–440, Aug. 1987. of lattices, Parts I and II,” IEEE Trans. Inform. Theory, vol. 42, pp.
[48] A. K. Khandani and M. Esmaeili, “Successive minimization of the state 1796–1816, Nov. 1996.
complexity of the self-dual lattices using Korkine–Zolotarev reduced [73] V. Tarokh and A. Vardy, “Upper bounds on trellis complexity of lattices,”
basis,” Dept. Elec. Comput. Eng., Univ. of Waterloo, Waterloo, ON, IEEE Trans. Inform. Theory, vol. 43, pp. 1294–1300, July 1997.
Canada, Tech. Rep. UW-E&CE#97-01, Jan. 1997. [74] P. van Emde Boas, “Another NP-complete partition problem and the
[49] P. Klein, “Finding the closest lattice vector when it’s unusually close,” in complexity of computing short vectors in a lattice,” Mathematisch In-
Proc. 11th ACM-SIAM Symp. Discrete Algorithms, San Francisco, CA, stituut, Amsterdam, The Netherlands, Rep. 81-04, Apr. 1981.
Jan. 2000, pp. 937–941. [75] A. Vardy and Y. Be’ery, “Maximum-likelihood decoding of the Leech
[50] D. E. Knuth, The Art of Computer Programming, 2nd ed. Reading, lattice,” IEEE Trans. Inform. Theory, vol. 39, pp. 1435–1444, July
MA: Addison-Wesley, 1981, vol. 2. 1993.
[51] A. Korkine and G. Zolotareff, “Sur les formes quadratiques” (in French), [76] A. J. Viterbi, “Error bounds for convolutional codes and an asymptoti-
Math. Annalen, vol. 6, pp. 366–389, 1873. cally optimum decoding algorithm,” IEEE Trans. Inform. Theory, vol.
[52] C. Lamy and J. Boutros, “On random rotations diversity and minimum IT-13, pp. 260–269, Apr. 1967.
MSE decoding of lattices,” IEEE Trans. Inform. Theory, vol. 46, pp. [77] E. Viterbo, private communication, Jan. 2002.
1584–1589, July 2000. [78] E. Viterbo and E. Biglieri, “A universal decoding algorithm for lattice
[53] A. K. Lenstra, H. W. Lenstra, Jr., and L. Lovász, “Factoring polynomials codes,” in Proc. GRETSI, Juan-les-Pins, France, Sept. 1993, pp.
with rational coefficients,” Math. Annalen, vol. 261, pp. 515–534, 1982. 611–614.
[54] D. Micciancio, “The shortest vector in a lattice is hard to approximate [79] , “Computing the Voronoi cell of a lattice: The diamond-cut-
to within some constant,” in Proc. 39th Annu. Symp. Foundations of ting algorithm,” IEEE Trans. Inform. Theory, vol. 42, pp. 161–171,
Computer Science, Palo Alto, CA, Nov. 1998, pp. 92–98. Jan. 1996.
[55] , “The hardness of the closest vector problem with preprocessing,” [80] E. Viterbo and J. Boutros, “A universal lattice code decoder for fading
IEEE Trans. Inform. Theory, vol. 47, pp. 1212–1215, Mar. 2001. channels,” IEEE Trans. Inform. Theory, vol. 45, pp. 1639–1642, July
[56] H. Minkowski, “Sur la réduction des formes quadratiques positives 1999.
quaternaires” (in French), C. R. Académie des Sciences, vol. 96, pp. [81] G. Voronoï, “Nouvelles applications des paramètres continus à la théorie
1205–1210, 1883. Also in Gesammelte Abhandlungen von Hermann des formes quadratiques,” J. Reine und Angewandte Math., vol. 133,
Minkowski (D. Hilbert, Ed.). Leipzig, Berlin, Germany: Teubner, vol. pp. 97–178, 1908. Also, vol. 134, pp. 198–287, 1908; and vol. 136, pp.
1, 1911, pp. 145–148 (in French). 67–181, 1909 (in French).