Transforms equations for numerical solution
数学 において 、 前処理とは、与えられた問題を 数値 解法 に適した形式に調整する、 前処理子 と呼ばれる変換の適用です。前処理は通常、問題の 条件数 を減らすことに関連しています。前処理された問題は、通常、 反復法 によって解決されます。
線形システムの前処理
線型代数 と 数値解析 において 、 行列の 前処理子 とは、が よりも 小さい 条件数を 持つような行列のことです。また 、 ではなく を前処理子 と呼ぶこともよくあります。これは、前 処理子自体が明示的に利用できることはめったにないからです。現代の前処理では、 の適用 、つまり列ベクトルまたは列ベクトルのブロックに を乗算することは、一般に 行列を使用しない形式 で実行されます。 つまり 、 も も (多くの場合 さえも ) も、行列形式では明示的に利用できません。
P
{\displaystyle P}
A
{\displaystyle A}
P
−
1
A
{\displaystyle P^{-1}A}
A
{\displaystyle A}
T
=
P
−
1
{\displaystyle T=P^{-1}}
P
{\displaystyle P}
P
{\displaystyle P}
T
=
P
−
1
{\displaystyle T=P^{-1}}
T
=
P
−
1
{\displaystyle T=P^{-1}}
P
{\displaystyle P}
T
=
P
−
1
{\displaystyle T=P^{-1}}
A
{\displaystyle A}
前処理子は、反復法 で線形システムを解く際に 役立ち ます 。これは、前処理の結果として行列の 条件数 が減少するため、ほとんどの反復線形ソルバーの 収束率 が上がるためです。前処理付き反復ソルバーは、通常、大規模な行列、特に 疎行列 に対して、 ガウス消去法などの直接ソルバーよりも優れたパフォーマンスを発揮します。反復ソルバーは、 行列を使用しない方法 として使用することもできます。つまり、 係数行列が明示的に格納されていない場合は、これが唯一の選択肢になりますが 、行列とベクトルの積を評価することによってアクセスされます。
A
x
=
b
{\displaystyle Ax=b}
x
{\displaystyle x}
A
{\displaystyle A}
説明
について 元の線形システムを解く代わりに 、 適切な 前処理を施したシステム
を検討し
、
について 、
について解くことができます 。
A
x
=
b
{\displaystyle Ax=b}
x
{\displaystyle x}
A
P
−
1
(
P
x
)
=
b
{\displaystyle AP^{-1}(Px)=b}
A
P
−
1
y
=
b
{\displaystyle AP^{-1}y=b}
y
{\displaystyle y}
P
x
=
y
{\displaystyle Px=y}
x
{\displaystyle x}
あるいは、 左前 処理系
を解くこともできる。
P
−
1
(
A
x
−
b
)
=
0.
{\displaystyle P^{-1}(Ax-b)=0.}
どちらのシステムも、前処理行列が 特異でない 限り、元のシステムと同じ解を与えます 。左の前処理はより伝統的です。
P
{\displaystyle P}
両側 前処理システムは
、
例えば行列の対称性を保つために有益な場合があります。元の行列 が実対称で、実前処理子とが を満たす 場合 、 前処理行列 も対称です。両側前処理は、前処理子 とが対角 で 、スケーリングが元の行列の列と行の両方に適用され 、例えば行列のエントリの動的範囲を狭める場合に、
対角スケーリングでよく使用されます。
Q
A
P
−
1
(
P
x
)
=
Q
b
{\displaystyle QAP^{-1}(Px)=Qb}
A
{\displaystyle A}
Q
{\displaystyle Q}
P
{\displaystyle P}
Q
T
=
P
−
1
{\displaystyle Q^{T}=P^{-1}}
Q
A
P
−
1
{\displaystyle QAP^{-1}}
Q
{\displaystyle Q}
P
{\displaystyle P}
A
{\displaystyle A}
前処理の目的は 、たとえば、左または右の前処理済みシステム行列 またはの 条件数 を 減らすことです。条件数が小さいと、反復ソルバーの収束が速くなり、システム行列と右側の摂動に対する解の安定性が向上します。たとえば、より低い コンピュータ精度 を使用して、行列エントリのより積極的な 量子化 が可能になります。
P
−
1
A
{\displaystyle P^{-1}A}
A
P
−
1
{\displaystyle AP^{-1}}
前処理行列 またはが明示的に形成されることはほとんどありません。 与えられたベクトルに
前処理子の解決操作を適用するアクションのみ を計算する必要がある場合があります。
P
−
1
A
{\displaystyle P^{-1}A}
A
P
−
1
{\displaystyle AP^{-1}}
P
−
1
{\displaystyle P^{-1}}
通常、 の選択にはトレードオフがあります 。 演算子は 反復線形ソルバーの各ステップで適用する必要があるため、 演算を適用するコスト (計算時間) は小さくなければなりません。 したがって、最も安価な前処理は になります。これは、 次のとおりです 。 明らかに、これにより元の線形システムが得られ、前処理は何も行いません。 もう一方の極端な例では、 を選択すると が 得られ、 これは最適な 条件数 が 1 で、収束には 1 回の反復が必要です。 ただし、この場合 、 および 前処理を適用することは、元のシステムを解くのと同じくらい困難です。 したがって、 演算子をできるだけ単純に保ちながら線形反復の回数を最小限に抑えるために、これら 2 つの極端な例の中間を として選択します。 以下に、一般的な前処理アプローチの例を示します。
P
{\displaystyle P}
P
−
1
{\displaystyle P^{-1}}
P
−
1
{\displaystyle P^{-1}}
P
=
I
{\displaystyle P=I}
P
−
1
=
I
.
{\displaystyle P^{-1}=I.}
P
=
A
{\displaystyle P=A}
P
−
1
A
=
A
P
−
1
=
I
,
{\displaystyle P^{-1}A=AP^{-1}=I,}
P
−
1
=
A
−
1
,
{\displaystyle P^{-1}=A^{-1},}
P
{\displaystyle P}
P
−
1
{\displaystyle P^{-1}}
前処理反復法
に対する前処理反復法は 、ほとんどの場合、前処理系に適用される標準的な反復法と数学的に同等である 。
例えば、 に対する標準的な リチャードソン反復法は、
A
x
−
b
=
0
{\displaystyle Ax-b=0}
P
−
1
(
A
x
−
b
)
=
0.
{\displaystyle P^{-1}(Ax-b)=0.}
A
x
−
b
=
0
{\displaystyle Ax-b=0}
x
n
+
1
=
x
n
−
γ
n
(
A
x
n
−
b
)
,
n
≥
0.
{\displaystyle \mathbf {x} _{n+1}=\mathbf {x} _{n}-\gamma _{n}(A\mathbf {x} _{n}-\mathbf {b} ),\ n\geq 0.}
事前条件付けされたシステムに適用すると、 事前条件付けされた方法になる。
P
−
1
(
A
x
−
b
)
=
0
,
{\displaystyle P^{-1}(Ax-b)=0,}
x
n
+
1
=
x
n
−
γ
n
P
−
1
(
A
x
n
−
b
)
,
n
≥
0.
{\displaystyle \mathbf {x} _{n+1}=\mathbf {x} _{n}-\gamma _{n}P^{-1}(A\mathbf {x} _{n}-\mathbf {b} ),\ n\geq 0.}
線形システムに対する 一般的な前処理付き 反復法の例としては、 前処理付き共役勾配法 、 共役勾配法 、 一般化最小残差法 などがある。反復法では、反復パラメータを計算するためにスカラー積を使用するため、スカラー積の対応する変更と 、
P
−
1
(
A
x
−
b
)
=
0
{\displaystyle P^{-1}(Ax-b)=0}
A
x
−
b
=
0.
{\displaystyle Ax-b=0.}
行列分割
定常反復法は、 行列 分割 と反復行列によって決定される 。
A
=
M
−
N
{\displaystyle A=M-N}
C
=
I
−
M
−
1
A
{\displaystyle C=I-M^{-1}A}
システム行列は 対称 正定値 であり 、
A
{\displaystyle A}
分割行列は 対称 正定値行列 であり 、
M
{\displaystyle M}
定常反復法は収束することが決定され 、
ρ
(
C
)
<
1
{\displaystyle \rho (C)<1}
条件 数 は、
κ
(
M
−
1
A
)
{\displaystyle \kappa (M^{-1}A)}
κ
(
M
−
1
A
)
≤
1
+
ρ
(
C
)
1
−
ρ
(
C
)
.
{\displaystyle \kappa (M^{-1}A)\leq {\frac {1+\rho (C)}{1-\rho (C)}}\,.}
幾何学的解釈
対称 正定値 行列 の場合、 前処理子 も通常対称正定値になるように選択される。前処理された演算子 も対称正定値であるが、 -ベースの スカラー積 に関してである。この場合、前処理子を適用する際に望ましい効果は、 -ベースの スカラー積 に関して 前処理された演算子の 2次形式を ほぼ球形にすることである。 [1]
A
{\displaystyle A}
P
{\displaystyle P}
P
−
1
A
{\displaystyle P^{-1}A}
P
{\displaystyle P}
P
−
1
A
{\displaystyle P^{-1}A}
P
{\displaystyle P}
可変および非線形前処理
と表記すると、前処理は実際には何らかのベクトル にを掛ける 、つまり積を計算すること で実装されていることが強調されます。 多くのアプリケーションでは、は 行列としてではなく、 ベクトル に作用する演算子として与えられます 。ただし、一部の一般的な前処理は とともに変化し 、 への依存性は線形ではない場合があります。一般的な例としては、前処理構築の一部として、 共役勾配法 などの非線形 反復法 を使用することがあります 。このような前処理は実際には非常に効率的ですが、その動作を理論的に予測することは困難です。
T
=
P
−
1
{\displaystyle T=P^{-1}}
r
{\displaystyle r}
T
{\displaystyle T}
T
r
.
{\displaystyle Tr.}
T
{\displaystyle T}
T
(
r
)
{\displaystyle T(r)}
r
{\displaystyle r}
r
{\displaystyle r}
r
{\displaystyle r}
ランダムな前処理
変数前処理の興味深い特定のケースの1つは、ランダム前処理、たとえばランダム粗グリッド上のマルチグリッド前処理です 。 [ 2 ] 勾配降下 法で使用する場合 、ランダム前処理は確率的勾配降下法の実装と見なすことができ、 勾配降下法 の漸近的な「ジグザグ」パターンを破るため、固定前処理と比較して収束が速くなります 。
スペクトル的に等価な前処理
前処理の最も一般的な用途は、 偏微分方程式 の近似から得られる線形システムの反復解を求めることです。近似品質が優れているほど、行列のサイズは大きくなります。このような場合、最適な前処理の目標は、一方では、 のスペクトル条件数が 行列のサイズとは無関係な定数によって上限が定められるようにすることです。これは、 D'yakonov によって スペクトル等価前 処理と呼ばれています。他方では、 の適用コストは、 理想的には をベクトルで乗算するコストに比例する (行列のサイズとは無関係) 必要があります 。
P
−
1
A
{\displaystyle P^{-1}A}
P
−
1
{\displaystyle P^{-1}}
A
{\displaystyle A}
例
ヤコビ(または対角)前処理
ヤコビ 前処理 は前処理の最も単純な形式の一つで、前処理は行列の対角線になるように選択される。 と仮定すると 、次式が得られる。 これは 対角優勢行列 に効率的である 。 これは梁問題や1次元問題(例: STAAD.Pro )
の解析ソフトウェアで使用される。
P
=
d
i
a
g
(
A
)
.
{\displaystyle P=\mathrm {diag} (A).}
A
i
i
≠
0
,
∀
i
{\displaystyle A_{ii}\neq 0,\forall i}
P
i
j
−
1
=
δ
i
j
A
i
j
.
{\displaystyle P_{ij}^{-1}={\frac {\delta _{ij}}{A_{ij}}}.}
A
{\displaystyle A}
SPAI
スパース 近似逆行列前 処理子は、 を最小化します。 ここで、 は フロベニウス ノルムであり 、は適切に制約された スパース行列 の集合から 得られます。フロベニウスノルムの下では、これは多数の独立した最小二乗問題(各列に1つ)を解くことに帰着します。 のエントリは、 何らかのスパースパターンに制限される必要があります。そうしないと、問題は の正確な逆行列を求めるのと同じくらい困難で時間がかかります 。この方法は、MJ Grote と T. Huckle によって、スパースパターンを選択するアプローチとともに導入されました。 [3]
‖
A
T
−
I
‖
F
,
{\displaystyle \|AT-I\|_{F},}
‖
⋅
‖
F
{\displaystyle \|\cdot \|_{F}}
T
=
P
−
1
{\displaystyle T=P^{-1}}
T
{\displaystyle T}
A
{\displaystyle A}
その他の前処理
外部リンク
前処理付き共役勾配 – math-linux.com
線形システムの解法テンプレート: 反復法の構成要素
固有値問題の前提条件
固有値問題はいくつかの方法で表現することができ、それぞれ独自の前処理が行われます。従来の前処理は、いわゆる スペクトル変換に基づいています。 対象となる固有値が(おおよそ)わかれば、関連する同次線形システムを解くことで対応する固有ベクトルを計算でき、線形システムの前処理が可能になります。最後に、固有値問題をレイリー 商 の最適化として定式化することで、前処理された最適化手法が利用できるようになります。 [4]
線形システムの場合と同様に、 固有値 問題では 、前処理子 を使って行列 を 行列 に 置き換えたくなるかもしれません。しかし、これは、 と の 求める 固有ベクトル が同じである場合にのみ意味があります。これはスペクトル変換の場合に当てはまります。
A
x
=
λ
x
{\displaystyle Ax=\lambda x}
A
{\displaystyle A}
P
−
1
A
{\displaystyle P^{-1}A}
P
{\displaystyle P}
A
{\displaystyle A}
P
−
1
A
{\displaystyle P^{-1}A}
最も一般的なスペクトル変換は、いわゆる シフト・アンド・インバート変換です。これは、 シフトと 呼ばれる 特定のスカラー に対して 、元の固有値問題 が シフト・アンド・インバート問題 に置き換えられるものです 。固有ベクトルは保存され、シフト・アンド・インバート問題は、たとえば 累乗反復 などの反復ソルバーによって解くことができます。これにより、 逆反復 が得られ、これは通常、シフト に最も近い固有値に対応する固有ベクトル に収束します 。 レイリー商反復 は 、可変シフトによるシフト・アンド・インバート法です。
α
{\displaystyle \alpha }
A
x
=
λ
x
{\displaystyle Ax=\lambda x}
(
A
−
α
I
)
−
1
x
=
μ
x
{\displaystyle (A-\alpha I)^{-1}x=\mu x}
α
{\displaystyle \alpha }
スペクトル変換は固有値問題に特有のものであり、線形システムには類似するものがありません。スペクトル変換には、関係する変換の正確な数値計算が必要であり、これが大規模な問題の主なボトルネックになります。
一般的な前処理
線形システムとの密接な関係を作るために、目標の固有値 が(近似的に)わかっていると仮定しましょう。すると、同次線形システム から対応する固有ベクトルを計算できます 。線形システムの左前処理の概念を使用すると、 が得られます。 ここで は 前処理子であり、 リチャードソン反復法 を使用して解くことができます。
λ
⋆
{\displaystyle \lambda _{\star }}
(
A
−
λ
⋆
I
)
x
=
0
{\displaystyle (A-\lambda _{\star }I)x=0}
T
(
A
−
λ
⋆
I
)
x
=
0
{\displaystyle T(A-\lambda _{\star }I)x=0}
T
{\displaystyle T}
x
n
+
1
=
x
n
−
γ
n
T
(
A
−
λ
⋆
I
)
x
n
,
n
≥
0.
{\displaystyle \mathbf {x} _{n+1}=\mathbf {x} _{n}-\gamma _{n}T(A-\lambda _{\star }I)\mathbf {x} _{n},\ n\geq 0.}
の 理想的 前処理 [4]
ムーア ・ペンローズ擬似逆行列は、上記の リチャードソン反復法 をで 1 ステップで収束さ せる前処理子です 。これは 、 で表されるが 、固有空間上の直交射影子であり、 に対応するためです。 この選択は 、3 つの独立した理由により非現実的です。第 1 に、 は実際には不明ですが、その近似値 で置き換えることができます 。第 2 に、正確な ムーア・ペンローズ擬似逆行列 には、探している固有ベクトルの知識が必要です。これは、 が を近似するJacobi-Davidson 前処理子 を使用することで、ある程度回避できます 。最後に、このアプローチでは、システム行列 を持つ線形システムの正確な数値解が必要であり 、これは、大規模な問題では上記のシフトおよび反転法と同じくらいコストがかかります。解の精度が十分でない場合、手順 2 は冗長になる可能性があります。
T
=
(
A
−
λ
⋆
I
)
+
{\displaystyle T=(A-\lambda _{\star }I)^{+}}
γ
n
=
1
{\displaystyle \gamma _{n}=1}
I
−
(
A
−
λ
⋆
I
)
+
(
A
−
λ
⋆
I
)
{\displaystyle I-(A-\lambda _{\star }I)^{+}(A-\lambda _{\star }I)}
P
⋆
{\displaystyle P_{\star }}
λ
⋆
{\displaystyle \lambda _{\star }}
T
=
(
A
−
λ
⋆
I
)
+
{\displaystyle T=(A-\lambda _{\star }I)^{+}}
λ
⋆
{\displaystyle \lambda _{\star }}
λ
~
⋆
{\displaystyle {\tilde {\lambda }}_{\star }}
T
=
(
I
−
P
~
⋆
)
(
A
−
λ
~
⋆
I
)
−
1
(
I
−
P
~
⋆
)
{\displaystyle T=(I-{\tilde {P}}_{\star })(A-{\tilde {\lambda }}_{\star }I)^{-1}(I-{\tilde {P}}_{\star })}
P
~
⋆
{\displaystyle {\tilde {P}}_{\star }}
P
⋆
{\displaystyle P_{\star }}
(
A
−
λ
~
⋆
I
)
{\displaystyle (A-{\tilde {\lambda }}_{\star }I)}
実践的な事前準備
まず、上記のリチャードソン反復法 の 理論値を 現在の近似値に置き換えて 実用的なアルゴリズムを得ましょう。
λ
⋆
{\displaystyle \lambda _{\star }}
λ
n
{\displaystyle \lambda _{n}}
x
n
+
1
=
x
n
−
γ
n
T
(
A
−
λ
n
I
)
x
n
,
n
≥
0.
{\displaystyle \mathbf {x} _{n+1}=\mathbf {x} _{n}-\gamma _{n}T(A-\lambda _{n}I)\mathbf {x} _{n},\ n\geq 0.}
一般的な選択肢は、 レイリー商 関数 を使用することです。実際の前処理は 、 または を使用するだけの簡単なものです。 一部のクラスの固有値問題では、 の効率性が 数値的にも理論的にも実証されています。この選択により、 線形システム用に開発されたさまざまな前処理を固有値問題に簡単に利用できるようになります。
λ
n
=
ρ
(
x
n
)
{\displaystyle \lambda _{n}=\rho (x_{n})}
ρ
(
⋅
)
{\displaystyle \rho (\cdot )}
T
=
(
diag
(
A
)
)
−
1
{\displaystyle T=(\operatorname {diag} (A))^{-1}}
T
=
(
diag
(
A
−
λ
n
I
)
)
−
1
.
{\displaystyle T=(\operatorname {diag} (A-\lambda _{n}I))^{-1}.}
T
≈
A
−
1
{\displaystyle T\approx A^{-1}}
T
≈
A
−
1
{\displaystyle T\approx A^{-1}}
値が変化するため、 リチャードソン反復法 などの最も単純な方法であっても、包括的な理論的収束解析は線形システムの場合に比べてはるかに困難です 。
λ
n
{\displaystyle \lambda _{n}}
外部リンク
代数的固有値問題の解決のためのテンプレート: 実践ガイド
最適化における前処理
勾配降下法の図解
最適化 では 、前処理は通常、 一次 最適化 アルゴリズム を高速化するために使用されます。
説明
たとえば、 勾配降下法 を使用して 実数値関数の 局所的最小値 を見つけるには、現在の点における関数の 勾配 (または近似勾配)の
負 の値に比例するステップを実行します。
F
(
x
)
{\displaystyle F(\mathbf {x} )}
−
∇
F
(
a
)
{\displaystyle -\nabla F(\mathbf {a} )}
x
n
+
1
=
x
n
−
γ
n
∇
F
(
x
n
)
,
n
≥
0.
{\displaystyle \mathbf {x} _{n+1}=\mathbf {x} _{n}-\gamma _{n}\nabla F(\mathbf {x} _{n}),\ n\geq 0.}
前処理は勾配に適用されます。
x
n
+
1
=
x
n
−
γ
n
P
−
1
∇
F
(
x
n
)
,
n
≥
0.
{\displaystyle \mathbf {x} _{n+1}=\mathbf {x} _{n}-\gamma _{n}P^{-1}\nabla F(\mathbf {x} _{n}),\ n\geq 0.}
ここでの前処理は、レベルセットが円のように見えるようにすることを目的としてベクトル空間の幾何学を変更することと見ることができます。 [5] この場合、前処理された勾配は図のように極値の点に近づくことを目指しており、収束が速くなります。
線形システムへの接続
およびが 実列ベクトル
で、が 実 対称 正定値行列 である二次関数の最小値は
、まさに線形方程式の解である 。 であるため、 最小化するための 前処理付き 勾配降下 法は、
F
(
x
)
=
1
2
x
T
A
x
−
x
T
b
,
{\displaystyle F(\mathbf {x} )={\tfrac {1}{2}}\mathbf {x} ^{T}A\mathbf {x} -\mathbf {x} ^{T}\mathbf {b} ,}
x
{\displaystyle \mathbf {x} }
b
{\displaystyle \mathbf {b} }
A
{\displaystyle A}
A
x
=
b
{\displaystyle A\mathbf {x} =\mathbf {b} }
∇
F
(
x
)
=
A
x
−
b
{\displaystyle \nabla F(\mathbf {x} )=A\mathbf {x} -\mathbf {b} }
F
(
x
)
{\displaystyle F(\mathbf {x} )}
x
n
+
1
=
x
n
−
γ
n
P
−
1
(
A
x
n
−
b
)
,
n
≥
0.
{\displaystyle \mathbf {x} _{n+1}=\mathbf {x} _{n}-\gamma _{n}P^{-1}(A\mathbf {x} _{n}-\mathbf {b} ),\ n\geq 0.}
これは、 線形方程式系を 解くための前提条件付き リチャードソン反復法 です。
固有値問題との関連
が実数非ゼロ列ベクトル
で、が実数 対称 正定値行列 であるときの レイリー商
の最小値は の 最小の 固有値 であり、最小化関数は対応する 固有ベクトル である。 は に比例するので 、 を最小化する前処理 勾配降下 法は次 のように なる。
ρ
(
x
)
=
x
T
A
x
x
T
x
,
{\displaystyle \rho (\mathbf {x} )={\frac {\mathbf {x} ^{T}A\mathbf {x} }{\mathbf {x} ^{T}\mathbf {x} }},}
x
{\displaystyle \mathbf {x} }
A
{\displaystyle A}
A
{\displaystyle A}
∇
ρ
(
x
)
{\displaystyle \nabla \rho (\mathbf {x} )}
A
x
−
ρ
(
x
)
x
{\displaystyle A\mathbf {x} -\rho (\mathbf {x} )\mathbf {x} }
ρ
(
x
)
{\displaystyle \rho (\mathbf {x} )}
x
n
+
1
=
x
n
−
γ
n
P
−
1
(
A
x
n
−
ρ
(
x
n
)
x
n
)
,
n
≥
0.
{\displaystyle \mathbf {x} _{n+1}=\mathbf {x} _{n}-\gamma _{n}P^{-1}(A\mathbf {x} _{n}-\rho (\mathbf {x_{n}} )\mathbf {x_{n}} ),\ n\geq 0.}
これは、固有値問題を解くための前処理付きリチャードソン反復法 の類似物です 。
変数の事前条件付け
多くの場合、レベルセットの形状の変化に対応するために、
反復アルゴリズム の一部またはすべてのステップで前処理を変更することが有益な場合があります。
x
n
+
1
=
x
n
−
γ
n
P
n
−
1
∇
F
(
x
n
)
,
n
≥
0.
{\displaystyle \mathbf {x} _{n+1}=\mathbf {x} _{n}-\gamma _{n}P_{n}^{-1}\nabla F(\mathbf {x} _{n}),\ n\geq 0.}
ただし、効率的な前処理を構築するには、多くの場合、計算コストがかかるということに留意する必要があります。前処理の更新にかかるコストの増加により、収束が速くなるというプラスの効果は簡単に打ち消されてしまいます。 が逆ヘッセ行列の BFGS 近似である場合 、 この方法は 準ニュートン法 と呼ばれます 。
P
n
−
1
=
H
n
{\displaystyle P_{n}^{-1}=H_{n}}
参考文献
^ Shewchuk, Jonathan Richard (1994 年 8 月 4 日)。「苦痛のない共役勾配法の紹介」 (PDF) 。
^ Henricus Bouwmeester、Andrew Dougherty、Andrew V Knyazev。共役勾配法と最急降下法の非対称前処理。Procedia Computer Science、第 51 巻、276-285 ページ、Elsevier、2015 年。https://doi.org/10.1016/j.procs.2015.05.241
^ Grote, MJ & Huckle, T. (1997). 「スパース近似逆行列による並列前処理」 SIAM Journal on Scientific Computing . 18 (3): 838–53. doi :10.1137/S1064827594276552.
^ ab Knyazev, Andrew V. (1998). 「前処理付き固有値ソルバー - 矛盾か?」. 数値解析に関する電子取引 . 7 : 104–123.
^ ヒンメルブラウ、デヴィッド M. (1972)。 応用非線形計画法 。ニューヨーク:マグロウヒル。 78–83ページ。 ISBN 0-07-028921-2 。
出典
アクセルソン、オーウェ(1996)。 反復解法 。 ケンブリッジ大学出版局。p.6722。ISBN 978-0-521-55569-2 。
D'yakonov, EG (1996)。楕円問題解決における最適化。CRC-Press。p. 592。ISBN 978-0-8493-2872-5 。
Saad, Yousef & van der Vorst, Henk (2001)。「20 世紀における線形システムの反復解法」。Brezinski, C. & Wuytack, L. (編)。 数値 解析: 20 世紀の歴史的発展 。Elsevier Science Publishers。§8 プレコンディショニング法、pp 193–8。ISBN 0-444-50617-9 。
van der Vorst, HA (2003).大規模線形システム の ための反復クリロフ法 ケンブリッジ大学出版局、ケンブリッジ。ISBN 0-521-81828-1 。
チェン・ケ(2005年)。行列前処理技術と応用。ケンブリッジ:ケンブリッジ大学出版局 。ISBN 978-0521838283 . OCLC 61410324.