Alphabeta Math
AlgorithmAlgorithm: AI-adaptedProof: Not applicablePipeline-generatedjudge pass (gpt-6-luna)
How statement and proof provenance work

The first chip identifies the source of the statement or construction; the second identifies the source of its local proof or verification.

  • Literature-sourced: the exact statement appears in a cited source; only wording and notation differ.
  • AI-adapted: a semantically identical restatement of literature-sourced material, modulo indexing, notation, and boundary cases adopted by the library.
  • AI-generated: a genuinely novel statement formulated by AI, with no source for the claim itself.

These labels describe origin, not correctness: citations and verification chips remain separate evidence.

Limited-memory Bfgs two-loop recursion with curvature filtering

Definition

Inputs are a C1 objective f:D→R on an open set D⊆Rn with n≥1, an initial point x0∈D, a positive integer memory length m, a fallback scale γ0>0, line-search constants 0<c1<c2<1/2, and finite expansion, zoom, and iteration budgets E,Z,K∈N (zero is allowed). All evaluations of f and ∇f, and all scalar and vector arithmetic, are exact over R. Initialize k:=0, the current point x:=x0, the current gradient g:=∇f(x0), and an empty history list. If g=0, return stationary. Otherwise, while k<K, store at most m pairs (si,yi) in chronological order, retaining only pairs with siTyi>0. Let ρi=(siTyi)−1 for each stored pair.

At each nonstationary iterate x with current gradient g, all inner products are the Euclidean ones of The Euclidean inner product ⟨x,y⟩=∑k<nxkyk on Rn. Choose γ=γ0 if the list is empty; otherwise choose γ=slastTylastylastTylast. The denominator is positive because the retained pair has positive curvature, so ylast≠0. Compute r=Hkg by the following two loops, then set p=−r:

  1. Set q:=g. Traverse the stored pairs from newest to oldest, setting αi:=ρisiTq and then q:=q−αiyi.
  2. Set r:=γq. Traverse the pairs from oldest to newest, setting βi:=ρiyiTr and then r:=r+si(αi−βi).

If g=0, return stationary. If gTp≥0, clear the list, set p:=−γ0g, and return direction-failure only if this fallback is not a strict descent direction.

Call Finite-budget bracketing and zoom for a strong Wolfe step with (f,x,p,c1,c2,E,Z). If it returns a failure status, return that status with the current point. If it returns α>0, set x+:=x+αp, compute g+:=∇f(x+), and set s:=x+−x, y:=g+−g. If sTy>0, append (s,y) and ρ=(sTy)−1, dropping the oldest pair if the list would exceed m. If sTy≤0, skip that pair and preserve the existing valid list.

After either storing or skipping the new pair, commit the accepted step by setting x:=x+ and g:=g+, then increment k:=k+1. If the updated gradient is zero, return stationary at x; otherwise continue while k<K. When the iteration budget is exhausted, return the current point and iteration-budget-exhausted. A line-search failure returns its status with the current point, and the fallback branch returns direction-failure only if the fallback direction is not a strict descent direction. Finite line-search budgets may fail even when a strong Wolfe step exists.

Output the last point and one of stationary, the line-search status, direction-failure, or iteration-budget-exhausted.

Remarks

The initial inverse-Hessian scale is γI, an SPD matrix. Positive curvature is checked before storing a pair. The pair filter protects the recursion from a zero or negative denominator; it does not turn a failed finite search into an accepted step.

Depends on

Used by

Dependency tree · two levels

18 results within two dependency steps of this one, each drawn at its shortest distance from it. An arrow runs from a result to what uses it, so the chart reads left to right and ends at this result, which carries a heavier outline. Every node is a link to that result. Click elsewhere on the chart to enlarge it.

Sources