共役勾配法について
参考文献
- Wendland, H. (2017). Numerical Linear Algebra: An Introduction (Cambridge Texts in Applied Mathematics). Cambridge: Cambridge University Press. doi:10.1017/9781316544938
線形連立方程式と最小化問題
線形連立方程式
を数値的に解く方法は,色々あるが,
共役勾配法とは,
の最小化問題を解く方法である.
どういうことかというと,
である.ただし,
これを使って,
となって,
ここで,最後の不等式は,
つまり,最小化問題
の解
の解
共役勾配法とは
ということで,タイトルに戻って,
共役勾配法とは,
を解く方法であって,求まった解
の解でもある.
具体的には,反復法を用いる.
つまり,
を満たす点列
そして,
共役勾配法の詳細
具体的に点列
と表しておいて,
さて,
と表しておくと,
を満たす
したがって,
すなわち,
となる.
ここで,いくつか記号を導入しておく.
は,解
また,任意の
とくに,
これは,いつもの2乗して足していく内積である.
また,
が成り立つ.
これらの記号をつかうと,
と表せる.
p_j
探索方向 残るは,探索方向を決めるベクトル
これは,
ここで,
であることを言う.
つまり,
なぜ,
と表すことができるからである.
すなわち,このように
p_j の具体的な構成方法
では,
また,
そこで,ここでは,
つまり,
この場合,使用できるのは,
- これまでの探索方向,
,p_0,\dots, p_{j-1} - これまでの解の候補
,x_0, \dots, x_j - 誤差
r_0, \dots, r_{j}
である.
少し天下り的であるが,以下のように表してみる.
であるから,
このように,
となって,これはメモリー使用量的にもとても良い形である.
さらに,この形は,他の探索方向の候補よりも効率がよい.次はこれをより正確に述べよう.
Krylov空間
より正確に述べるために,いくつか記号を定義する.
Krylov空間とは,ある行列
のことである.
上記で構成した,
が成り立ち,
また,
これらの記号を使うと,
この中の一つが,上で構成した共役勾配法による
解との距離
2つのベクトル
として,
共役勾配法によって得られる,
である.
最大の反復回数
共役勾配法の最大の反復回数は,行列
若干の変形
数値計算しやすいように,表示を少し変えておく.
ここで,数値計算しやすい形とは,
- 行列とベクトルの積を含む内積,
よりも\langle \cdot \rangle_A が現れるような形\langle \cdot \rangle_2 - 内積よりもノルムで計算できるような形
という感じである.
今,
であって,これらを変形しておく.
最後の等号は
また,
より,
となる.
共役勾配法のアルゴリズム
ここまでの話をアルゴリズムにすると以下のようになる.
Choose x[0] and epsilon
Set p[0] = r[0] = b - Ax[0]
for j=0 to j=N-1 do
t[j] = Ap[j]
alpha[j] = ||r[j]||^2/<t[j],p[j]>
x[j+1] = x[j] + alpha[j] * p[j]
r[j+1] = r[j] - alpha[j] * t[j]
beta[j+1] = ||r[j+1]||^2/||r[j]||^2
p[j+1] = r[j+1] + beta[j+1] * p[j]
if ||r[j+1|| < epsilon then
break
j++
見にくいな.良い書き方はないか.
この後の展開
この後の展開としては,以下がある.
一般の行列に対する反復解法
行列
CGNR法
をとすれば,CG法が使えるぞっという方法.
であるから,結局
これより,Conjugate Gradient on th Normal equation to minimise the Residual と呼ばれる.
GMRES and MINRES
上の発想から,はじめから
を考えようというものが,GMRESとMINRES
まだよくわかっていない.スクラップを改めて書いていく予定.
制約付きの最小化問題
制約がついている場合にも対応可能.
リーマン多様体上の共役勾配法
制約を
これがやりたくてこのスクラップを書いている.