BFGS法
最適化問題では、 x {\displaystyle \mathbf {x} } を R n {\displaystyle R^{n}} 上のベクトル、 f ( x ) {\displaystyle f(\mathbf {x} )} は微分可能なスカラー値関数とし、 x {\displaystyle \mathbf {x} } の取り得る値に制限はないものとして、 f ( x ) {\displaystyle f(\mathbf {x} )} を最小化する。
このアルゴリズムでは、初期推定値 x 0 {\displaystyle \mathbf {x} _{0}} から初め、各ステージ毎に反復的により良い推定値へと更新していく。
ステージ k における探索方向 pk はニュートン方程式に類似した次の方程式を解くことにより得られる。
B k p k = − ∇ f ( x k ) , {\displaystyle B_{k}\mathbf {p} _{k}=-\nabla f(\mathbf {x} _{k}),}
ここで B k {\displaystyle B_{k}} はヘッセ行列の近似であり、各ステージ毎に反復的に更新する。 ∇ f ( x k ) {\displaystyle \nabla f(\mathbf {x} _{k})} は xk で計算した勾配である。方向 pk を得たのち、この方向に向けて直線探索を行い、 f ( x k + α p k ) {\displaystyle f(\mathbf {x} _{k}+\alpha \mathbf {p} _{k})} を最小とするようなスカラー α > 0 {\displaystyle \alpha >0} を求める。