AcceptedTheorem · Statement with omitted proof
Deterministic rangefinder error bound
A full-row-rank leading sample block yields a deterministic projection-error estimate.
Halko, Martinsson & Tropp ↗
Source label: thm:main-error-bd
Formal statement. The assumptions and conclusion are explicit; the theorem proof is omitted (sorry).
01 / MATHEMATICAL STATEMENT
Meaning & conditions
Mathematical summary
A full-row-rank leading sample block yields a deterministic projection-error estimate.
Assumptions & context
- Partition the SVD and rotated test matrix at k; Ω₁ has full row rank and Y = AΩ.
Source
Halko, Martinsson & Tropp. Finding structure with randomness.
Source label: thm:main-error-bd
02 / LEAN REPRESENTATION
Formal statement
Statement with omitted proof. Expand the complete file below to read imports, local definitions and surrounding context.
theorem main_error_bd {𝕜 : Type*} [RCLike 𝕜] {m n p ℓ : ℕ} (k : ℕ) (hk : k ≤ n)
(A : Matrix (Fin m) (Fin n) 𝕜) (U : Matrix (Fin m) (Fin p) 𝕜)
(S : Matrix (Fin p) (Fin n) 𝕜) (V : Matrix (Fin n) (Fin n) 𝕜)
(hSVD : IsSVD A U S V)
(Ω : Matrix (Fin n) (Fin ℓ) 𝕜)
(hrank : FullRowRank ((V1 k hk V)ᴴ * Ω))
(Ω1pinv : Matrix (Fin ℓ) (Fin k) 𝕜)
(hpinv : IsMoorePenroseInverse ((V1 k hk V)ᴴ * Ω) Ω1pinv) :
‖(1 - orthogonalProjector (A * Ω)) * A‖ ^ 2 ≤
‖Sigma2 k S‖ ^ 2 + ‖Sigma2 k S * ((V2 k V)ᴴ * Ω) * Ω1pinv‖ ^ 2 ∧
frobeniusNorm ((1 - orthogonalProjector (A * Ω)) * A) ^ 2 ≤
frobeniusNorm (Sigma2 k S) ^ 2 +
frobeniusNorm (Sigma2 k S * ((V2 k V)ᴴ * Ω) * Ω1pinv) ^ 2 := 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.HMT2011MainErrorBd
/-- Trailing index embedding `Fin (n - k) → Fin n`, `i ↦ k + i`, selecting the last `n - k` indices. -/
def trailingFin (k n : ℕ) : Fin (n - k) → Fin n :=
fun i => ⟨k + i.val, by have := i.isLt; omega⟩
/-- `A = U Σ Vᴴ` is a singular value decomposition. `U` is `m × p` with orthonormal columns
(full SVD `p = m`, or thin SVD). `Σ` is `p × n` diagonal with real nonnegative, nonincreasing
diagonal entries. `V` is `n × n` unitary. -/
def IsSVD {𝕜 : Type*} [RCLike 𝕜] {m n p : ℕ} (A : Matrix (Fin m) (Fin n) 𝕜)
(U : Matrix (Fin m) (Fin p) 𝕜) (S : Matrix (Fin p) (Fin n) 𝕜)
(V : Matrix (Fin n) (Fin n) 𝕜) : Prop :=
min m n ≤ p ∧ Uᴴ * U = 1 ∧ Vᴴ * V = 1 ∧ V * Vᴴ = 1 ∧ A = U * S * Vᴴ ∧
(∀ (i : Fin p) (j : Fin n), (i : ℕ) ≠ j → S i j = 0) ∧
(∀ (i : Fin p) (j : Fin n), (i : ℕ) = j → ∃ s : ℝ, 0 ≤ s ∧ S i j = (s : 𝕜)) ∧
(∀ (i : Fin p) (j : Fin n) (i' : Fin p) (j' : Fin n),
(i : ℕ) = j → (i' : ℕ) = j' → (i : ℕ) ≤ i' → ‖S i' j'‖ ≤ ‖S i j‖)
/-- `V₁`: the first `k` columns of `V` (partition [eq:mugpart]). -/
def V1 {𝕜 : Type*} {n : ℕ} (k : ℕ) (hk : k ≤ n) (V : Matrix (Fin n) (Fin n) 𝕜) :
Matrix (Fin n) (Fin k) 𝕜 :=
V.submatrix id (Fin.castLE hk)
/-- `V₂`: the last `n - k` columns of `V` (partition [eq:mugpart]). -/
def V2 {𝕜 : Type*} {n : ℕ} (k : ℕ) (V : Matrix (Fin n) (Fin n) 𝕜) :
Matrix (Fin n) (Fin (n - k)) 𝕜 :=
V.submatrix id (trailingFin k n)
/-- `Σ₂`: the trailing diagonal block of `Σ` (partition [eq:mugpart]). -/
def Sigma2 {𝕜 : Type*} {p n : ℕ} (k : ℕ) (S : Matrix (Fin p) (Fin n) 𝕜) :
Matrix (Fin (p - k)) (Fin (n - k)) 𝕜 :=
S.submatrix (trailingFin k p) (trailingFin k n)
/-- Full row rank: rank equals the number of rows. -/
def FullRowRank {𝕜 : Type*} [Field 𝕜] {r c : ℕ} (M : Matrix (Fin r) (Fin c) 𝕜) : Prop :=
M.rank = r
/-- `X` is the Moore–Penrose pseudoinverse `M⁺` of `M` (the four Penrose conditions). -/
def IsMoorePenroseInverse {𝕜 : Type*} [RCLike 𝕜] {r c : ℕ}
(M : Matrix (Fin r) (Fin c) 𝕜) (X : Matrix (Fin c) (Fin r) 𝕜) : Prop :=
M * X * M = M ∧ X * M * X = X ∧ (M * X)ᴴ = M * X ∧ (X * M)ᴴ = X * M
/-- Frobenius norm `(∑ᵢⱼ |Mᵢⱼ|²)^{1/2}`. -/
noncomputable def frobeniusNorm {𝕜 : Type*} [RCLike 𝕜] {r c : ℕ}
(M : Matrix (Fin r) (Fin c) 𝕜) : ℝ :=
Real.sqrt (∑ i, ∑ j, ‖M i j‖ ^ 2)
/-- HMT 2011, Theorem 9.1 (thm:main-error-bd). `A = UΣVᴴ` is an SVD, `k ≥ 0` with `k ≤ n`,
which is required for the partition [eq:mugpart] to make sense. `Ω` is any test matrix and
`Y = AΩ`. Define `Ω₁ = V₁ᴴΩ` and `Ω₂ = V₂ᴴΩ` [eq:def_Omegaj]. If `Ω₁` has full row rank, then
`|||(I - P_Y)A|||² ≤ |||Σ₂|||² + |||Σ₂Ω₂Ω₁⁺|||²`. This holds both for the spectral norm (first
conjunct) and for the Frobenius norm (second conjunct). `Ω₁⁺` is any matrix satisfying the
Penrose conditions for `Ω₁`, i.e. its unique pseudoinverse. -/
theorem main_error_bd {𝕜 : Type*} [RCLike 𝕜] {m n p ℓ : ℕ} (k : ℕ) (hk : k ≤ n)
(A : Matrix (Fin m) (Fin n) 𝕜) (U : Matrix (Fin m) (Fin p) 𝕜)
(S : Matrix (Fin p) (Fin n) 𝕜) (V : Matrix (Fin n) (Fin n) 𝕜)
(hSVD : IsSVD A U S V)
(Ω : Matrix (Fin n) (Fin ℓ) 𝕜)
(hrank : FullRowRank ((V1 k hk V)ᴴ * Ω))
(Ω1pinv : Matrix (Fin ℓ) (Fin k) 𝕜)
(hpinv : IsMoorePenroseInverse ((V1 k hk V)ᴴ * Ω) Ω1pinv) :
‖(1 - orthogonalProjector (A * Ω)) * A‖ ^ 2 ≤
‖Sigma2 k S‖ ^ 2 + ‖Sigma2 k S * ((V2 k V)ᴴ * Ω) * Ω1pinv‖ ^ 2 ∧
frobeniusNorm ((1 - orthogonalProjector (A * Ω)) * A) ^ 2 ≤
frobeniusNorm (Sigma2 k S) ^ 2 +
frobeniusNorm (Sigma2 k S * ((V2 k V)ᴴ * Ω) * Ω1pinv) ^ 2 := by
sorry
end RNLAPhaseB.HMT2011MainErrorBd
How to read the formalization
- The formal statement includes both spectral and Frobenius versions. The pseudoinverse is specified through its defining equations.