Physical observations, guard schedules, and possible outcomes of the below-two trial.
The phase-one oracle normalized around the initial point.
Equations
- V7.Stage3BelowTwoS3F.phaseOneOracle x0 M D oracle = V7.normalizedPairOracle x0 M D oracle
Instances For
The normalized phase-one state at its prescribed accuracy-dependent horizon.
Equations
- V7.Stage3BelowTwoS3F.phaseOneState p eps M D x0 oracle k = V7.Stage3BelowTwoS3F.primalState p (V7.Stage3BelowTwoS3F.horizon p eps M D) (V7.Stage3BelowTwoS3F.phaseOneOracle x0 M D oracle) k
Instances For
The physical oracle observation corresponding to a normalized primal iterate.
Equations
- V7.Stage3BelowTwoS3F.phaseOneObs p eps M D x0 oracle k = O3.PairOracle.observe oracle (x0 + D • (V7.Stage3BelowTwoS3F.phaseOneState p eps M D x0 oracle k).x)
Instances For
The physical endpoint of phase one used as the center of phase two.
Equations
- V7.Stage3BelowTwoS3F.phaseTwoCenter p eps M D x0 oracle = (V7.Stage3BelowTwoS3F.phaseOneObs p eps M D x0 oracle (V7.Stage3BelowTwoS3F.horizon p eps M D)).point
Instances For
The phase-two oracle normalized around the completed primal endpoint.
Equations
- V7.Stage3BelowTwoS3F.phaseTwoOracle p eps M D x0 oracle = V7.normalizedPairOracle (V7.Stage3BelowTwoS3F.phaseTwoCenter p eps M D x0 oracle) M D oracle
Instances For
The physical oracle observation corresponding to a normalized dual query.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The new primal observations after the reused initial query.
Equations
- V7.Stage3BelowTwoS3F.phaseOneNewTrace p eps M D x0 oracle m = List.map (fun (k : ℕ) => V7.Stage3BelowTwoS3F.phaseOneObs p eps M D x0 oracle (k + 1)) (List.range m)
Instances For
The new dual observations after the reused phase-one endpoint.
Equations
- V7.Stage3BelowTwoS3F.phaseTwoNewTrace p eps M D x0 oracle m = List.map (fun (k : ℕ) => V7.Stage3BelowTwoS3F.phaseTwoObs p eps M D x0 oracle (k + 1)) (List.range m)
Instances For
The consecutive cocoercivity checks in the completed primal prefix.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The consecutive cocoercivity checks in the completed dual prefix.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The ordered guard checks from the completed prefixes of both phases.
Equations
- V7.Stage3BelowTwoS3F.allChecks p eps M D x0 oracle m₁ m₂ = V7.Stage3BelowTwoS3F.phaseOneChecks p eps M D x0 oracle m₁ ++ V7.Stage3BelowTwoS3F.phaseTwoChecks p eps M D x0 oracle m₂
Instances For
The possible success, scale-failure, and radius outcomes of a below-two trial report.
- primalSuccess {d : ℕ} {p eps M D : ℝ} {x0 : Point d} {oracle : PairOracle d} (m : ℕ) (hm0 : 0 < m) (hmn : m ≤ horizon p eps M D) (hsmall : lpNorm (conjugateExponent p) (phaseOneObs p eps M D x0 oracle m).gradient ≤ eps) (hprior : ∀ k < m - 1, cocoPairHolds p M (phaseOneObs p eps M D x0 oracle k) (phaseOneObs p eps M D x0 oracle (k + 1))) : FullShape p eps M D x0 oracle { trace := phaseOneNewTrace p eps M D x0 oracle m, checkedGuards := phaseOneChecks p eps M D x0 oracle (m - 1), outcome := TrialOutcome.success (phaseOneObs p eps M D x0 oracle m) } m 0
- primalScale {d : ℕ} {p eps M D : ℝ} {x0 : Point d} {oracle : PairOracle d} (m : ℕ) (hm0 : 0 < m) (hmn : m ≤ horizon p eps M D) (hprior : ∀ k < m - 1, cocoPairHolds p M (phaseOneObs p eps M D x0 oracle k) (phaseOneObs p eps M D x0 oracle (k + 1))) (hlarge : eps < lpNorm (conjugateExponent p) (phaseOneObs p eps M D x0 oracle m).gradient) (hfail : ¬cocoPairHolds p M (phaseOneObs p eps M D x0 oracle (m - 1)) (phaseOneObs p eps M D x0 oracle m)) : FullShape p eps M D x0 oracle { trace := phaseOneNewTrace p eps M D x0 oracle m, checkedGuards := phaseOneChecks p eps M D x0 oracle m, outcome := TrialOutcome.scale (cocoCheck (phaseOneObs p eps M D x0 oracle (m - 1)) (phaseOneObs p eps M D x0 oracle m)) } m 0
- dualSuccess {d : ℕ} {p eps M D : ℝ} {x0 : Point d} {oracle : PairOracle d} (m : ℕ) (hm0 : 0 < m) (hmn : m ≤ horizon p eps M D) (hP : ∀ k < horizon p eps M D, cocoPairHolds p M (phaseOneObs p eps M D x0 oracle k) (phaseOneObs p eps M D x0 oracle (k + 1))) (hQ : ∀ k < m - 1, cocoPairHolds p M (phaseTwoObs p eps M D x0 oracle k) (phaseTwoObs p eps M D x0 oracle (k + 1))) (hsmall : lpNorm (conjugateExponent p) (phaseTwoObs p eps M D x0 oracle m).gradient ≤ eps) : FullShape p eps M D x0 oracle { trace := phaseOneNewTrace p eps M D x0 oracle (horizon p eps M D) ++ phaseTwoNewTrace p eps M D x0 oracle m, checkedGuards := allChecks p eps M D x0 oracle (horizon p eps M D) (m - 1), outcome := TrialOutcome.success (phaseTwoObs p eps M D x0 oracle m) } (horizon p eps M D) m
- dualScale {d : ℕ} {p eps M D : ℝ} {x0 : Point d} {oracle : PairOracle d} (m : ℕ) (hm0 : 0 < m) (hmn : m ≤ horizon p eps M D) (hP : ∀ k < horizon p eps M D, cocoPairHolds p M (phaseOneObs p eps M D x0 oracle k) (phaseOneObs p eps M D x0 oracle (k + 1))) (hQ : ∀ k < m - 1, cocoPairHolds p M (phaseTwoObs p eps M D x0 oracle k) (phaseTwoObs p eps M D x0 oracle (k + 1))) (hlarge : eps < lpNorm (conjugateExponent p) (phaseTwoObs p eps M D x0 oracle m).gradient) (hfail : ¬cocoPairHolds p M (phaseTwoObs p eps M D x0 oracle (m - 1)) (phaseTwoObs p eps M D x0 oracle m)) : FullShape p eps M D x0 oracle { trace := phaseOneNewTrace p eps M D x0 oracle (horizon p eps M D) ++ phaseTwoNewTrace p eps M D x0 oracle m, checkedGuards := allChecks p eps M D x0 oracle (horizon p eps M D) m, outcome := TrialOutcome.scale (cocoCheck (phaseTwoObs p eps M D x0 oracle (m - 1)) (phaseTwoObs p eps M D x0 oracle m)) } (horizon p eps M D) m
- radius {d : ℕ} {p eps M D : ℝ} {x0 : Point d} {oracle : PairOracle d} (hP : ∀ k < horizon p eps M D, cocoPairHolds p M (phaseOneObs p eps M D x0 oracle k) (phaseOneObs p eps M D x0 oracle (k + 1))) (hQ : ∀ k < horizon p eps M D, cocoPairHolds p M (phaseTwoObs p eps M D x0 oracle k) (phaseTwoObs p eps M D x0 oracle (k + 1))) (hlarge : eps < lpNorm (conjugateExponent p) (phaseTwoObs p eps M D x0 oracle (horizon p eps M D)).gradient) : FullShape p eps M D x0 oracle { trace := phaseOneNewTrace p eps M D x0 oracle (horizon p eps M D) ++ phaseTwoNewTrace p eps M D x0 oracle (horizon p eps M D), checkedGuards := allChecks p eps M D x0 oracle (horizon p eps M D) (horizon p eps M D), outcome := TrialOutcome.radius (phaseTwoObs p eps M D x0 oracle (horizon p eps M D)) } (horizon p eps M D) (horizon p eps M D)