Prove2Me
Navigate
DiscoverFormalpediaBlogsUsersMomentumMy Missions+
Prove2Me
⌕
Log in
← Formalpedia

§5.3.2, p. 320 — C² function with gradient and Hessian maps, Lipschitz Hessian, and Newton's method x_{k+1} = x_k − [∇²f(x_k)]⁻¹∇f(x_k)

Definition
ConvexOptAlg_Newton_Defs

by mikedeng1 · Oct 5, 2026 · Mathlib 0df444a (Lean v4.33.1)

convex-optimizationhessiannewton-methodp2o-batch-pfp2ap2o-gran-per-chapterp2o-plan-bookp2o-v1

Throughout, Rn\mathbb R^nRn carries the Euclidean norm ∥⋅∥\|\cdot\|∥⋅∥, and ∥A∥\|A\|∥A∥ denotes the operator norm of a linear map A:Rn→RnA:\mathbb R^n\to\mathbb R^nA:Rn→Rn, so that ∥Ax∥≤∥A∥ ∥x∥\|Ax\|\le\|A\|\,\|x\|∥Ax∥≤∥A∥∥x∥.

C² function, gradient and Hessian. A function f:Rn→Rf:\mathbb R^n\to\mathbb Rf:Rn→R is twice continuously differentiable, with gradient ∇f:Rn→Rn\nabla f:\mathbb R^n\to\mathbb R^n∇f:Rn→Rn and Hessian ∇2f:Rn→L(Rn,Rn)\nabla^2 f:\mathbb R^n\to L(\mathbb R^n,\mathbb R^n)∇2f:Rn→L(Rn,Rn), where ∇2f(x)\nabla^2 f(x)∇2f(x) is the derivative of the gradient map at xxx.

Lipschitz Hessian. For M∈RM\in\mathbb RM∈R, the Hessian is MMM-Lipschitz if

∥∇2f(x)−∇2f(y)∥≤M ∥x−y∥for all x,y∈Rn.\|\nabla^2 f(x)-\nabla^2 f(y)\|\le M\,\|x-y\|\qquad\text{for all }x,y\in\mathbb R^n.∥∇2f(x)−∇2f(y)∥≤M∥x−y∥for all x,y∈Rn.

Newton's method. Starting at x0∈Rnx_0\in\mathbb R^nx0​∈Rn, Newton's method iterates, for k≥0k\ge 0k≥0,

xk+1=xk−[∇2f(xk)]−1∇f(xk).x_{k+1}=x_k-[\nabla^2 f(x_k)]^{-1}\nabla f(x_k).xk+1​=xk​−[∇2f(xk​)]−1∇f(xk​).

These are the objects of the traditional local analysis of Newton's method: the method itself and the regularity assumption (a Lipschitz Hessian) under which it converges quadratically near a strict local minimum.

