ブロイデン法
数値解析において、ブロイデン法(ブロイデンほう、テンプレート:Lang-en-short)とは準ニュートン法の1種であり、多変数関数の求根に用いられるアルゴリズムである。1965年にテンプレート:仮リンクが発表した[1]。
ニュートン法によりテンプレート:Mathを解く場合、各イテレーションごとにヤコビアンテンプレート:Mvarを用いることになる。しかし、ヤコビアンを計算するには困難で複雑な演算を要する。ブロイデン法では、ヤコビアン全体を最初のイテレーションで1回だけ計算し、以降のイテレーションではランク1更新を用いる。
1979年、Gayによりブロイデン法はサイズテンプレート:Mathの線形システムに適用したときテンプレート:Mathステップで終了することが証明された[2]。しかし、他の準ニュートン法と同様、非線形システムに対しては収束する保証はない。
手法の詳細
1変数方程式の求根
割線法では、テンプレート:Mathのテンプレート:Mathにおける1階微分を有限差分近似する。
その上で、ニュートン法と同様の操作を繰り返す
ここでテンプレート:Mathはイテレーション指数である。
非線形方程式系の求根
テンプレート:Math本の非線形方程式の系
を考える。ここでテンプレート:Mvarはベクトルテンプレート:Mvarのベクトル値関数である。
このような問題に対して、ブロイデンは1次元ニュートン法の微分をヤコビアンテンプレート:Mvarで置き換えて一般化した手法を考案した。ヤコビアンは、次のように割線法における有限差分近似にもとづいて反復的に決定される。
ここでテンプレート:Mathはイテレーション指数である。
のように定義すると、上式は以下のように簡潔に書ける。
上式はテンプレート:Mathが1より大きい場合はテンプレート:仮リンクとなる。ブロイデンは、以下のようにヤコビアンの現状の推定値テンプレート:Mathを最低限の変更により割線方程式を満たすよう改善することを提案した。
これにより以下のフロベニウスノルムが最小化される。
これによりニュートン方向へ進むことができる。
ブロイデンはテンプレート:仮リンクを用いてヤコビアンの逆行列を直接更新することも提案している。
この1つ目の手法は「良いブロイデン法」テンプレート:訳語疑問点とも呼ばれる。
類似手法として、テンプレート:Mathに若干異なる変更を加える手法も導出できる。この2つめの手法は「悪いブロイデン法」テンプレート:訳語疑問点とも呼ばれる(ただし、[3]を参照)。
これは上とはことなる以下のフロベニウスノルムを最小化する。
他にも多くの準ニュートン法が提案されており、これを用いてある関数の勾配の求根を行うことによりその関数の最大値または最小値を見つける、すなわち最適化を行うために活用されている。勾配のヤコビアンはヘッシアンと呼ばれ、対称行列であるため更新式にさらなる制約が追加される。
Broyden Classの手法
上述の2つの手法に加え、ブロイデンは関連する手法の1群を定義した[1]テンプレート:Rp。一般に、Broyden Classテンプレート:訳語疑問点の手法は以下の形式で与えられる[4]テンプレート:Rp。ここで、および、であり、に対して各を定めることによりその手法が決定される。
Broyden classに分類できる手法のいくつかは他の著者により提案されている。
- DFP法はBroyden classに分類できる手法のうち、先述の2手法がブロイデンにより提案されるようりも前に発表されていた唯一の手法である[1]テンプレート:Rp。DFP法はを用いる[4]テンプレート:Rp。
- Schubert's algorithmテンプレート:訳語疑問点または疎ブロイデン法は疎なヤコビアン向けの修正版である[5]。
- Klement (2014) は多方程式系の求根を少ないイテレーションで解く[6][7]。