*CGNR [#c5e78cce] 共役勾配法では正定値対称行列のみを対象としているが, 非対称行列には対応できないのだろうか. 前処理のところで元の方程式と等価になるように係数行列を変形させて条件数を改善したが, 同様にして非対称行列を対称行列にする前処理をすれば簡単に対応は可能である. つまり, #ref(ls_cgnr.eq1.gif,nolink,70%) と変形すると,Aが非対称行列でも&ref(ls_cgnr.eq2.gif,nolink,70%);は(半)正定値対称行列になる. また,Aは正方行列でなくてもよく,&ref(ls_cgnr.eq3.gif,nolink,70%);の任意の行列で構成される正規方程式(Normal equations)に共役勾配法を適用できる. この式を方程式&ref(ls_cgnr.eq4.gif,nolink,70%);に当てはめると, #ref(ls_cgnr.eq5.gif,nolink,70%) となり,&ref(ls_cgnr.eq6.gif,nolink,70%);を最小化する問題に帰着する. これは最小自乗法となる.この方法は一般的に未知数の数よりも方程式の数が多い問題に用いられる. つまり,&ref(ls_cgnr.eq7.gif,nolink,70%);において,&ref(ls_cgnr.eq8.gif,nolink,70%);となるような場合である. このような問題はNR(Normal equations to minimize the Residual)と呼ばれる. そのため,&ref(ls_cgnr.eq2.gif,nolink,70%);により対称行列を作り共役勾配法(CG法)を使って解く方法はCGNR法と呼ばれる. *CGNE [#t7de65c3] CGNRとは別の方法として,&ref(ls_cgnr.eq9.gif,nolink,70%);と置き, #ref(ls_cgnr.eq10.gif,nolink,70%) を&ref(ls_cgnr.eq11.gif,nolink,70%);について共役勾配法で解き, &ref(ls_cgnr.eq11.gif,nolink,70%);から&ref(ls_cgnr.eq12.gif,nolink,70%);を求める方法もある. CGNR法と同様にして方程式に当てはめると, #ref(ls_cgnr.eq13.gif,nolink,70%) 今,&ref(ls_cgnr.eq14.gif,nolink,70%);,つまり,方程式の数よりも未知数の数が多い問題を考える. 解の一つを&ref(ls_cgnr.eq15.gif,nolink,70%);とすると,&ref(ls_cgnr.eq16.gif,nolink,70%);より, #ref(ls_cgnr.eq17.gif,nolink,70%) となり,&ref(ls_cgnr.eq11.gif,nolink,70%);について&ref(ls_cgnr.eq18.gif,nolink,70%);を最小化する問題となる. この方法は&ref(ls_cgnr.eq14.gif,nolink,70%);であるunderdeterminedな線形システムに用いられる. このような問題はNE(Normal equations to minimize the Error)と呼ばれ, これを共役勾配法を使って解く方法はCGNE法と呼ばれる. *CGNRとCGNEの収束性 [#d6ae8508] CGNRやCGNEを使うことで共役勾配法を正規方程式に適用できるが, これらの方法は特に条件数が大きいときの収束性に問題を抱えている. &ref(ls_cgnr.eq19.gif,nolink,70%);の条件数が&ref(ls_cgnr.eq20.gif,nolink,70%);のときの,&ref(ls_cgnr.eq2.gif,nolink,70%);の条件数(2乗ノルムの条件数)を求めてみる. #ref(ls_cgnr.eq21.gif,nolink,70%) スペクトル半径&ref(ls_cgnr.eq22.gif,nolink,70%);と行列の2乗ノルムの間の関係式 #ref(ls_cgnr.eq23.gif,nolink,70%) を用いると, #ref(ls_cgnr.eq24.gif,nolink,70%) このように&ref(ls_cgnr.eq2.gif,nolink,70%);の条件数は&ref(ls_cgnr.eq19.gif,nolink,70%);の条件数の2乗となるので, &ref(ls_cgnr.eq25.gif,nolink,70%);が大きいと収束性はさらに悪化してしまう. 一方で2乗ノルムの条件数が1に近い場合は,とてもよい解法である. *参考文献 [#u89c91eb] -Yousef Saad, Iterative methods for sparse linear systems 2nd ed., SIAM, 2003.