[[1 線形方程式の解法の選択]]&br;
[[2 参考文献および参考書の記述]]&br;
線形方程式, &math(Ax=b); >>> 実対称/複素エルミート, &math(A=A^H); >>> 不定値 >>> CR 法
#contents

---------------------------------------------
*概要 [#y944675d]
-CR法(共役残差法)は1952年にStiefelによって提案されたエルミート線形方程式向けのKrylov部分空間法である.

-初期近似解を&math(\vec{x}_0);, 対応する初期残差を&math(\vec{r}_0:=\vec{b}-A\vec{x}_0);と置く.
この時, CR法の&math(k);反復目の近似解&math(\vec{x}_k);は,
#br
CENTER:&math(\vec{x}_k \in \vec{x}_0 + {\mathcal K}_k(A,\vec{r}_0), \quad {\mathcal K}_k(A,\vec{r}_0) := {\bf span}\{\vec{r}_0, A\vec{r}_0, \ldots, A^{k-1}\vec{r}_0 \});
#br
のように, 初期近似解&math(\vec{x}_0);とクリロフ部分空間&math({\mathcal K}_k(A,\vec{r}_0));で張るアフィン空間に含まれ, 残差ベクトル&math(\vec{r}_k=\vec{b}-A\vec{x}_k);が
#br
CENTER:&math(\vec{r}_k \bot A{\mathcal K}_k(A,\vec{r}_0));
#br
の直交条件(Petrov-Galerkin条件)を満たすように設定される.

-CR法の残差ベクトル&math(\vec{r}_k=\vec{b}-A\vec{x}_k);は, 最小残差条件
#br
CENTER:&math(\min \| \vec{r}_k \|_2);
#br
を満たし, 残差ノルム&math(\| \vec{r}_k \|_2);の単調減少性が保証される.

-[[MINRES 法]]と数学的に同値である.

-[[CG 法]]と異なり, 不定値な行列に対しても適用可能である.

//---------------------------------------------
*導出 [#y765dbc2]
準備中

//---------------------------------------------
*アルゴリズム [#g3c09fe9]
**CR法 [#x87397e4]
+Set an initial guess &math(\vec{x}_0);
+Compute &math(\vec{r}_0=\vec{b}-A\vec{x}_0, \vec{p}_0 = \vec{r}_0);
+For &math(k = 0, 1, 2, \ldots);
+  &math(\quad \alpha_k = (A\vec{r}_k, \vec{r}_k)/ (A\vec{p}_k, A\vec{p}_k));
+  &math(\quad \vec{x}_{k+1} = \vec{x}_k + \alpha_k \vec{p}_k);
+  &math(\quad \vec{r}_{k+1} = \vec{r}_k - \alpha_k A \vec{p}_k);
+  &math(\quad \beta_k = (A\vec{r}_{k+1},\vec{r}_{k+1})/(A\vec{r}_k,\vec{r}_k));
+  &math(\quad \vec{p}_{k+1} = \vec{r}_{k+1} + \beta_k \vec{p}_k);
+  &math(\quad A\vec{p}_{k+1} = A\vec{r}_{k+1} + \beta_k A\vec{p}_k);
+End For

**前処理付きCR法 [#da0d7d55]
+Set an initial guess &math(\vec{x}_0);
+Compute &math(\vec{r}_0=\vec{b}-A\vec{x}_0, \vec{p}_0 = \vec{r}_0);
+Compute &math(\vec{r}_0=\vec{b}-A\vec{x}_0, \vec{p}_0 = K^{-1}\vec{r}_0);
+For &math(k = 0, 1, 2, \ldots);
+  &math(\quad \alpha_k = (AK^{-1} \vec{r}_k, K^{-1}\vec{r}_k)/ (K^{-1}A\vec{p}_k, A\vec{p}_k));
+  &math(\quad \vec{x}_{k+1} = \vec{x}_k + \alpha_k \vec{p}_k);
+  &math(\quad \vec{r}_{k+1} = \vec{r}_k - \alpha_k A \vec{p}_k);
+  &math(\quad K^{-1}\vec{r}_{k+1} = K^{-1}\vec{r}_k - \alpha_k K^{-1}A \vec{p}_k);
+  &math(\quad \beta_k = (AK^{-1} \vec{r}_{k+1},K^{-1}\vec{r}_{k+1})/(AK^{-1} \vec{r}_k,K^{-1}\vec{r}_k));
+  &math(\quad \vec{p}_{k+1} = K^{-1} \vec{r}_{k+1} + \beta_k \vec{p}_k);
+  &math(\quad A\vec{p}_{k+1} = AK^{-1} \vec{r}_{k+1} + \beta_k A\vec{p}_k);
+End For


//---------------------------------------------
*サンプルプログラム [#z4fb948d]
準備中

//---------------------------------------------
*適用事例 [#xb92758f]
準備中

*参考文献および参考書 [#t1b3c233]

**原著論文 [#r3a47c2b]
[22] Eduard Stiefel, Relaxationsmethoden bester strategie zur l¨osung linearer gleichungssysteme, Commentarii Mathematici Helvetici 1952; 29(1):157–179.

**教科書 [#o9b766b8]
[14] Yousef Saad, Iterative Methods for Sparse Linear Systems, 2nd ed., SIAM: Philadelphia, PA,
2003.&br;
P194

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS