For every vector x∈Rn, there is a unique coefficient vector λ∈Rn so that x=∑i=1nλibi. 高中数学知识
So x can be written as
x=i=1∑n⌊λi⌋bi+i=1∑n(λi−⌊λi⌋)bi.
The left half ∈Λ(B), and the right half ∈Λ(B).
This translates of the parallelepiped placed at lattices points exactly partition the Rn. This is called a tiling of Rn.
平铺
Fundamental parallelepiped can be rewritten as
P(B)={Bx:x∈[0,1[n},
it is the image of the hyper-cube [0,1]n under the linear map given by B. By transformation formula
vol(P(B))=vol([0,1[n)⋅∣det(B)∣.
Fundamental parallelepiped it self depend on the choice of the basis, but its volume doesn’t.
🤔Lemma 3. Let B∈Rn×n and Λ=Λ(B) be the generated lattice. Then the determinant of the lattice det(Λ)=∣det(B)∣ is independent of the chosen basis. Moreover, det(Λ)=vol(P(B)).
Minkowski’s Theorem
闵可夫斯基格点定理
A set K is convex if ∀x,y∈K and 0≤λ≤1, λx+(1−λ)y∈K.
A set K is centrally symmetric if x∈K iff −x∈K.
For convex symmetric set K, we define a Minkowski norm:
∣∣x∣∣K=min{λ≥0:x∈λK},λK={λx∣x∈K}.
That is, ∣∣x∣∣K gives the scaling factor that one needs until the scaled copy of K includes x.
Define y+K={x+y∣x∈K} as the translate of K by y.
Minkowski’s theorem says that every large enough symmetric convex set must contain a non-zero lattice point.
🎯Theorem 4 (Minkowski). Let K⊆Rn be a bounded symmetric convex set with vol(K)>2n. Then K∩(Zn╲{0})=∅.
🎯Theorem 5 (Blichfeldt). Let S⊆Rn be a measurable set with vol(S)>1. Then there are s1,s2∈S with s1−s2∈Zn.
Minkowski’s Theorem for General Lattices
🎯Theorem 6. (Minkowski’s first theorem). Let Λ be a lattice and K be a symmetric convex set with vol(K)>2ndet(Λ). Then K∩(Λ╲{0})=∅.
Shortest Vector
The shortest vector w.r.t. L2-norm:
SVP(Λ)=min{∣∣x∣∣2∣x∈Λ╲{0}}
is its length.
🤔In fact, finding the shortest vector is an NP-hard problem.
We can get some estimates on it.
🎯Theorem 7. Any lattice Λ⊆Rn, one has SVP(Λ)≤n⋅det(Λ)1/n.
🎯Theorem 8 (Minkowski’s second theorem). For any full-rank lattice Λ∈Rn, one has
(i=1∏nλi(Λ))1/n≤n⋅det(Λ)1/n.
Dirichlet’s Theorem
🎯Theorem 9. A vector α∈[0,1]n of real numbers. There are numbers p1,⋯,pn∈Z≥0 and q∈{1,⋯,Q} so that
i=1,⋯,nmax∣qpi−αi∣≤Q1/nq1.
Gram Schmidt Orthogonalisation
To find approximate shortest vector.
A lattice Λ(B), we want to find a non-zero vector in polynomial time that has length ∣∣x∣∣2≤α⋅SVP(Λ(B)). Here α=α(n)≥1, called approximation factor (as small as possible).
The Gram Schmidt orthogonalisation takes indepedent vectors b1,⋯,bn∈Rn as input and computes an orthogonal basis b1∗,⋯,bn∗ so that span(b1,⋯,bk)=span(b1∗,⋯,bk∗) for all k=1,⋯.n.
Pseudo-code
Input: b1,⋯,bn∈Rn
Output: Orthogonal basis b1∗,⋯,bn∗
b1∗←b1
b2∗←b2−μ1,2b1∗ with μ1,2←∣∣b1∗∣∣22⟨b2,b1∗⟩
…
bj∗←bj−∑i<jμi,jbi∗ with μi,j←∣∣bi∗∣∣22⟨bj,bi∗⟩∀j=1,⋯,n
施密特正交化,属于是复习大一上学的线性代数了。
By Cavalieri’s principle (aka 祖暅原理), the shifting does not change the volume of the fundamental parallelepiped. Hence,
det(Λ(B))=vol(P(B))=i=1∏n∣∣bi∗∣∣2.
🎯Theorem 10. Let B be a basis and B∗ be its Gram Schmidt orthogonalisation. Then SVP(Λ(B))≥mini=1,⋯,n∣∣bi∗∣∣2
第一个正交化向量总是相等的。基向量的顺序很重要,这为 LLL 算法埋下伏笔。
The Lenstra-Lenstra-Lovász Algorithm
🎯Theorem 11. Given a regular matrix \mathbf B\in\Q^{n\times n} one can compute a vector x∈Λ(B)╲{0} of length ∣∣x∣∣2≤2n/2⋅SVP(Λ(B)) in polynomial time.
The running time is actually O(n6log3(n∣∣B∣∣∞)).
Consider basis b1,⋯,bn:
Subtracting vectors from each other. In n=2, we can always subtract multiple of b1 from it so that μ1,2≤1/2. In higher dimensions, we can achieve ∣μi,j∣≤1/2 for every i,j.
Switching the order. It might be that b1 is much longer than b2. In this case, we may swap the order of b1 and b2. For higher dimension, we swap bi and bi+1 if ∣∣bi∣∣2≫∣∣bi+1∣∣2.
Coefficient Reduction
A basis is coefficient-reduced if ∣μi,j∣≤1/2 for all i<j.
🤔Lemma 12. Given any basis B one can compute a coefficient-reduced basis B~ in polynomial time so that Λ(B~)=Λ(B) and the Gram Schmidt orthogonalisations are identical.
Main Procedure
📖Definition of LLL-reduced: Let B∈Rn×n be a lattice basis and let μi,j be the coefficients from the Gram Schmidt orthogonalisation. The basis is called LLL-reduced if the following is satisfied.
Coefficient reduced: ∣μi,j∣≤1/2 for all i<j.
Lovász condition: ∣∣bi∗∣∣22≤2∣∣bi+1∗∣∣22 for i=1,⋯,n−1.
🤔Lemma 13. Let B be an LLL-reduced basis. Then ∣∣b1∣∣2≤2n/2⋅SVP(Λ(B)).
By Lovász condition, ∣∣b1∣∣22=∣∣b1∗∣∣22≤2∣∣b2∗∣∣22≤⋯≤2i−1∣∣bi∗∣∣22.
By Theorem 10, SVP(Λ(B))2≥2−n⋅∣∣b1∣∣22.
Taking square roots then gives the claim.
Pseudo-code
Input: A lattice basis B∈Rn×n
Output: An LLL reduced basis B~
Compute a Gram Schmidt orthogonalisation b1∗,⋯,bn∗ with coefficients μi,j and update whenever we change the order of the basis.
while B is not LLL reduced, do
Apply coefficient reduction so that μi,j≤1/2.
If there is an index i with ∣∣bi∗∣∣22>2∣∣bi+1∗∣∣22 then swap bi and bi+1 in the ordering.
🤔Lemma 14. Suppose we have vectors a1,a2 with Gram Schmidt orthogonalisation a1∗,a2∗ so that ∣∣a1∗∣∣22≥2∣∣a2∗∣∣22 and let μ≤1/2. Let a2∗∗,a1∗∗ be the Gram Schmidt orthogonalisation for the reverse order a2,a1. Then ∣∣a2∗∗∣∣2≤3/4⋅∣∣a1∗∣∣2.