Algorithm Search⌘K

Proofs: Gauss sieve

These are the human proofs of Gauss sieve, at full length.

The Gauss sieve terminates, keeps a pairwise reduced list of at most kissing-number size, and returns a nonzero lattice vector no longer than any vector it processed full

This proof shows: correctness, termination.

Setting. The input is n≥1n \ge 1 linearly independent rows b1,…,bn∈Qmb_1, \ldots, b_n \in \mathbb{Q}^m of the lattice L=L(B)L = L(B), a collision limit c≥1c \ge 1 and a sample budget M≥0M \ge 0. The algorithm keeps a list L\mathcal L and a stack SS of vectors, a collision counter KK and a sample counter. Line numbers refer to the pseudocode on the page. All arithmetic is exact. Two vectors u,wu, w are Gauss-reduced with respect to each other when

2 ∣⟨u,w⟩∣≤min⁡(∥u∥2,∥w∥2).2 \, |\langle u, w \rangle| \le \min(\|u\|^2, \|w\|^2).

The result proved here is about what the algorithm guarantees. That the output is a shortest vector is not proved; for the Gauss sieve this is a heuristic, supported by experiments, and it is not claimed below.

Lemma 1 (one reduction step). Let w≠0w \ne 0 and t=⟨v,w⟩/∥w∥2t = \langle v, w \rangle / \|w\|^2 with ∣t∣>1/2|t| > 1/2, and let qq be the nearest integer to tt. Then ∥v−qw∥2<∥v∥2\|v - q w\|^2 < \|v\|^2, and v−qw∈Lv - q w \in L when v,w∈Lv, w \in L.

Proof. ∥v−qw∥2−∥v∥2=∥w∥2 q(q−2t)\|v - q w\|^2 - \|v\|^2 = \|w\|^2 \, q (q - 2t). If t>1/2t > 1/2 then q≥1q \ge 1 and t≥q−1/2≥q/2t \ge q - 1/2 \ge q/2, with equality in both only for q=1q = 1, t=1/2t = 1/2, which is excluded; so q−2t<0q - 2t < 0 and the product is negative. The case t<−1/2t < -1/2 is symmetric. Integer combinations of lattice vectors are lattice vectors. □\square

The condition 2∣⟨v,w⟩∣>∥w∥22 |\langle v, w \rangle| > \|w\|^2 used on lines L4 and L6 is ∣t∣>1/2|t| > 1/2.

Lemma 2 (discreteness). Let ss be a common denominator of the entries of BB. Every vector the algorithm handles is in LL, so its entries are in 1sZ\frac1s \mathbb{Z} and its squared length is in 1s2Z≥0\frac{1}{s^2} \mathbb{Z}_{\ge 0}.

Proof. Basis rows and samples ∑xibi\sum x_i b_i are in LL; reductions keep LL by Lemma 1. □\square

Lemma 3 (line L4 terminates). The reduction loop of line L4 stops, and when it stops either v=0v = 0 or 2∣⟨v,w⟩∣≤∥w∥22 |\langle v, w \rangle| \le \|w\|^2 for every w∈Lw \in \mathcal L with ∥w∥≤∥v∥\|w\| \le \|v\|.

Proof. Each reduction makes ∥v∥2\|v\|^2 strictly smaller (Lemma 1), and by Lemma 2 these values lie in the discrete set 1s2Z≥0\frac{1}{s^2} \mathbb{Z}_{\ge 0}, so there are finitely many reductions. The loop stops either at v=0v = 0 or after a full pass over L\mathcal L without a reduction, which is the stated condition. □\square

Lemma 4 (the list invariant). At every test of line L2, every vector of L\mathcal L is a nonzero vector of LL, and every two vectors at different positions of L\mathcal L are Gauss-reduced.

Proof. Initially L\mathcal L is empty. The list changes only on lines L7 and L8, after line L4 has produced a nonzero vv. Pairs of vectors that stay in the list are unchanged. For the new vector vv and a vector ww that stays: if ∥w∥≤∥v∥\|w\| \le \|v\|, Lemma 3 gives 2∣⟨v,w⟩∣≤∥w∥2=min⁡2 |\langle v, w \rangle| \le \|w\|^2 = \min; if ∥w∥>∥v∥\|w\| > \|v\|, then ww stays only when 2∣⟨v,w⟩∣≤∥v∥2=min⁡2 |\langle v, w \rangle| \le \|v\|^2 = \min. □\square

Lemma 5 (size of the list). At every moment ∣L∣≤τn|\mathcal L| \le \tau_n, the kissing number in dimension nn, the largest number of points on the unit sphere of Rn\mathbb{R}^n with pairwise angles at least 60°60°.

