Documentation

LeanPool.PLAcceleratedNesterovLean.Core.NesterovSeqGen

Generalized Nesterov Sequence and State-Based Definitions #

Extends the Nesterov scheme with:

These are needed for the Nesterov algorithm with arbitrary initial state (nonzero velocity).

Generalized Nesterov sequence #

def PLAcceleratedNesterovLean.nesterovSeqGen {d : } (f : E d) (η ρ : ) (s₀ : NesterovState d) :

Generalized Nesterov sequence starting from an arbitrary initial state s₀. Generalization of nesterovSeq supporting nonzero initial velocity.

Equations
Instances For
    theorem PLAcceleratedNesterovLean.nesterovSeqGen_zero_vel {d : } (f : E d) (η ρ : ) (x₁ : E d) (n : ) :
    nesterovSeqGen f η ρ { x := x₁, v := 0 } n = nesterovSeq f η ρ x₁ n

    nesterovSeq is nesterovSeqGen with zero initial velocity.

    theorem PLAcceleratedNesterovLean.nesterovSeqGen_succ {d : } (f : E d) (η ρ : ) (s₀ : NesterovState d) (n : ) :
    nesterovSeqGen f η ρ s₀ (n + 1) = nesterovStep f η ρ (nesterovSeqGen f η ρ s₀ n)

    State-based auxiliary definitions #

    noncomputable def PLAcceleratedNesterovLean.normalDispOfState {d : } (π : E dE d) (η : ) (s : NesterovState d) :
    E d

    Normal displacement for a given state: e = x' − π(x').

    Equations
    Instances For
      noncomputable def PLAcceleratedNesterovLean.auxVarOfState {d : } (P : E d →L[] E d) (μ' : ) (π : E dE d) (η : ) (s : NesterovState d) :
      E d

      Auxiliary variable for a given state: u = P⊥v + √μ'·e.

      Equations
      Instances For
        noncomputable def PLAcceleratedNesterovLean.curvatureErrorOfState {d : } (P π : E dE d) (f : E d) (η ρ : ) (s : NesterovState d) :
        E d

        Curvature error for a step: ξ = e' − e − P⊥h.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          noncomputable def PLAcceleratedNesterovLean.stepDispOfState {d : } (f : E d) (η ρ : ) (s : NesterovState d) :
          E d

          Step displacement h = x'_{n+1} − x'_n for a given state.

          Equations
          Instances For
            noncomputable def PLAcceleratedNesterovLean.gradOfState {d : } (f : E d) (η : ) (s : NesterovState d) :
            E d

            Gradient at the lookahead point for a given state.

            Equations
            Instances For
              noncomputable def PLAcceleratedNesterovLean.lyapunovOfState {d : } (P : E d →L[] E d) (μ' : ) (π : E dE d) (f : E d) (η : ) (s : NesterovState d) :

              State-based Lyapunov function: L(s) = (f(x) − f⋆) + ½‖u‖² + λ‖Pv‖² where u = P⊥v + √μ'·e, λ = (1+a)²/(2(1−a)), a = √(μ'·η).

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For

                Equivalence with nesterovSeq-based definitions #

                theorem PLAcceleratedNesterovLean.normalDispOfState_eq_normalDisp {d : } (π : E dE d) (f : E d) (η ρ : ) (x₁ : E d) (n : ) :
                normalDispOfState π η (nesterovSeq f η ρ x₁ n) = normalDisp π f η ρ x₁ n
                theorem PLAcceleratedNesterovLean.auxVarOfState_eq_auxVar {d : } (P : E d →L[] E d) (μ' : ) (π : E dE d) (f : E d) (η ρ : ) (x₁ : E d) (n : ) :
                auxVarOfState P μ' π η (nesterovSeq f η ρ x₁ n) = auxVar P μ' π f η ρ x₁ n
                theorem PLAcceleratedNesterovLean.stepDispOfState_eq_nesterovH {d : } (f : E d) (η ρ : ) (x₁ : E d) (n : ) :
                stepDispOfState f η ρ (nesterovSeq f η ρ x₁ n) = nesterovH f η ρ x₁ n
                theorem PLAcceleratedNesterovLean.gradOfState_eq_nesterovGrad {d : } (f : E d) (η ρ : ) (x₁ : E d) (n : ) :
                gradOfState f η (nesterovSeq f η ρ x₁ n) = nesterovGrad f η ρ x₁ n
                theorem PLAcceleratedNesterovLean.curvatureErrorOfState_eq_curvatureError {d : } (P π : E dE d) (f : E d) (η ρ : ) (x₁ : E d) (n : ) :
                curvatureErrorOfState P π f η ρ (nesterovSeq f η ρ x₁ n) = curvatureError P π f η ρ x₁ n
                theorem PLAcceleratedNesterovLean.lyapunovOfState_eq_lyapunov {d : } (P : E d →L[] E d) (μ' : ) (π : E dE d) (f : E d) (η ρ : ) (x₁ : E d) (n : ) :
                lyapunovOfState P μ' π f η (nesterovSeq f η ρ x₁ n) = lyapunov P μ' π f η ρ x₁ n

                Basic properties #

                theorem PLAcceleratedNesterovLean.lyapunovOfState_nonneg {d : } (P : E d →L[] E d) (μ' : ) (π : E dE d) (f : E d) (η : ) (s : NesterovState d) (hμ' : 0 < μ') ( : 0 < η) (hμη : μ' * η < 1) (hbdd : BddBelow (Set.range f)) :
                0 lyapunovOfState P μ' π f η s