Documentation

Atlas.AnAlgorithmistsToolkit.code.LLL

noncomputable def LLL.gramSchmidtVec {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] {n : } (b : Fin nE) :
Fin nE
Instances For
    noncomputable def LLL.gramSchmidtCoeff {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] {n : } (b : Fin nE) (i j : Fin n) :
    Instances For
      def LLL.IsSizeReduced {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] {n : } (b : Fin nE) :
      Instances For
        def LLL.SatisfiesLovász {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] {n : } (b : Fin nE) :
        Instances For
          structure LLL.IsLLLReduced {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] {n : } (b : Fin nE) :
          Instances For
            theorem LLL.gramSchmidtVec_norm_sq_half {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] {n : } (b : Fin nE) (hred : IsLLLReduced b) (i : Fin n) (hi : i + 1 < n) :
            theorem LLL.gramSchmidtVec_norm_sq_geometric {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] {n : } (b : Fin (n + 1)E) (hred : IsLLLReduced b) (j : ) (hj : j < n + 1) :
            theorem LLL.gramSchmidtVec_zero {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] {n : } (b : Fin (n + 1)E) :
            theorem LLL.lattice_norm_ge_min_gramSchmidt_norm {n : } {E : Type u_2} [NormedAddCommGroup E] [InnerProductSpace E] (b : Fin (n + 1)E) (v : E) (hv : v 0) (hv_in : ∃ (c : Fin (n + 1)), v = i : Fin (n + 1), (c i) b i) :
            ∃ (i : Fin (n + 1)), gramSchmidtVec b i v
            theorem LLL.lll_short_vector_bound {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] {n : } (b : Fin (n + 1)E) (hred : IsLLLReduced b) (v : E) (hv : v 0) (hv_in : ∃ (c : Fin (n + 1)), v = i : Fin (n + 1), (c i) b i) :
            b 0 ^ 2 2 ^ n * v ^ 2
            theorem LLL.lll_shortest_vector_approx {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] {n : } (b : Fin (n + 1)E) (hred : IsLLLReduced b) (lam₁ : ) (hlam₁ : lam₁ > 0) (hlam₁_achieved : ∃ (v : E), v 0 (∃ (c : Fin (n + 1)), v = i : Fin (n + 1), (c i) b i) v = lam₁) :
            b 0 2 ^ (n / 2) * lam₁
            theorem LLL.reduced_basis_bounds_lemma5 {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] {n : } (hn : 0 < n) (b : Fin nE) (hb_reduced : IsLLLReduced b) (det_L : ) (hdet : det_L > 0) (hdet_eq : det_L = i : Fin n, gramSchmidtVec b i) :
            i : Fin n, b i 2 ^ (n * (n - 1) / 4) * det_L have H := (Submodule.span (b '' {i : Fin n | i < n - 1})); have last := n - 1, ; 2 ^ (-(n * (n - 1) / 4)) * b last Metric.infDist (b last) H Metric.infDist (b last) H b last
            Instances For
              structure LLL.IsReducedBasis {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] {n : } (b : Fin nE) :
              Instances For