参考文献:
它用于描述 n n n维线性空间某一组基 B = { b 1 , b 2 , ⋯ , b n } B = \{b_1,b_2,\cdots,b_n\} B={b1,b2,⋯,bn}的正交程度。
描述:
H ( B ) : = ∣ d e t ( B ) ∣ ∏ i = 1 n ∥ b i ∥ H(B) := \frac{|det(B)|}{\prod_{i=1}^{n}\|b_i\|} H(B):=∏i=1n∥bi∥∣det(B)∣
其中 d e t ( ⋅ ) det(\cdot) det(⋅)是行列式, ∥ ⋅ ∥ \|\cdot\| ∥⋅∥是L2范数, ∣ ⋅ ∣ |\cdot| ∣⋅∣是绝对值。
0 < H ( B ) ≤ 1 0 < H(B) \le 1 0<H(B)≤1
越接近1,基 B B B的正交性越好。若等于1,那么 B B B是正交基。
对于格 L L L,基底 B B B。乘以幺模矩阵 U U U,更换基底 B ′ = B U B'=BU B′=BU,其Hadamard比率越大,格基向量的平均长度趋势下降(但不严格)
给定 n n n个线性无关的向量 b 1 , b 2 , ⋯ , b n ∈ R n b_1,b_2,\cdots,b_n \in R^n b1,b2,⋯,bn∈Rn,其Gram-Schmidt正交化为
b ~ i : = b i − ∑ j = 1 i − 1 μ i j b ~ j \tilde b_i := b_i - \sum_{j=1}^{i-1} \mu_{ij} \tilde b_j b~i:=bi−j=1∑i−1μijb~j
且
b ~ i ⋅ b ~ j = 0 , 0 ≤ j < i ≤ n \tilde b_i \cdot \tilde b_j = 0,\,\, 0 \le j b~i⋅b~j=0,0≤j<i≤n
其中
μ i j : = b i ⋅ b ~ j b ~ j ⋅ b ~ j \mu_{ij} := \frac{b_i \cdot \tilde b_j}{\tilde b_j \cdot \tilde b_j} μij:=b~j⋅b~jbi⋅b~j
是向量 b i b_i bi在 b ~ j \tilde b_j b~j方向的投影。
LLL算法约化的过程,实际是尽可能用格基去贴近线性空间的正交基的过程。
对于格 L L L的一组劣质基 { b 1 ′ , b 2 ′ , ⋯ , b n ′ } \{b_1',b_2',\cdots,b_n'\} {b1′,b2′,⋯,bn′},LLL算法的输出是一组优质基 { b 1 , b 2 , ⋯ , b n } \{b_1,b_2,\cdots,b_n\} {b1,b2,⋯,bn},并满足如下条件:
令优质基 { b 1 , b 2 , ⋯ , b n } \{b_1,b_2,\cdots,b_n\} {b1,b2,⋯,bn}的Gram-Schmidt正交基为 { b ~ 1 , b ~ 2 , ⋯ , b ~ n } \{\tilde b_1,\tilde b_2,\cdots,\tilde b_n\} {b~1,b~2,⋯,b~n}
Size条件
μ i j ∈ [ − 1 2 , 1 2 ] \mu_{ij} \in [-\frac{1}{2}, \frac{1}{2}] μij∈[−21,21]
Lovász条件
∥ b ~ k + 1 ∥ 2 ≥ ( δ − μ k + 1 , k 2 ) ⋅ ∥ b ~ k ∥ 2 \|\tilde b_{k+1}\|^2 \ge (\delta - \mu_{k+1,k}^2) \cdot \|\tilde b_k\|^2 ∥b~k+1∥2≥(δ−μk+1,k2)⋅∥b~k∥2
这是一个有序性条件,适用于任意 1 4 < δ < 1 \dfrac{1}{4} < \delta < 1 41<δ<1,常常取 δ = 3 4 \delta = \dfrac{3}{4} δ=43
这种优质基称为 δ − L L L \delta-LLL δ−LLL约简基,满足:
∥ b 1 ∥ ≤ ( 2 4 δ − 1 ) n − 1 λ 1 ( L ) \|b_1\| \le (\frac{2}{\sqrt{4 \delta -1}})^{n-1} \lambda_1(L) ∥b1∥≤(4δ−12)n−1λ1(L)
若取 δ = 3 4 \delta = \dfrac{3}{4} δ=43,那么
∥ b 1 ∥ ≤ 2 n − 1 2 λ 1 ( L ) \|b_1\| \le 2^\frac{n-1}{2} \lambda_1(L) ∥b1∥≤22n−1λ1(L)
这是 S V P SVP SVP问题的 γ = 2 n − 1 2 \gamma = 2^\frac{n-1}{2} γ=22n−1近似解。
对于格 L L L的优质基 { b 1 , b 2 , ⋯ , b n } \{b_1,b_2,\cdots,b_n\} {b1,b2,⋯,bn},若以正交基 { b ~ 1 , b ~ 2 , ⋯ , b ~ n } \{\tilde b_1,\tilde b_2,\cdots,\tilde b_n\} {b~1,b~2,⋯,b~n}的标准化为基底,那么可以表示为矩阵 B B B:
B = { ∥ b ~ 1 ∥ μ 2 , 1 ∥ b ~ 1 ∥ ⋯ ⋯ μ n , 1 ∥ b ~ 1 ∥ 0 ∥ b ~ 2 ∥ μ 3 , 2 ∥ b ~ 2 ∥ ⋯ μ n , 2 ∥ b ~ 2 ∥ ⋮ ⋱ ⋮ 0 ⋯ ⋯ ∥ b ~ n − 1 ∥ μ n , n − 1 ∥ b ~ 2 ∥ 0 ⋯ ⋯ 0 ∥ b ~ n ∥ } B = \begin{Bmatrix} \|\tilde b_1\| & \mu_{2,1} \|\tilde b_1\| & \cdots & \cdots & \mu_{n,1} \|\tilde b_1\| \\ 0 & \|\tilde b_2\| & \mu_{3,2} \|\tilde b_2\| & \cdots & \mu_{n,2} \|\tilde b_2\| \\ \vdots & & \ddots & & \vdots \\ 0 & \cdots & \cdots & \|\tilde b_{n-1}\| & \mu_{n,n-1} \|\tilde b_2\| \\ 0 & \cdots & \cdots & 0 & \|\tilde b_{n}\| \\ \end{Bmatrix} B=⎩⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎧∥b~1∥0⋮00μ2,1∥b~1∥∥b~2∥⋯⋯⋯μ3,2∥b~2∥⋱⋯⋯⋯⋯∥b~n−1∥0μn,1∥b~1∥μn,2∥b~2∥⋮μn,n−1∥b~2∥∥b~n∥⎭⎪⎪⎪⎪⎪⎬⎪⎪⎪⎪⎪⎫
Size条件意味着,上三角矩阵 B B B的非枢轴元素绝对值大小不超过枢轴元素的一半。
Lovász条件意味着, B B B对角线上的 2 × 2 2 \times 2 2×2子矩阵
[ ∥ b ~ k ∥ μ k + 1 , k ∥ b ~ k ∥ 0 ∥ b ~ k + 1 ∥ ] \begin{bmatrix} \|\tilde b_k\| & \mu_{k+1,k} \|\tilde b_k\| \\ 0 & \|\tilde b_{k+1}\| \\ \end{bmatrix} [∥b~k∥0μk+1,k∥b~k∥∥b~k+1∥]
它的第二列不比第一列短很多。
事实上, b ~ k \tilde b_k b~k是 b k b_k bk在 S p a n ( b ~ 1 , ⋯ , b ~ k − 1 ) Span(\tilde b_1,\cdots,\tilde b_{k-1}) Span(b~1,⋯,b~k−1)的正交补空间上投影, b ~ k + 1 + μ k + 1 , k ⋅ b ~ k \tilde b_{k+1} + \mu_{k+1,k} \cdot \tilde b_k b~k+1+μk+1,k⋅b~k是 b k + 1 b_{k+1} bk+1在 S p a n ( b ~ 1 , ⋯ , b ~ k − 1 ) Span(\tilde b_1,\cdots,\tilde b_{k-1}) Span(b~1,⋯,b~k−1)的正交补空间上投影。
算法描述:
算法解读:
第2.1
行,暂时选取第一个向量作为Gram-Schmidt正交化的起始向量。
第2.2
行,前 k − 1 k-1 k−1个向量 b j b_j bj近似于 b ~ j \tilde b_j b~j,迭代约简基向量 b k b_k bk;注意 j j j的顺序 (这关乎算法正确性?),以及 μ k j \mu_{kj} μkj需要实时计算。作用:使满足Size条件。
第2.3
行,更新前 k k k个Gram-Schmidt正交基;由于只有 b k b_k bk改变了,更新 b ~ k \tilde b_k b~k即可。
第2.4
行,计算Lovász条件,若满足条件则继续约简下一个向量。
第2.5
行,不满足条件时,交换相邻的基向量;这一操作不改变前 k − 2 k-2 k−2个Gram-Schmidt正交基以及它们的Lovász条件,但这使得第 k k k步满足Lovász条件成为可能。作用:使得新的 b ~ k − 1 \tilde b_{k-1} b~k−1的范数小于旧的 b ~ k − 1 \tilde b_{k-1} b~k−1范数的 δ \delta δ倍,格基缩短。
事实上,如果前 k − 1 k-1 k−1步满足Lovász条件但第 k k k步新加入的基 b ∗ b^* b∗不满足Lovász条件,那么调整基的排列顺序,存在 k ′ < k k' < k k′<k,使得前 k ′ k' k′个基以及基 b ∗ b^* b∗满足Lovász条件。
算法复杂度:
LLL算法是属于概率多项式时间的。证明过程略。
log 1 / δ D B ≤ 1 log 1 / δ ⋅ n ( n − 1 ) 2 ⋅ log ( max ∥ b i ∥ ) \log_{1/\sqrt \delta} D_{B} \le \frac{1}{\log 1/\sqrt \delta} \cdot \frac{n(n-1)}{2} \cdot \log(\max\|b_i\|) log1/δDB≤log1/δ1⋅2n(n−1)⋅log(max∥bi∥)
其中 D B D_B DB是格基 B B B的“potential function”,将格基映射到某个正数,用于描述算法迭代过程中的某些特征的衰减速率。