式 7 から 9 を組み合わせて使用する必要があります。方程式で不明なのは、ラグランジュ乗数、つまりラムダだけです。それ以外はすべて、利用可能な経験的データに依存するため、単なる数値です。
ラムダの一連の値を指定すると、G(j,r) とヤコビアン J(j,i,r,s) を計算できます。次に、残差とヤコビアンがわかっている場合は、式 9 に示すニュートン法を使用して、連立方程式の根、つまり G(j,r) = 0 となるラムダの値を見つけることができます。
したがって、ラムダの値の初期推定を使用して他の項を計算し、それらの項を使用して推定を更新します。式 7 と 8 を使用するのに概念的な問題はまったくありません。値を差し込むだけです。ただし、これらは多くの数値を合計しているため、注意が必要です。
式 9 は、あまり明確に書かれていないため、少し注意が必要です。この論文では連立方程式について説明しているため、一般的に次のような線形方程式を解くことが期待されます。
J * d_lambda = -G
ここで、d_lambda は推測の変化のベクトル、G は関数の値のベクトル、J はヤコビ値の行列です。論文の表記はかなりごちゃごちゃしており、単純な表現であるべきものがわかりにくくなっています。統合インデックスaを導入してインデックスiとs のペアを置き換えることにより、より明確な形式にすることができます。著者は、メソッドの議論でこの変更について言及しており、4 ページの 2 番目の段落で複合指数を計算するための式を示しています。
全体として、手順は次のようになります (統合インデックスを使用)。
- 最初の推測として機能するラムダをいくつか選択します。たぶんゼロ、または乱数。
- G(a) と J(a,b) を評価します。
- 一次方程式系を解いて、推測の更新を取得します。
- 更新が推測に比べて小さい場合は、停止してください。それ以外の場合は、新しい推測を決定し、手順 2 に戻ります。
これは、Numpy を使用すると非常に実現可能に見えます。この論文では、並列コンピューティング戦略の使用について言及されていましたが、それは 10 年以上前のことです。今日では、はるかに小さな問題のように思えます。