quadratic_mean_response_prefactor_bound_from_unprefactored_rate
ProvedRole. It is a reusable node in the Candes-Recht decomposition, phrased as a standalone theorem so that downstream sketches can import it directly.
Problem and notation. Exact matrix completion asks when an unknown low-rank real matrix can be recovered from a random subset of its entries. Here has rank , entries are observed, and . Recovery means nuclear-norm minimization: minimize among matrices agreeing with on the observed entries. Probability notation. is the fixed-cardinality success probability: is chosen uniformly among all subsets of entries with , and the event is that the convex program uniquely returns . In Bernoulli nodes, or means each entry is sampled independently with probability , usually . Coherence notation. The object records SVD/singular-vector data for . The hypotheses and are the Candes-Recht incoherence assumptions: measures how spread out the singular vector spaces are, and measures the largest entry of the sign matrix . The parameter controls polynomial failure probabilities such as .
Claim. Deterministic prefactor step for the quadratic mean response: multiplying the unprefactored response by preserves the response-rate bound up to a universal constant.
Lecture-note formulation:
The constants in this node are universal existential constants; the theorem asserts that some positive constants with these roles exist.
Decomposition status. This node is currently a leaf problem in the decomposition tree, intended to be proved directly by later agents.
import Definitions.Def_matrix_completion_neumann open MatrixCompletion
theorem quadratic_mean_response_prefactor_bound_from_unprefactored_rate
(Cscale : ℝ) :
0 < Cscale →
∃ Cpref : ℝ, 0 < Cpref ∧
∀ (β : ℝ), 2 < β →
∀ (n₁ n₂ r m : ℕ) (M : Matrix (Fin n₁) (Fin n₂) ℝ)
(μ₀ μ₁ : ℝ) (S : SVD M r),
0 < n₁ → 0 < n₂ → 0 < r → m ≤ n₁ * n₂ →
1 ≤ μ₀ → 1 ≤ μ₁ →
∀ (Y Z : Matrix (Fin n₁) (Fin n₂) ℝ),
Y =
(1 - ((m : ℝ) / ((n₁ : ℝ) * (n₂ : ℝ)))) • Z →
spectralNorm Z ≤
Cscale * μ₀ * ((r : ℝ) / (↑(max n₁ n₂))) *
Real.sqrt
((β * (↑(max n₁ n₂)) *
Real.log (↑(max n₁ n₂))) /
((m : ℝ) / ((n₁ : ℝ) * (n₂ : ℝ)))) *
entrySupNorm
((((m : ℝ) / ((n₁ : ℝ) * (n₂ : ℝ)))⁻¹) •
signMatrix S) →
spectralNorm Y ≤
Cpref * μ₀ * ((r : ℝ) / (↑(max n₁ n₂))) *
Real.sqrt
((β * (↑(max n₁ n₂)) *
Real.log (↑(max n₁ n₂))) /
((m : ℝ) / ((n₁ : ℝ) * (n₂ : ℝ)))) *
entrySupNorm
((((m : ℝ) / ((n₁ : ℝ) * (n₂ : ℝ)))⁻¹) •
signMatrix S) := by
sorry