L-BFGS法
.. , k − m α i = ρ i s i ⊤ q q = q − α i y i γ k = s k − 1 ⊤ y k − 1 y k − 1 ⊤ y k − 1 H k 0 = γ k I z = H k 0 q F o r i = k − m , k − m + 1 , ... , k − 1 β i = ρ i y i ⊤ z z = z + s i ( α i − β i ) z = − z {\displaystyle {\begin{array}{l}q=g_{k}\\{\mathtt {For}}\ i=k-1,k-2,\ldots ,k-m\\\qquad \alpha _{i}=\rho _{i}s_{i}^{\top }q\\\qquad q=q-\alpha _{i}y_{i}\\\gamma _{k}={\frac {s_{k-1}^{\top }y_{k-1}}{y_{k-1}^{\top }y_{k-1}}}\\H_{k}^{0}=\gamma _{k}I\\z=H_{k}^{0}q\\{\mathtt {For}}\ i=k-m,k-m+1,\ldots ,k-1\\\qquad \beta _{i}=\rho _{i}y_{i}^{\top }z\\\qquad z=z+s_{i}(\alpha _{i}-\beta _{i})\\z=-z\end{array}}}
BFGS法は(したがってL-BFGSも)、滑らかな関数の非制約最小化問題のために設計されているため、微分不可能な成分が含まれる場合や制約を含む関数を扱うためには、アルゴリズムを一部変更する必要がある。よく用いられる変更として有効制約法(英語版)と呼ばれる種のものがあり、これらは現ステップの小さな近傍に制約すれば関数や制約を単純化することができるという考えに基く。