← ALL STATEMENTS
AcceptedLemma · Statement with omitted proof

Best rank-k approximation within a sampled column space

Truncating the compressed matrix gives the best rank-k approximation within the selected column space.

Drineas & Mahoney ↗
Source label: lem:restate

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

01 / MATHEMATICAL STATEMENT

Meaning & conditions

Mathematical summary

Truncating the compressed matrix gives the best rank-k approximation within the selected column space.

A−U~kU~k⊤A=A−UC(UC⊤A)k,∥A−UC(UC⊤A)k∥F2=min⁡rank⁡(Y)≤k∥A−UCY∥F2.\begin{aligned}A-\widetilde U_k\widetilde U_k^\top A&=A-U_C(U_C^\top A)_k,\\ \|A-U_C(U_C^\top A)_k\|_F^2&=\min_{\operatorname{rank}(Y)\le k}\|A-U_CY\|_F^2.\end{aligned}

Assumptions & context

  • U_C is an orthonormal basis for range(C), and the factors come from an SVD of U_CᵀA.

Source

Drineas & Mahoney. Lectures on randomized numerical linear algebra.

Source label: lem:restate

02 / LEAN REPRESENTATION

Formal statement

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

theorem lem_restate {m n c ρ k : ℕ} (hk : k ≤ ρ)
    (A : Matrix (Fin m) (Fin n) ℝ) (C : Matrix (Fin m) (Fin c) ℝ)
    (UC : Matrix (Fin m) (Fin ρ) ℝ)
    (hUC_orth : OrthonormalColumns UC)
    (hUC_span : matrixColumnSpace UC = matrixColumnSpace C)
    (U : Matrix (Fin ρ) (Fin ρ) ℝ) (S : Matrix (Fin ρ) (Fin n) ℝ)
    (V : Matrix (Fin n) (Fin n) ℝ)
    (hSVD : IsSingularValueDecomposition (UCᵀ * A) U S V)
    (UWk : Matrix (Fin ρ) (Fin k) ℝ) (hUWk : UWk = leadingColumns hk U)
    (Utilde : Matrix (Fin m) (Fin k) ℝ) (hUtilde : Utilde = UC * UWk) :
    A - Utilde * Utildeᵀ * A = A - UC * truncatedSVD k U S V ∧
    IsLeast
      {x : ℝ | ∃ Y : Matrix (Fin ρ) (Fin n) ℝ, Y.rank ≤ k ∧
        x = frobeniusNorm (A - UC * Y) ^ 2}
      (frobeniusNorm (A - UC * truncatedSVD k U S V) ^ 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.DM2017.LemRestate

/-- The Frobenius norm `‖M‖_F = (∑_{i,j} M_{ij}^2)^{1/2}` of a real matrix, written
explicitly so that it does not clash with the scoped L2-operator norm instance. -/
noncomputable def frobeniusNorm {p q : ℕ} (M : Matrix (Fin p) (Fin q) ℝ) : ℝ :=
  Real.sqrt (∑ i, ∑ j, M i j ^ 2)

/-- A (full) singular value decomposition `W = U S Vᵀ` of a real `p × q` matrix:
`U`, `V` are square orthogonal, and `S` is rectangular diagonal with nonnegative
diagonal entries in nonincreasing order. -/
structure IsSingularValueDecomposition {p q : ℕ} (W : Matrix (Fin p) (Fin q) ℝ)
    (U : Matrix (Fin p) (Fin p) ℝ) (S : Matrix (Fin p) (Fin q) ℝ)
    (V : Matrix (Fin q) (Fin q) ℝ) : Prop where
  left_orthogonal : Uᵀ * U = 1 ∧ U * Uᵀ = 1
  right_orthogonal : Vᵀ * V = 1 ∧ V * Vᵀ = 1
  offdiag_zero : ∀ (i : Fin p) (j : Fin q), (i : ℕ) ≠ (j : ℕ) → S i j = 0
  diag_nonneg : ∀ (i : Fin p) (j : Fin q), (i : ℕ) = (j : ℕ) → 0 ≤ S i j
  diag_nonincreasing : ∀ (i : Fin p) (j : Fin q) (i' : Fin p) (j' : Fin q),
    (i : ℕ) = (j : ℕ) → (i' : ℕ) = (j' : ℕ) →
    (i : ℕ) ≤ (i' : ℕ) → S i' j' ≤ S i j
  factorization : W = U * S * Vᵀ

/-- The top `k` left singular vectors: the first `k` columns of the left factor `U`. -/
def leadingColumns {p k : ℕ} (hk : k ≤ p) (U : Matrix (Fin p) (Fin p) ℝ) :
    Matrix (Fin p) (Fin k) ℝ :=
  U.submatrix id (Fin.castLE hk)

/-- The rank-`k` truncation `W_k = U S_k Vᵀ` of the SVD `W = U S Vᵀ`, where `S_k`
keeps the top `k` singular values and zeroes the rest (the best rank-`k`
approximation of `W`, taken from the SAME SVD whose top-`k` left singular vectors
form `U_{W,k}`). -/
noncomputable def truncatedSVD {p q : ℕ} (k : ℕ) (U : Matrix (Fin p) (Fin p) ℝ)
    (S : Matrix (Fin p) (Fin q) ℝ) (V : Matrix (Fin q) (Fin q) ℝ) :
    Matrix (Fin p) (Fin q) ℝ :=
  U * (Matrix.of fun (i : Fin p) (j : Fin q) => if (i : ℕ) < k then S i j else 0) * Vᵀ

/-- dm2017 Lemma `lem:restate`. `U_C` (`m × ρ_C`) is an orthonormal basis of the column
span of `C`; `W = U_Cᵀ A`; `U_{W,k}` are the top `k` left singular vectors of `W`
(from an SVD `W = U S Vᵀ`); `Ũ_k = U_C U_{W,k}` is the RandLowRank output;
`(U_Cᵀ A)_k` is the rank-`k` truncation of that SVD. Conclusions:
`A - Ũ_k Ũ_kᵀ A = A - U_C (U_Cᵀ A)_k`, and
`‖A - U_C (U_Cᵀ A)_k‖_F^2 = min_{rank(Y) ≤ k} ‖A - U_C Y‖_F^2`. -/
theorem lem_restate {m n c ρ k : ℕ} (hk : k ≤ ρ)
    (A : Matrix (Fin m) (Fin n) ℝ) (C : Matrix (Fin m) (Fin c) ℝ)
    (UC : Matrix (Fin m) (Fin ρ) ℝ)
    (hUC_orth : OrthonormalColumns UC)
    (hUC_span : matrixColumnSpace UC = matrixColumnSpace C)
    (U : Matrix (Fin ρ) (Fin ρ) ℝ) (S : Matrix (Fin ρ) (Fin n) ℝ)
    (V : Matrix (Fin n) (Fin n) ℝ)
    (hSVD : IsSingularValueDecomposition (UCᵀ * A) U S V)
    (UWk : Matrix (Fin ρ) (Fin k) ℝ) (hUWk : UWk = leadingColumns hk U)
    (Utilde : Matrix (Fin m) (Fin k) ℝ) (hUtilde : Utilde = UC * UWk) :
    A - Utilde * Utildeᵀ * A = A - UC * truncatedSVD k U S V ∧
    IsLeast
      {x : ℝ | ∃ Y : Matrix (Fin ρ) (Fin n) ℝ, Y.rank ≤ k ∧
        x = frobeniusNorm (A - UC * Y) ^ 2}
      (frobeniusNorm (A - UC * truncatedSVD k U S V) ^ 2) := by
  sorry

end RNLAPhaseB.DM2017.LemRestate

How to read the formalization

  • IsLeast expresses both attainment and optimality, rather than an unverified infimum formula.
← Back to all statements