Eq. (40): the two-update direction under an exact search
ProvedShannoCG.SCONB.bfgsUpdate_mulVec_of_exactbfgsconjugate-gradientp2o-batch-p200bp2o-gran-per-chapterp2o-plan-paperp2o-v1quasi-newton
Let be any real matrix, , and the BFGS update of with . If the line search at step is exact, i.e. , then
This is the first step of Shanno's reduction of the double-update methods to Beale's method: under exact searches only one correction term of the update survives.
Formalization Note Stated generically: is arbitrary, plays the role of and the exact search is the hypothesis .
Preamble
import Mathlib import Definitions.Def_ShannoCG_SCONB_bfgsUpdate open Matrix
Formal statement
namespace ShannoCG.SCONB
/-- Shanno, *Conjugate Gradient Methods with Inexact Searches*, Math. Oper. Res. 3(3) (1978), §IV, p. 251 (PDF 8), eq. (40): under the exact-search condition `p_k' g_{k+1} = 0`, the
direction `d_{k+1} = −Ĥ_{k+1} g_{k+1}` (with `Ĥ_{k+1}` the update (32) of `Ĥ_k`) equals
`−Ĥ_k g_{k+1} + (y_k' Ĥ_k g_{k+1} / p_k' y_k) p_k`.
**Formalization Note.** Stated generically for any matrix `H` and vectors `p, y, g` (`g` plays
`g_{k+1}`); the exact search is the hypothesis `p ⬝ᵥ g = 0`. -/
theorem bfgsUpdate_mulVec_of_exact {n : ℕ} (H : Matrix (Fin n) (Fin n) ℝ) (p y g : Fin n → ℝ)
(hexact : p ⬝ᵥ g = 0) :
-(bfgsUpdate H p y *ᵥ g) = -(H *ᵥ g) + ((y ⬝ᵥ (H *ᵥ g)) / (p ⬝ᵥ y)) • p := by sorry
end ShannoCG.SCONB
Source
Shanno, Conjugate Gradient Methods with Inexact Searches, Math. Oper. Res. 3(3) (1978) 244–256, DOI 10.1287/moor.3.3.244, p. 251 (PDF p. 8), §IV, eq. (40)
Human review
Confirmed by the mission captain (proposal self-audit).
Confirmed by the moderator at approval.