← ALL STATEMENTS
AcceptedLemma · Statement with omitted proof

Relative-error guarantee for RandLowRank

A sufficient sample count gives a relative Frobenius-error guarantee with probability at least 0.85.

Drineas & Mahoney ↗
Source label: lem:sample_lem40pfn4

Formal statement. The assumptions and conclusion are explicit; the theorem proof is omitted (sorry).

01 / MATHEMATICAL STATEMENT

Meaning & conditions

Mathematical summary

A sufficient sample count gives a relative Frobenius-error guarantee with probability at least 0.85.

Pr⁡{∥A−U~kU~k⊤A∥F≤(1+ϵ)∥A−Ak∥F}≥0.85\Pr\{\|A-\widetilde U_k\widetilde U_k^\top A\|_F\le(1+\epsilon)\|A-A_k\|_F\}\ge0.85

Assumptions & context

  • The row-energy condition holds, 1 ≤ k ≤ rank(A), 0 < ε < 1/2, and α = k log(n)/ε² > 0; c ≥ c₀α log(α).

Source

Drineas & Mahoney. Lectures on randomized numerical linear algebra.

Source label: lem:sample_lem40pfn4

02 / LEAN REPRESENTATION

Formal statement

Statement with omitted proof. Expand the complete file below to read imports, local definitions and surrounding context.

theorem sample_lem40pfn4 :
    ∃ c0 : ℝ, ∀ (p m k : ℕ) (A : Matrix (Fin m) (Fin (2 ^ p)) ℝ) (ε : ℝ)
      (d : Fin (2 ^ p) → ℝ) (Vk : Matrix (Fin (2 ^ p)) (Fin k) ℝ) (c : ℕ)
      (Ω : Type) [MeasurableSpace Ω] (P : Measure Ω) (idx : Ω → Fin c → Fin (2 ^ p)),
      1 ≤ k → k ≤ min m (2 ^ p) → k ≤ A.rank → 0 < ε → ε < 1 / 2 →
      (∀ i, d i = 1 ∨ d i = -1) →
      IsTopKRightSingularBasis A Vk →
      EqnHUeqn2new d Vk →
      IsProbabilityMeasure P →
      ProbabilityTheory.HasLaw idx
        (Measure.pi (fun _ : Fin c => (PMF.uniformOfFintype (Fin (2 ^ p))).toMeasure)) P →
      0 < (k : ℝ) * Real.log ((2 ^ p : ℕ) : ℝ) / ε ^ 2 →
      (c : ℝ) ≥ c0 * ((k : ℝ) * Real.log ((2 ^ p : ℕ) : ℝ) / ε ^ 2) *
        Real.log ((k : ℝ) * Real.log ((2 ^ p : ℕ) : ℝ) / ε ^ 2) →
      (85 / 100 : ℝ≥0∞) ≤ P {ω |
        (∃ Ut : Matrix (Fin m) (Fin k) ℝ, RandLowRankOutput A
            (A * Matrix.diagonal d * hadamardNormalized p * samplingRescalingMatrix (idx ω)) Ut) ∧
        ∀ Ut : Matrix (Fin m) (Fin k) ℝ, RandLowRankOutput A
            (A * Matrix.diagonal d * hadamardNormalized p * samplingRescalingMatrix (idx ω)) Ut →
          frobNorm (A - Ut * Utᵀ * A) ≤ (1 + ε) * frobNorm (A - A * Vk * Vkᵀ)} := by
  sorry
Complete Lean file and local definitions
import RNLAPhaseB.B3Base
import RNLAPhaseB.Complexity

open MeasureTheory
open scoped Matrix
open scoped Matrix.Norms.L2Operator
open scoped BigOperators
open scoped ENNReal

namespace RNLAPhaseB.DM2017.SampleLem40pfn4

/-- Frobenius norm `‖M‖_F`, written explicitly. -/
noncomputable def frobNorm {a b : ℕ} (M : Matrix (Fin a) (Fin b) ℝ) : ℝ :=
  Real.sqrt (∑ i, ∑ j, M i j ^ 2)

/-- The normalized (Sylvester/Walsh) Hadamard matrix of order `n = 2^p`:
`H i j = (1/√n) (-1)^{⟨i,j⟩}`, where `⟨i,j⟩` counts the common one-bits of `i` and `j`. -/
noncomputable def hadamardNormalized (p : ℕ) : Matrix (Fin (2 ^ p)) (Fin (2 ^ p)) ℝ :=
  fun i j => (1 / Real.sqrt ((2 ^ p : ℕ) : ℝ)) *
    (-1 : ℝ) ^ ((Finset.range p).filter
      (fun b => (i : ℕ).testBit b = true ∧ (j : ℕ).testBit b = true)).card

/-- `V` (b × k) has orthonormal columns spanning a top-`k` right singular subspace of `A`:
it maximizes `‖A V‖_F` over all b × k matrices with orthonormal columns (Ky Fan). -/
def IsTopKRightSingularBasis {a b k : ℕ} (A : Matrix (Fin a) (Fin b) ℝ)
    (V : Matrix (Fin b) (Fin k) ℝ) : Prop :=
  OrthonormalColumns V ∧
    ∀ W : Matrix (Fin b) (Fin k) ℝ, OrthonormalColumns W → frobNorm (A * W) ≤ frobNorm (A * V)

/-- Top-`k` left singular vectors of `A` = top-`k` right singular vectors of `Aᵀ`. -/
def IsTopKLeftSingularBasis {a b k : ℕ} (A : Matrix (Fin a) (Fin b) ℝ)
    (U : Matrix (Fin a) (Fin k) ℝ) : Prop :=
  IsTopKRightSingularBasis Aᵀ U

