Theorem 3.6 — general recursion (3.3.16) of the accelerated gradient method (corrected)
ProvedFirstOrderOpt.Deterministic.accelerated_gradient_recursion_bound_v2Let be closed convex in a normed space, a distance generating function on with prox-function , and convex and differentiable along with -Lipschitz gradient (3.3.2). Let be generated by the accelerated gradient method (3.3.4)–(3.3.6) with from , with , . If (3.3.13) and (3.3.14) for , and (3.3.15) for , then
Formalization Note. The retired version took as a free function (with at most nonnegativity and a three-point identity), which admits ; the corrected version uses FirstOrderOpt.Prox.DistanceGeneratingFunction.V, the prox-function of a distance generating function on exactly as in §3.2. The gradient is tied to (HasFDerivWithinAt along ) with the Lipschitz condition (3.3.2) stated on itself, as in the book. Convexity of is stated through the gradient inequality on . Condition (3.3.15) is required for only, which is all the book's telescoping proof uses (at it would involve the undefined ).
import Mathlib import Definitions.Def_FirstOrderOpt_Prox_DistanceGeneratingFunction
namespace FirstOrderOpt.Deterministic
open FirstOrderOpt.Prox
/-- Theorem 3.6, general recursion (3.3.16), Lan p. 66. Let `X` be closed convex, `ν` a distance
generating function on `X` with prox-function `V = ν.V`, and `f` convex and differentiable along
`X` with `L`-Lipschitz gradient `fGrad` (3.3.2). Let `(x t, xTilde t, xBar t)` be generated by
the accelerated gradient method (3.3.4)–(3.3.6) with `μ = 0`, `x 0 = xBar 0 ∈ X`,
`α t ∈ (0, 1]`. If `α t = q t` (3.3.13), `L α t ≤ 1/γ t` (3.3.14) for `t ∈ [1, k]`, and
`γ t (1 - α t)/α t ≤ γ (t-1)/α (t-1)` (3.3.15) for `t ∈ [2, k]`, then
`f(xBar k) - f(x*) + (α k/γ k)V(x k, x*) ≤ (α k γ 1 (1 - α 1))/(γ k α 1)[f(xBar 0) - f(x*)] +
(α k/γ k)V(x 0, x*)`.
Corrected version: `V` is the Bregman distance of a distance generating function (the retired
free `V` admitted `V ≡ 0`), `f` is convex with `fGrad` its gradient and `L`-Lipschitz, `X` is
closed convex, `α t ∈ (0, 1]`, and `x 0 = xBar 0`. Condition (3.3.15) is required for
`t = 2, …, k` only, as in the book's proof. -/
theorem accelerated_gradient_recursion_bound_v2 {E : Type*} [NormedAddCommGroup E]
[NormedSpace ℝ E]
(X : Set E) (hXconv : Convex ℝ X) (hXclosed : IsClosed X)
(ν : DistanceGeneratingFunction X)
(f : E → ℝ) (L : ℝ) (hL : 0 < L)
(fGrad : E → E →L[ℝ] ℝ)
(hGrad : ∀ x ∈ X, HasFDerivWithinAt f (fGrad x) X x)
(hSmooth : ∀ x ∈ X, ∀ y ∈ X, ‖fGrad x - fGrad y‖ ≤ L * ‖x - y‖)
(hConvex : ∀ x ∈ X, ∀ y ∈ X, f x + (fGrad x) (y - x) ≤ f y)
(x xTilde xBar : ℕ → E) (q γ α : ℕ → ℝ)
(hx : ∀ t, x t ∈ X) (hxBar0 : xBar 0 = x 0)
(k : ℕ) (hk : 1 ≤ k)
(hγpos : ∀ t, 1 ≤ t → t ≤ k → 0 < γ t)
(hαpos : ∀ t, 1 ≤ t → t ≤ k → 0 < α t) (hαle : ∀ t, 1 ≤ t → t ≤ k → α t ≤ 1)
(hTildeDef : ∀ t, 1 ≤ t → t ≤ k → xTilde t = (1 - q t) • xBar (t - 1) + (q t) • x (t - 1))
(hxDef : ∀ t, 1 ≤ t → t ≤ k → ∀ y ∈ X,
γ t * (fGrad (xTilde t)) (x t) + ν.V (x (t - 1)) (x t) ≤
γ t * (fGrad (xTilde t)) y + ν.V (x (t - 1)) y)
(hBarDef : ∀ t, 1 ≤ t → t ≤ k → xBar t = (1 - α t) • xBar (t - 1) + (α t) • x t)
(h13 : ∀ t, 1 ≤ t → t ≤ k → α t = q t)
(h14 : ∀ t, 1 ≤ t → t ≤ k → L * α t ≤ 1 / γ t)
(h15 : ∀ t, 2 ≤ t → t ≤ k → γ t * (1 - α t) / α t ≤ γ (t - 1) / α (t - 1))
(xstar : E) (hxstar : xstar ∈ X) (hxstar_opt : ∀ y ∈ X, f xstar ≤ f y) :
f (xBar k) - f xstar + (α k / γ k) * ν.V (x k) xstar ≤
(α k * γ 1 * (1 - α 1) / (γ k * α 1)) * (f (xBar 0) - f xstar) +
(α k / γ k) * ν.V (x 0) xstar := by sorry
end FirstOrderOpt.Deterministic