反復法としての共役勾配法
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/11/29 01:56 UTC 版)
「共役勾配法」の記事における「反復法としての共役勾配法」の解説
共役なベクトル列pkを注意深く選ぶことにより、一部のベクトルからx*の良い近似を得られる可能性がある。そこで、共役勾配法を反復法として利用することを考える。こうすることで、nが非常に大きく、直接法では解くのに時間がかかりすぎるような問題にも適用することができる。 x*の初期値をx0 = 0 とする。x*が二次形式 f ( x ) = 1 2 x T A x − b T x , x ∈ R n . {\displaystyle f(\mathbf {x} )={\frac {1}{2}}\mathbf {x} ^{\mathrm {T} }\mathbf {A} \mathbf {x} -\mathbf {b} ^{\mathrm {T} }\mathbf {x} ,\quad \mathbf {x} \in \mathbf {R} ^{n}.} を最小化する一意な解であることに注意し、最初の基底ベクトルp1をx = x0でのfの勾配Ax0−b=−bとなるように取る。このとき、基底の他のベクトルは勾配に共役である。そこで、この方法を共役勾配法と呼ぶ。 rkをkステップ目での残差 r k = b − A x k {\displaystyle \mathbf {r} _{k}=\mathbf {b} -\mathbf {Ax} _{k}} とする。rkはx = xkでのfの負の勾配であることに注意されたい。最急降下法はrkの方向に進む解法である。pkは互いに共役でなければならないので、rkに最も近い方向を共役性を満たすように取る。これは p k + 1 = r k + 1 − p k T A r k + 1 p k T A p k p k {\displaystyle \mathbf {p} _{k+1}=\mathbf {r} _{k+1}-{\frac {\mathbf {p} _{k}^{\mathrm {T} }\mathbf {A} \mathbf {r} _{k+1}}{\mathbf {p} _{k}^{\mathrm {T} }\mathbf {A} \mathbf {p} _{k}}}\mathbf {p} _{k}} のように表すことができる(記事冒頭の図を参照)。
※この「反復法としての共役勾配法」の解説は、「共役勾配法」の解説の一部です。
「反復法としての共役勾配法」を含む「共役勾配法」の記事については、「共役勾配法」の概要を参照ください。
- 反復法としての共役勾配法のページへのリンク