/-- Sampling-and-rescaling matrix `S ∈ ℝ^{n×c}`: column `t` is `√(n/c) e_{idx t}`. -/
noncomputable def samplingRescalingMatrix {n c : ℕ} (idx : Fin c → Fin n) :
    Matrix (Fin n) (Fin c) ℝ :=
  fun i t => if idx t = i then Real.sqrt ((n : ℝ) / c) else 0

/-- Output relation of steps 7-9 of RandLowRank given `C`: `U_C` an orthonormal basis of
`range C`, `W = U_Cᵀ A` of rank at least `k`, `U_{W,k}` its top-`k` left singular vectors,
and `Ũ_k = U_C U_{W,k}`. -/
def RandLowRankOutput {m n k c : ℕ} (A : Matrix (Fin m) (Fin n) ℝ)
    (C : Matrix (Fin m) (Fin c) ℝ) (Ut : Matrix (Fin m) (Fin k) ℝ) : Prop :=
  ∃ r : ℕ, ∃ UC : Matrix (Fin m) (Fin r) ℝ,
    OrthonormalColumns UC ∧ matrixColumnSpace UC = matrixColumnSpace C ∧
    k ≤ (UCᵀ * A).rank ∧
    ∃ UWk : Matrix (Fin r) (Fin k) ℝ,
      IsTopKLeftSingularBasis (UCᵀ * A) UWk ∧ Ut = UC * UWk

/-- Eqn. (eqn:lem:HU_eqn2new): `‖(H D V_k)_{i*}‖_2^2 ≤ 2k ln(40nk)/n` for all `i`, `n = 2^p`. -/
def EqnHUeqn2new {p k : ℕ} (d : Fin (2 ^ p) → ℝ) (Vk : Matrix (Fin (2 ^ p)) (Fin k) ℝ) : Prop :=
  ∀ i : Fin (2 ^ p),
    l2Norm (fun j => (hadamardNormalized p * Matrix.diagonal d * Vk) i j) ^ 2 ≤
      2 * (k : ℝ) * Real.log (40 * ((2 ^ p : ℕ) : ℝ) * k) / ((2 ^ p : ℕ) : ℝ)

/-- Lemma lem:sample_lem40pfn4 (dm2017).

* `n = 2^p`, as required by the Hadamard transform of Section 5.1.
* `D = diag(d)` is a fixed sign diagonal. It is assumed to satisfy Eqn. (eqn:lem:HU_eqn2new) for
  the top-`k` right singular vectors `V_k` of `A`, and `A_k = A V_k V_kᵀ`.
* The probability is over the `c` i.i.d. uniform with-replacement column indices forming `S`.
* `c_0` is one constant for all inputs.

Domain conditions restored from the source:

* `k ≤ rank A`. The source's SVD notation has `V_{k,⊥} ∈ ℝ^{n×(ρ-k)}`, the bottom `ρ-k` *nonzero*
  singular vectors, so it presupposes `ρ = rank A ≥ k`.
* The positivity of `k ln n / ε²`. The threshold `c_0 (k ln n/ε²) ln(k ln n/ε²)` of
  Eqn. (cvalfinal) is only defined where the logarithm's argument is positive. Lean's junk value
  `Real.log 0 = 0` is not used to extend the source's formula to `n = 1`. -/
theorem sample_lem40pfn4 :
    ∃ c0 : ℝ, ∀ (p m k : ℕ) (A : Matrix (Fin m) (Fin (2 ^ p)) ℝ) (ε : ℝ)
      (d : Fin (2 ^ p) → ℝ) (Vk : Matrix (Fin (2 ^ p)) (Fin k) ℝ) (c : ℕ)
      (Ω : Type) [MeasurableSpace Ω] (P : Measure Ω) (idx : Ω → Fin c → Fin (2 ^ p)),
      1 ≤ k → k ≤ min m (2 ^ p) → k ≤ A.rank → 0 < ε → ε < 1 / 2 →
      (∀ i, d i = 1 ∨ d i = -1) →
      IsTopKRightSingularBasis A Vk →
      EqnHUeqn2new d Vk →
      IsProbabilityMeasure P →
      ProbabilityTheory.HasLaw idx
        (Measure.pi (fun _ : Fin c => (PMF.uniformOfFintype (Fin (2 ^ p))).toMeasure)) P →
      0 < (k : ℝ) * Real.log ((2 ^ p : ℕ) : ℝ) / ε ^ 2 →
      (c : ℝ) ≥ c0 * ((k : ℝ) * Real.log ((2 ^ p : ℕ) : ℝ) / ε ^ 2) *
        Real.log ((k : ℝ) * Real.log ((2 ^ p : ℕ) : ℝ) / ε ^ 2) →
      (85 / 100 : ℝ≥0∞) ≤ P {ω |
        (∃ Ut : Matrix (Fin m) (Fin k) ℝ, RandLowRankOutput A
            (A * Matrix.diagonal d * hadamardNormalized p * samplingRescalingMatrix (idx ω)) Ut) ∧
        ∀ Ut : Matrix (Fin m) (Fin k) ℝ, RandLowRankOutput A
            (A * Matrix.diagonal d * hadamardNormalized p * samplingRescalingMatrix (idx ω)) Ut →
          frobNorm (A - Ut * Utᵀ * A) ≤ (1 + ε) * frobNorm (A - A * Vk * Vkᵀ)} := by
  sorry

end RNLAPhaseB.DM2017.SampleLem40pfn4

How to read the formalization

  • The event requires existence of a valid output and bounds every output satisfying the algorithmic specification. Rank and logarithm-domain conditions make the intended regime explicit.
← Back to all statements