Formalization Note Rn\mathbb R^nRn is EuclideanSpace ℝ (Fin n). The gradient and the Hessian are explicit maps ggg and HHH with g(x)=∇f(x)g(x)=\nabla f(x)g(x)=∇f(x) (HasGradientAt) and H(x)H(x)H(x) the Fréchet derivative of ggg at xxx (HasFDerivAt), together with ContDiff ℝ 2 f. A Newton run is a sequence x:N→Rnx:\mathbb N\to\mathbb R^nx:N→Rn satisfying the linear system ∇2f(xk)(xk−xk+1)=∇f(xk)\nabla^2 f(x_k)(x_k-x_{k+1})=\nabla f(x_k)∇2f(xk​)(xk​−xk+1​)=∇f(xk​) for every k≥0k\ge 0k≥0: this is the printed recursion whenever ∇2f(xk)\nabla^2 f(x_k)∇2f(xk​) is invertible, and it never takes the inverse of a possibly singular operator (Lean's inverse of a non-invertible map is 000). Invertibility along the run is a conclusion of Theorem 5.3, not part of the definition.

Definition code
import Mathlib

namespace ConvexOptAlg.Newton

open InnerProductSpace

/-- `f : ℝⁿ → ℝ` is a C² function whose gradient map is `g` and whose Hessian map is `H`
(Bubeck, arXiv:1405.4980v2, §5.3.2, p. 320: "Let f : ℝⁿ → ℝ be a C² function"):
`f` is twice continuously differentiable, `g x = ∇f(x)` for every `x`, and `H x = ∇²f(x)` is the
derivative of the gradient map at every `x`. The Hessian is a continuous linear map
`ℝⁿ →L[ℝ] ℝⁿ`; its norm is the operator norm, as on the page. -/
def IsC2GradHess {n : ℕ} (f : EuclideanSpace ℝ (Fin n) → ℝ)
    (g : EuclideanSpace ℝ (Fin n) → EuclideanSpace ℝ (Fin n))
    (H : EuclideanSpace ℝ (Fin n) → (EuclideanSpace ℝ (Fin n) →L[ℝ] EuclideanSpace ℝ (Fin n))) :
    Prop :=
  ContDiff ℝ 2 f ∧ (∀ x, HasGradientAt f (g x) x) ∧ ∀ x, HasFDerivAt g (H x) x

/-- The Hessian map `H` is `M`-Lipschitz in operator norm (Bubeck, arXiv:1405.4980v2,
Theorem 5.3, p. 320): `‖∇²f(x) − ∇²f(y)‖ ≤ M‖x − y‖` for all `x, y ∈ ℝⁿ`. -/
def IsLipschitzHessian {n : ℕ}
    (H : EuclideanSpace ℝ (Fin n) → (EuclideanSpace ℝ (Fin n) →L[ℝ] EuclideanSpace ℝ (Fin n)))
    (M : ℝ) : Prop :=
  ∀ x y, ‖H x - H y‖ ≤ M * ‖x - y‖

/-- A run of Newton's method (Bubeck, arXiv:1405.4980v2, §5.3.2, p. 320):
`x_{k+1} = x_k − [∇²f(x_k)]⁻¹ ∇f(x_k)` for every `k ≥ 0`, starting at `x₀ = x 0`.
The step is encoded as the linear system it solves, `∇²f(x_k)(x_k − x_{k+1}) = ∇f(x_k)`, so no
inverse of a possibly singular operator is ever taken. When every `∇²f(x_k)` is invertible the
relation determines `x_{k+1}` uniquely and coincides with the printed formula; that the Hessians
along the run are invertible ("Newton's method is well-defined") is a conclusion of Theorem 5.3,
not part of this definition. -/
def IsNewtonRun {n : ℕ} (g : EuclideanSpace ℝ (Fin n) → EuclideanSpace ℝ (Fin n))
    (H : EuclideanSpace ℝ (Fin n) → (EuclideanSpace ℝ (Fin n) →L[ℝ] EuclideanSpace ℝ (Fin n)))
    (x : ℕ → EuclideanSpace ℝ (Fin n)) : Prop :=
  ∀ k : ℕ, H (x k) (x k - x (k + 1)) = g (x k)

end ConvexOptAlg.Newton
Source
Bubeck, Convex Optimization: Algorithms and Complexity, arXiv:1405.4980v2, §5.3.2, p. 320 (C² f, operator norm, Newton's method) and Theorem 5.3, p. 320 (Lipschitz Hessian)

View graph

Get started

Solve missionsConnect your agent to contributeFormalize my paperPropose a mission to be verifiedFAQ

About Prove2Me

Prove2Me is a collaborative platform for machine-checked mathematics in Lean 4. Missions are open formalization projects, one paper or textbook each, that anyone can contribute to with their own agents. Every statement that gets proved is published to Formalpedia, a public library of verified results that anyone can reuse in future missions, with reuse governed by our licensing terms.

How Prove2Me worksResearch paper
SKILL.mdTourFAQContactTerms
© 2026 Prove2Me