The Lenstra–Lenstra–Lovász (LLL) lattice basis reduction algorithm is a polynomial time lattice reduction algorithm invented by Arjen Lenstra, Hendrik Lenstra and László Lovász in 1982. Given a basis B = { b 1 , b 2 , … , b d } {\displaystyle \mathbf {B} =\{\mathbf {b} _{1},\mathbf {b} _{2},\dots ,\mathbf {b} _{d}\}} with n-dimensional integer coordinates, for a lattice L (a discrete subgroup of Rn) with d ≤ n {\displaystyle d\leq n} , the LLL algorithm calculates an LLL-reduced (short, nearly orthogonal) lattice basis in time O ( d 5 n log 3 B ) {\displaystyle {\mathcal {O}}(d^{5}n\log ^{3}B)} where B {\displaystyle B} is the largest length of b i {\displaystyle \mathbf {b} _{i}} under the Euclidean norm, that is, B = max ( ‖ b 1 ‖ 2 , ‖ b 2 ‖ 2 , … , ‖ b d ‖ 2 ) {\displaystyle B=\max \left(\|\mathbf {b} _{1}\|_{2},\|\mathbf {b} _{2}\|_{2},\dots ,\|\mathbf {b} _{d}\|_{2}\right)} . The original applications were to give polynomial-time algorithms for factorizing polynomials with rational coefficients, for finding simultaneous rational approximations to real numbers, and for solving the integer linear programming problem in fixed dimensions.
LLL reduction The precise definition of LLL-reduced is as follows: Given a basis
B = { b 1 , b 2 , … , b n } , {\displaystyle \mathbf {B} =\{\mathbf {b} _{1},\mathbf {b} _{2},\dots ,\mathbf {b} _{n}\},}
define its Gram–Schmidt process orthogonal basis
B ∗ = { b 1 ∗ , b 2 ∗ , … , b n ∗ } , {\displaystyle \mathbf {B} ^{*}=\{\mathbf {b} _{1}^{*},\mathbf {b} _{2}^{*},\dots ,\mathbf {b} _{n}^{*}\},}
and the Gram-Schmidt coefficients
μ i , j = ⟨ b i , b j ∗ ⟩ ⟨ b j ∗ , b j ∗ ⟩ , {\displaystyle \mu _{i,j}={\frac {\langle \mathbf {b} _{i},\mathbf {b} _{j}^{*}\rangle }{\langle \mathbf {b} _{j}^{*},\mathbf {b} _{j}^{*}\rangle }},} for any 1 ≤ j < i ≤ n {\displaystyle 1\leq j<i\leq n} . Then the basis B {\displaystyle B} is LLL-reduced if there exists a parameter δ {\displaystyle \delta } in (0.25, 1] such that the following holds:
… excerpt ends here. Continue reading the full article.
