は対称正定値(SPD)スパース行列です。は、スパース対角行列です。は大きく( > 10000)、の非ゼロの数は通常100〜1000です。G n n G
はコレスキー形式でとして因数分解されています。
がときにと効率的に更新する方法は?D A A + G
Gには正の要素しかありませんか?もしそうなら、ここに簡単な上限があります:ランク1更新の合計として対角線更新を表示します。ランク1更新のLDL ^ t分解を計算するO(n ^ 2)メソッドがあります(グーグル検索で例を提供)。その後、対角線の更新はO(rn ^ 2)で実行されます。rはGの非ゼロの対角要素の数です。これらの更新の特定の性質を考えると、いくつかの計算を保存するショートカットがありますが、それが可能かどうかは明確ではありません次数をO(rn ^ 2)以下に減らします。
私は同意します-コレスキー分解の対角更新を単に分解を繰り返すよりも速くする方法はないと思いますが、ランク1の更新は時間で行うことができます。対角線上の各非ゼロ。G
—
ブライアン
以下のためと数百には、リファクタリング打つのは難しいだろう。のサイズがはるかに大きくなり、が非常にまばらになった場合、成果が得られる可能性があります。いずれにせよ、可能な更新と近似は、対角線と固定対称線形システムを事前計算後に二次時間で解くことができますか?。N N Z(G )A A G
—
ジェドブラウン
ジェッド、あなたのコメントをここに答えてもらうべきだと思います。
—
マイケルグラント