きょうやく‐こうばいほう〔‐コウバイハフ〕【共役勾配法】
共役勾配法
共役勾配法
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2025/03/10 14:23 UTC 版)

共役勾配法(きょうやくこうばいほう、英: conjugate gradient method、CG法とも呼ばれる)は対称正定値行列を係数とする連立一次方程式を解くためのアルゴリズムである[1][2][3][4]。反復法として利用され[1][2][3][4]、コレスキー分解のような直接法では大きすぎて取り扱えない、大規模な疎行列を解くために利用される。そのような問題は偏微分方程式などを数値的に解く際に常に現れる[1][5][6][7]。
共役勾配法は、エネルギー最小化などの最適化問題を解くために用いることもできる[8][9][10]。
双共役勾配法は、共役勾配法の非対称問題への拡張である[11]。
また、非線形問題を解くために、さまざまな非線形共役勾配法が提案されている[12][13][14][15]。
詳説
対称正定値行列Aを係数とするn元連立一次方程式
Ax = b
の解をx*とする。
直接法としての共役勾配法
非零ベクトルu、vが
共役勾配法
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/04/04 03:13 UTC 版)
「共役勾配法」、「非線形共役勾配法」、「双共役勾配法」、および「:en:LOBPCG」も参照 共役勾配法 (英: conjugate gradient method) はHestenes-Stiefelによって開発された連立方程式の数値解法であり、係数行列が正定値対称行列であるときに適用できる。この方法はガウス=ザイデル法、ヤコビ法、SOR法よりも収束が速いとされることから、1980年代以降から様々な亜種が開発されたり、非対称行列への適用が試みられているが、前処理行列の取り方が問題によって異なるために決定版と言える解法がまだ存在してない。 以下、代表的な亜種を挙げる。 CGS (conjugate gradient squared method) PCG (preconditioned conjugate gradient method, MATLABで利用可能) SCG (scaled conjugate gradient) ICCG (incomplete Cholesky conjugate gradient method, 不完全コレスキー分解付共役勾配法) COCG (conjugate orthogonal conjugate gradient method) GPBiCG GPBiCG ( m , l ) {\displaystyle (m,l)} STAB系の手法BiCGSTAB (biconjugate gradient stabilized method, 双共役勾配安定化法, MATLABで利用可能) BiCGSTAB2 QMRCGSTAB GBi-CGSTAB Block化した手法Block CG Block BiCGSTAB Block BiCGGR Block BiCGGR2 Block GWBiCGSTAB
※この「共役勾配法」の解説は、「数値線形代数」の解説の一部です。
「共役勾配法」を含む「数値線形代数」の記事については、「数値線形代数」の概要を参照ください。
- 共役勾配法のページへのリンク