Documentation

LeanPool.ParameterFreeGradient.O3.Foundation

Primitive objects for the O3 probe #

This file fixes the finite-dimensional real model, genuine-real ℓ_p functional, exact pair oracle, and an explicit deterministic interaction machine. In particular, a method can obtain objective information only by a query transition; the smoothness constant, solution radius, optimum value, and an optimizer are not fields of MethodInput.

@[reducible, inline]
abbrev O3.Vec (d : ℕ) :

The finite-dimensional real vector space used by the oracle and algorithms.

Equations
Instances For
    structure O3.PairOracle (d : ℕ) :

    A supplied exact local first-order oracle.

    • value : Vec d → ℝ

      The scalar objective value returned at a query point.

    • gradient : Vec d → Vec d

      The gradient vector returned at a query point.

    Instances For
      structure O3.Observation (d : ℕ) :

      One counted exact pair-oracle response.

      • point : Vec d

        The point at which this oracle response was obtained.

      • value : ℝ

        The objective value returned by this query.

      • gradient : Vec d

        The gradient vector returned by this query.

      Instances For
        def O3.PairOracle.observe {d : ℕ} (oracle : PairOracle d) (x : Vec d) :

        Package a query point with its exact objective value and gradient.

        Equations
        Instances For
          structure O3.MethodInput (d : ℕ) :

          The only numerical/problem data supplied to the O3 state machine.

          • p : ℝ

            The exponent specifying the primal norm geometry.

          • eps : ℝ

            The target bound on the dual norm of the returned gradient.

          • x0 : Vec d

            The initial optimization point.

          • z0 : Vec d

            The second point supplied for secant initialization.

          • M0 : ℝ

            The observable initial scale obtained from the supplied secant data.

          Instances For
            inductive O3.Action (d : ℕ) (State : Type) :

            One deterministic machine action. A continuation receives exactly the pair returned at the point named by query.

            Instances For
              structure O3.FirstOrderMethod (d : ℕ) :

              An explicit deterministic first-order method. Its transition function is fixed before the oracle is supplied and can inspect the objective only through the observations delivered to Action.query.

              • State : Type

                The internal states of the deterministic first-order method.

              • initial : MethodInput d → self.State

                Construct the initial internal state from the permitted method inputs.

              • action : self.State → Action d self.State

                Select the next oracle query or terminal action from an internal state.

              Instances For
                structure O3.RunResult (d : ℕ) :

                Result of a fuel-bounded execution. queries contains every counted post-initialization pair-oracle call, including rejected and terminal calls.

                • returned : Vec d

                  The point returned when the bounded execution succeeds.

                • queries : List (Observation d)

                  Every counted oracle response in the completed execution.

                Instances For
                  def O3.FirstOrderMethod.runFuel {d : ℕ} (method : FirstOrderMethod d) (oracle : PairOracle d) :
                  ℕ → method.State → List (Observation d) → Option (RunResult d)

                  Execute at most the given number of machine steps while accumulating query responses.

                  Equations
                  • One or more equations did not get rendered due to their size.
                  • method.runFuel oracle 0 x✝¹ x✝ = none
                  Instances For
                    def O3.FirstOrderMethod.run {d : ℕ} (method : FirstOrderMethod d) (oracle : PairOracle d) (input : MethodInput d) (fuel : ℕ) :

                    Run a first-order method from its initial state with an empty query history.

                    Equations
                    Instances For
                      def O3.RunResult.callCount {d : ℕ} (result : RunResult d) :

                      The number of oracle responses in a completed run.

                      Equations
                      Instances For

                        The returned point really was queried; a bare unobserved terminal point is not enough for the frozen theorem.

                        Equations
                        Instances For
                          def O3.IsCoordinateGradient {d : ℕ} (f : Vec d → ℝ) (grad : Vec d → Vec d) :

                          The coordinate gradient represents the Frechet derivative. The ambient norm used by Mathlib for differentiability is immaterial in finite dimension.

                          Equations
                          Instances For
                            def O3.MinimizerSet {d : ℕ} (f : Vec d → ℝ) :
                            Set (Vec d)

                            The set of global minimizers of the objective function.

                            Equations
                            Instances For
                              noncomputable def O3.minimizerDistance {d : ℕ} (p : ℝ) (f : Vec d → ℝ) (x0 : Vec d) :

                              The exact source-level ℓ_p distance to the nonempty minimizer set.

                              Equations
                              Instances For
                                def O3.IsLpSmooth {d : ℕ} (p q L : ℝ) (grad : Vec d → Vec d) :

                                The gradient is Lipschitz from the primal ℓ_p norm to the specified dual norm.

                                Equations
                                Instances For
                                  def O3.SecantWitness {d : ℕ} (p q M0 : ℝ) (grad : Vec d → Vec d) (x0 z0 : Vec d) :

                                  Exact nondegenerate secant initialization and its observable scale.

                                  Equations
                                  Instances For
                                    def O3.IsConvexObjective {d : ℕ} (f : Vec d → ℝ) :

                                    Exact convexity hypothesis from the frozen source.

                                    Equations
                                    Instances For
                                      structure O3.AdmissibleInstance (d : ℕ) (p : ℝ) :

                                      One complete admissible instance. The algorithm never receives this structure; it is used only by the correctness theorem.

                                      Instances For

                                        The exact value-gradient oracle associated with an admissible instance.

                                        Equations
                                        Instances For

                                          Extract the observable numerical inputs supplied to the method.

                                          Equations
                                          Instances For
                                            noncomputable def O3.AdmissibleInstance.radius {d : ℕ} {p : ℝ} (P : AdmissibleInstance d p) :

                                            The primal-norm distance from the initial point to the minimizer set.

                                            Equations
                                            Instances For
                                              noncomputable def O3.AdmissibleInstance.condition {d : ℕ} {p : ℝ} (P : AdmissibleInstance d p) :

                                              The dimensionless quantity L R / ε governing the complexity bounds.

                                              Equations
                                              Instances For
                                                noncomputable def O3.AdmissibleInstance.conditionBar {d : ℕ} {p : ℝ} (P : AdmissibleInstance d p) :

                                                The condition quantity truncated below at one.

                                                Equations
                                                Instances For
                                                  def O3.RunResult.hasTargetGradient {d : ℕ} {p : ℝ} (P : AdmissibleInstance d p) (result : RunResult d) :

                                                  The returned point's gradient satisfies the prescribed dual-norm tolerance.

                                                  Equations
                                                  Instances For