Proof. The vectors of L\mathcal L lie in span⁡(L)\operatorname{span}(L), a space of dimension nn. For two of them at different positions, Lemma 4 gives

∣⟨u,w⟩∣∥u∥∥w∥≤min⁡(∥u∥2,∥w∥2)2∥u∥∥w∥≤12,\frac{|\langle u, w \rangle|}{\|u\| \|w\|} \le \frac{\min(\|u\|^2, \|w\|^2)}{2 \|u\| \|w\|} \le \frac12,

so the angle between uu and ww is between 60°60° and 120°120°. In particular no two of them are equal or opposite, so the unit vectors u/∥u∥u / \|u\| are ∣L∣|\mathcal L| distinct points on the unit sphere with pairwise angles at least 60°60°. □\square

Lemma 6 (the shortest list vector only improves). Let ℓ\ell be the smallest squared length in L\mathcal L (with ℓ=∞\ell = \infty while L\mathcal L is empty). Then ℓ\ell never increases, and after a nonzero vector uu is taken on line L3, ℓ≤∥u∥2\ell \le \|u\|^2 from then on.

Proof. Line L7 removes a vector ww only when the vector vv added on line L8 has ∥v∥<∥w∥\|v\| < \|w\|, so the minimum does not go up. Line L4 does not change L\mathcal L. Now take u≠0u \ne 0 on line L3. If line L4 makes no reduction, uu itself is added on line L8. Otherwise its first reduction uses some w∈Lw \in \mathcal L with ∥w∥≤∥u∥\|w\| \le \|u\|, so already ℓ≤∥u∥2\ell \le \|u\|^2. Since ℓ\ell never increases, the bound holds from then on. □\square

Lemma 7 (termination). The main loop ends.

Proof. Each iteration either draws a sample, which happens at most MM times, or pops a vector from SS. We show that only finitely many iterations of the second kind can follow each other. Let Φ\Phi be the multiset of the squared lengths of all vectors in L\mathcal L and in SS, ordered by the multiset order (Dershowitz and Manna), which is well-founded because the values lie in the well-ordered set 1s2Z≥0\frac{1}{s^2} \mathbb{Z}_{\ge 0} (Lemma 2). Consider an iteration that pops vv from SS.

  • If line L4 reduces vv to 0, the value ∥v∥2\|v\|^2 leaves Φ\Phi: Φ\Phi decreases.
  • Otherwise vv is replaced by a vector of squared length at most ∥v∥2\|v\|^2 and moved to L\mathcal L, and every vector moved from L\mathcal L to SS on line L7 is replaced by a strictly shorter one (Lemma 1). If any of these lengths strictly decreased, Φ\Phi decreases. If none did, Φ\Phi is unchanged and ∣S∣|S| decreased by 1, since vv left SS and nothing was pushed.

So the pair (Φ,∣S∣)(\Phi, |S|) decreases in the lexicographic order at each such iteration, which is again a well-founded order. Line L4 terminates by Lemma 3, and the other lines are finite. So the loop runs for finitely many iterations. □\square

Theorem. The procedure terminates. Its output vv is a vector of the final list, of the smallest length in it, and

  1. vv is a nonzero vector of LL, with ∥v∥≤min⁡i∥bi∥\|v\| \le \min_i \|b_i\| and ∥v∥≤∥u∥\|v\| \le \|u\| for every nonzero vector uu taken on line L3;
  2. the final list is pairwise Gauss-reduced and has at most τn\tau_n vectors.

Proof. Termination is Lemma 7. The loop stops only when SS is empty, so all basis rows, which start on SS, were taken on line L3. The first of them, b1b_1, meets an empty list, so it is added and L\mathcal L is nonempty from then on; by Lemmas 4 and 6, the list never becomes empty again, because a vector is removed only when another is added. So the minimum on line L9 exists, v≠0v \ne 0 and v∈Lv \in L by Lemma 4, and Lemma 6 gives ∥v∥2=ℓ≤∥u∥2\|v\|^2 = \ell \le \|u\|^2 for every nonzero uu processed, in particular for every bib_i. Part 2 is Lemmas 4 and 5. ■\blacksquare

What is not proved. Nothing above shows ∥v∥=λ1(L)\|v\| = \lambda_1(L). Micciancio and Voulgaris proved bounds of the form 2O(n)2^{O(n)} for the related List Sieve, but not for the Gauss sieve, where the stack can make the number of iterations grow without a known bound in terms of nn. The success of the method rests on experiments and on heuristic arguments about random samples.

Back to Gauss sieve