Proof of Theorem 3.14, p. 282 — x*_k(i) = 1 − i/(k+1) solves A_k x = e₁, minimizes f_k, and f*_k = −(β/8)(1 − 1/(k+1))
OpenConvexOptAlg.LowerBounds.thm_3_14_minimizerconvex-optimizationlower-boundsp2o-batch-pfp2ap2o-gran-per-chapterp2o-plan-bookp2o-v1quadratic-minimization
Let and . Let on and . Let be the point with for and for . Then:
- , , and is the only solution of in that span;
- minimizes over , so ;
- the minimal value is
These values feed the closing computation of Theorem 3.14.
Formalization Note The infimum is the real ⨅; it is a genuine infimum here because the statement also asserts that attains it.
Preamble
import Mathlib import Definitions.Def_ConvexOptAlg_LowerBounds_Defs open scoped InnerProductSpace
Formal statement
namespace ConvexOptAlg.LowerBounds
/-- Bubeck, arXiv:1405.4980v2, proof of Theorem 3.14, p. 282. For `1 ≤ k ≤ n` and `β > 0`, the point
`x*_k` with `x*_k(i) = 1 − i/(k+1)` (`i = 1, …, k`, zero beyond) is the unique solution in
`Span(e₁, …, e_k)` of `A_k x = e₁`; it minimizes `f_k(x) = (β/8)xᵀA_k x − (β/4)xᵀe₁` over `ℝⁿ`, and
`f*_k = inf_{x∈ℝⁿ} f_k(x) = f_k(x*_k) = −(β/8)(x*_k)ᵀe₁ = −(β/8)(1 − 1/(k+1))`. -/
theorem thm_3_14_minimizer (n k : ℕ) (β : ℝ) (hβ : 0 < β) (hk : 1 ≤ k) (hkn : k ≤ n) :
(tridiag n k).mulVec (xstarK n k).ofLp = (basisVec n 1).ofLp ∧
xstarK n k ∈ Submodule.span ℝ (basisVec n '' Set.Icc 1 k) ∧
(∀ y ∈ Submodule.span ℝ (basisVec n '' Set.Icc 1 k),
(tridiag n k).mulVec y.ofLp = (basisVec n 1).ofLp → y = xstarK n k) ∧
(∀ y, fK n β k (xstarK n k) ≤ fK n β k y) ∧
⨅ y, fK n β k y = fK n β k (xstarK n k) ∧
fK n β k (xstarK n k) = -(β / 8) * ⟪xstarK n k, basisVec n 1⟫_ℝ ∧
fK n β k (xstarK n k) = -(β / 8) * (1 - 1 / ((k : ℝ) + 1)) := by sorry
end ConvexOptAlg.LowerBounds
Source
Bubeck, arXiv:1405.4980v2, proof of Theorem 3.14, p. 282