L-BFGS法
シュラウドルフらによりBFGS法とL-BFGS法それぞれをオンライン(英語版)近似した手法が提示されている。これらの手法は、確率的勾配降下法と同様に、各反復ごとにデータセット全体を評価することなく、ランダム抽出された部分データセットを用いてエラー関数と勾配を評価することにより、計算複雑度を軽減できる。 BFGS法のオンライン近似(O-BFGS)は必ずしも収束しないのに対し、O-LBFGS法はほぼ確実に大域的に収束することが示されている 。
L-BFGS法の亜種を実装した注目すべきオープンソースソフトウェアとしては、次のものが挙げられる。
ALGLIB: C++およびC#でL-BFGS法を実装しており、ボックス/線形制約バージョンであるBLEICも実装されている。
R言語: optim汎用オプティマイザ ルーチンは、L-BFGS-B法を利用している。
Scipy: scipy.optimize モジュールにはL-BFGS-B法も実装されている。
非オープンソースの実装としては、次のものが挙げられる。
L-BFGS-B法は、ACM TOMS アルゴリズム 778として実装されている。2011年2月、L-BFGS-Bコードの原著者の一部によりメジャー アップデート(バージョン 3.0)が投稿された。
Fortran 77による参照実装(Fortran 90インターフェイスもある)。このバージョンもより古いバージョンも、他の多くの言語で再実装されている。
OWL-QN法の設計者自信によるC++実装