Lattice reduction
Mathematical operation
From Wikipedia, the free encyclopedia
In mathematics, the goal of lattice basis reduction is to find a basis with short, nearly orthogonal vectors when given an integer lattice basis as input. This is realized using different algorithms, whose running time is usually at least exponential in the dimension of the lattice.

Finding a reduced lattice basis is also closely related to the problem in crystallography of finding a unique unit cell. Historically reduction theory was first studied by Lagrange (1773) and independently by Gauss (1801), in order to classify binary quadratic forms, a classic problem in number theory. In a little sidenote to a book review in 1831, Gauss mentions that the reduction theory for certain quadratic forms is equivalent to finding a unit cell for point lattices and he sees the relevance for crystallography. This close relationship in number theory and geometry of point lattices inspired much of the successive work on quadratic forms culminating in Minkowski's important work "Geometry of Numbers" (1896 and 1910).
Nearly orthogonal
One measure of nearly orthogonal is the orthogonality defect. This compares the product of the lengths of the basis vectors with the volume of the parallelepiped they define. For perfectly orthogonal basis vectors, these quantities would be the same.
Any particular basis of vectors may be represented by a matrix , whose columns are the basis vectors . In the fully dimensional case where the number of basis vectors is equal to the dimension of the space they occupy, this matrix is square, and the volume of the fundamental parallelepiped is simply the absolute value of the determinant of this matrix . If the number of vectors is less than the dimension of the underlying space, then volume is . For a given lattice , this volume is the same (up to sign) for any basis, and hence is referred to as the determinant of the lattice or lattice constant .
The orthogonality defect is the product of the basis vector lengths divided by the parallelepiped volume;
From the geometric definition it may be appreciated that with equality if and only if the basis is orthogonal.
If the lattice reduction problem is defined as finding the basis with the smallest possible defect, then the problem is NP-complete.[1] However, there exist polynomial time algorithms to find a basis with defect where c is some constant depending only on the number of basis vectors and the dimension of the underlying space (if different)[citation needed]. This is a good enough solution in many practical applications[citation needed].
In two dimensions
For a basis consisting of just two vectors, there is a simple and efficient method of reduction closely analogous to the Euclidean algorithm for the greatest common divisor of two integers. As with the Euclidean algorithm, the method is iterative; at each step the larger of the two vectors is reduced by adding or subtracting an integer multiple of the smaller vector.
The pseudocode of the algorithm, often known as Lagrange's algorithm or the Lagrange-Gauss algorithm, is as follows:
Input: a basis for the lattice . Assume that , otherwise swap them. Output: A basis with .
While : # Round to nearest integer
See the section on Lagrange's algorithm in [2] for further details.
Applications
Lattice reduction algorithms are used in a number of modern number theoretical applications, including in the discovery of a spigot algorithm for . Although determining the shortest basis is possibly an NP-complete problem, algorithms such as the LLL algorithm[3] can find a short (not necessarily shortest) basis in polynomial time with guaranteed worst-case performance. LLL is widely used in the cryptanalysis of public key cryptosystems.
When used to find integer relations, a typical input to the algorithm consists of an augmented identity matrix with the entries in the last column consisting of the elements (multiplied by a large positive constant to penalize vectors that do not sum to zero) between which the relation is sought.
The LLL algorithm for computing a nearly-orthogonal basis was used to show that integer programming in any fixed dimension can be done in polynomial time.[4]
Algorithms
The following algorithms reduce lattice bases; several public implementations of these algorithms are also listed.
| Year | Algorithm | Implementation |
|---|---|---|
| 1773 | Lagrange reduction for binary quadratic forms | |
| 1801 | Gauss reduction for binary quadratic forms in his early work Disquisitiones Arithmeticae | |
| 1831 | Gauss mentions in a book review the relationship of certain quadratic forms with 2D and 3D point lattices as a side note (Goettingische gelehrte Anzeigen 1831, section 108) | |
| 1840 | Gauss' book review is reprinted in Crelle's Journal | |
| 1850 | Hermite laying the groundwork for lattice reduction in higher dimensions | |
| 1851 | Eisenstein's paper laying the groundwork for Niggli's theory | |
| 1873 | Korkine and Zolotareff refine Hermite's method (HKZ) | |
| 1874 | Selling reduction for ternary quadratic forms using geometric concepts by Gauss | |
| 1896 | Minkowski reduction by shortest successive vectors (up to 4D) | |
| 1928 | Niggli's reduction for 3D lattices in crystallography to define a best unit cell | |
| 1933 | Delaunay (Delone) reduction optimizing Selling's method for crystallography | |
| 1970 | Santoro and Mighell propose a method to find the reduced unit cell in crystallography | |
| 1982 | Lenstra–Lenstra–Lovász reduction | NTL, fplll |
| 1987 | Block Korkine–Zolotarev[5] | NTL, fplll |
| 1993 | Seysen Reduction[6] |