[[1 線形方程式の解法の選択]]&br;
[[2 参考文献および参考書の記述]]&br;
線形方程式, &math(Ax=b); >>> 実非対称/複素非エルミート, &math(A\not=A^H); >>> 安定性重視 >>> リスタート版: >>> GCR(m) 法
#contents

---------------------------------------------

*概要 [#q400e116]
-GCR(m)法は1983年にEisenstat, Elman, Schultzによって提案された非エルミート線形方程式向けのKrylov部分空間法である.

-リスタート版[[GCR 法]].
:リスタート|アルゴリズムの反復を所定のリスタート周期&math(m);で停止し, 得られた近似解を初期近似解として再びアルゴリズムを適用する.

-リスタートを適用することで, Arnoldi原理の長い漸化式に由来するGCR法の問題点を解決出来る.
一方で, 収束性は悪化する.

-GCR法と同様残差ノルム&math(\|\vec{r}_k\|_2);の単調減少性は保証される.

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

//---------------------------------------------
*アルゴリズム [#g3c09fe9]
**GCR(m)法 [#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, m-1);
+  &math(\quad \alpha_k = (A\vec{p}_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_{i,k} = -(A\vec{p}_i,A\vec{r}_{k+1})/(A\vec{p}_i,A\vec{p}_i), \quad i = 1, 2, \ldots, k);
+  &math(\quad \vec{p}_{k+1} = \vec{r}_{k+1} + \sum_{i=0}^k \beta_{i,k} \vec{p}_i);
+  &math(\quad A\vec{p}_{k+1} = A\vec{r}_{k+1} + \sum_{i=0}^k \beta_{i,k} A\vec{p}_i);
+End For
+Set &math(\vec{x}_0=\vec{x}_m); and go to 2

**前処理付きGCR(m)法 [#da0d7d55]
+Set an initial guess &math(\vec{x}_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, m-1);
+  &math(\quad \alpha_k = (A\vec{p}_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_{i,k} = -(A\vec{p}_i,AK^{-1}\vec{r}_{k+1})/(A\vec{p}_i,A\vec{p}_i), \quad i = 1, 2, \ldots, k);
+  &math(\quad \vec{p}_{k+1} = K^{-1}\vec{r}_{k+1} + \sum_{i=0}^k \beta_{i,k} \vec{p}_i);
+  &math(\quad A\vec{p}_{k+1} = AK^{-1}\vec{r}_{k+1} + \sum_{i=0}^k \beta_{i,k} A\vec{p}_i);
+End For
+Set &math(\vec{x}_0=\vec{x}_m); and go to 2

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

//---------------------------------------------
*適用事例 [#xb92758f]
準備中
*参考文献および参考書 [#y80eb057]

**原著論文 [#t30bb800]
[5] Stanley C. Eisenstat, Howard C. Elman and Martin H. Schultz, Variational iterative methods for nonsymmetric systems of linear equations, SIAM Journal on Numerical Analysis 1983; 20(2):345–357.

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

[23] Masaaki Sugihara and Kazuo Murota, Theoretical Numerical Linear Algebra, Iwanami Press:
Tokyo, 2009, (in Japanese).&br;
P164–173

[29] 藤野 清次, 張 紹良, 反復法の数理 (応用数値計算ライブラリ) 朝倉書店, 1996.&br;
P63–70



トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS