In CVP, a basis of a vector space
V and a
metric M (often
L2) are given for a lattice
L, as well as a vector
v in
V but not necessarily in
L. It is desired to find the vector in
L closest to
v (as measured by
M). In the \gamma-approximation version CVPγ, one must find a lattice vector at distance at most \gamma.
Relationship with SVP The closest vector problem is a generalization of the shortest vector problem. It is easy to show that given an
oracle for CVPγ (defined below), one can solve SVPγ by making some queries to the oracle. The naive method to find the shortest vector by calling the CVPγ oracle to find the closest vector to 0 does not work because 0 is itself a lattice vector and the algorithm could potentially output 0. The reduction from SVPγ to CVPγ is as follows: Suppose that the input to the SVPγ is the basis for lattice B=[b_1,b_2,\ldots,b_n]. Consider the basis B^i=[b_1,\ldots,2b_i,\ldots,b_n] and let x_i be the vector returned by . The claim is that the shortest vector in the set \{x_i-b_i\} is the shortest vector in the given lattice.
Hardness results Goldreich et al. showed that any hardness of SVP implies the same hardness for CVP. Using
PCP tools,
Arora et al. showed that CVP is hard to approximate within factor 2^{\log^{1-\epsilon}(n)} unless \operatorname{NP} \subseteq \operatorname{DTIME}(2^{\operatorname{poly}(\log n)}). Dinur et al. strengthened this by giving a NP-hardness result with \epsilon=(\log \log n)^c for c.
Sphere decoding Algorithms for CVP, especially the Fincke and Pohst variant, have been used for data detection in multiple-input multiple-output (
MIMO) wireless communication systems (for coded and uncoded signals). In this context it is called
sphere decoding due to the radius used internal to many CVP solutions. It has been applied in the field of the integer ambiguity resolution of carrier-phase GNSS (GPS). It is called the
LAMBDA method in that field. In the same field, the general CVP problem is referred to as
Integer Least Squares. == GapCVP ==