FOM(m) 法
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
[[1 線形方程式の解法の選択]]&br;
[[2 参考文献および参考書の記述]]&br;
線形方程式, &math(Ax=b); >>> 実非対称/複素...
#contents
---------------------------------------------
*概要 [#l3bb0653]
-FOM(m)法は1981年にSaadによって提案された非エルミート線形...
-リスタート版[[FOM 法]].
:リスタート|アルゴリズムの反復を所定のリスタート周期&math...
-リスタートを適用することで, Arnoldi原理の長い漸化式に由...
一方で, 収束性は悪化する.
//---------------------------------------------
*導出 [#y765dbc2]
準備中
//---------------------------------------------
*アルゴリズム [#g3c09fe9]
**FOM(m)法 [#xc2f5148]
+Set an initial guess &math(\vec{x}_0);
+Compute &math(\vec{r}_0=\vec{b}-A\vec{x}_0);
+Set &math(\beta=\|\vec{r}_0\|_2, \vec{v}_1=\vec{r}_0/\be...
+For &math(k = 1, 2, \ldots, m);
+ &math(\vec{w}_{k+1} = A \vec{v}_k);
+ For &math(i = 1, 2, \ldots, k);
+ &math(h_{i,k} = (\vec{w}_{k+1},\vec{v}_i));
+ &math(\vec{w}_{i,k} = \vec{w}_{i,k} - h_{i,k}\ve...
+ End For
+ &math(h_{k+1,k} = \| \vec{w}_{k+1} \|_2);
+ &math(\vec{w}_{k+1} = \vec{w}_{k+1} / h_{k+1,k});
+ For &math(i = 1, 2, \ldots, k-1);
+ &math( \left( \begin{array}{c} h_{i,k} \\ h_{i+1...
+ End For
+ If &math( h_{k+1,k}*|e_{k+1}/h_{k,k}| \leq \epsilon ...
+ &math(\vec{y}_k = H_k^{-1} \vec{e}_1);
+ &math(\vec{x}_k = \vec{x}_0 + \sum_{i=1}^k \vec{...
+ exit
+ End If
+ &math(c_k = \frac{h_{k,k}}{ \sqrt{ h_{k,k}^2+ | h_{k...
+ &math(s_k = \frac{h_{k+1,k}}{ \sqrt{ h_{k,k}^2+ | h_...
+ &math(e_{k+1} = -s_k e_k);
+ &math(e_k = \overline{c}_k e_k);
+ &math(h_{k,k} = \sqrt{ h_{k,k}^2+ | h_{k+1,k} |^2 });
+ &math(h_{k+1,k}=0);
+End For
+Set &math(\vec{x}_0 = \vec{x}_m); and go to 2
**前処理付きFOM法 [#xc2f5148]
+Set an initial guess &math(\vec{x}_0);
+Compute &math(\vec{r}_0=\vec{b}-A\vec{x}_0);
+Set &math(\beta=\|\vec{r}_0\|_2, \vec{v}_1=\vec{r}_0/\be...
+For &math(k = 1, 2, \ldots, m);
+ &math(\vec{w}_{k+1} = AK^{-1} \vec{v}_k);
+ For &math(i = 1, 2, \ldots, k);
+ &math(h_{i,k} = (\vec{w}_{k+1},\vec{v}_i));
+ &math(\vec{w}_{i,k} = \vec{w}_{i,k} - h_{i,k}\ve...
+ End For
+ &math(h_{k+1,k} = \| \vec{w}_{k+1} \|_2);
+ &math(\vec{w}_{k+1} = \vec{w}_{k+1} / h_{k+1,k});
+ For &math(i = 1, 2, \ldots, k-1);
+ &math( \left( \begin{array}{c} h_{i,k} \\ h_{i+1...
+ End For
+ If &math( h_{k+1,k}*|e_{k+1}/h_{k,k}| \leq \epsilon ...
+ &math(\vec{y}_k = H_k^{-1} \vec{e}_1);
+ &math(\vec{x}_k = \vec{x}_0 + K^{-1} \sum_{i=1}^...
+ exit
+ End If
+ &math(c_k = \frac{h_{k,k}}{ \sqrt{ h_{k,k}^2+ | h_{k...
+ &math(s_k = \frac{h_{k+1,k}}{ \sqrt{ h_{k,k}^2+ | h_...
+ &math(e_{k+1} = -s_k e_k);
+ &math(e_k = \overline{c}_k e_k);
+ &math(h_{k,k} = \sqrt{ h_{k,k}^2+ | h_{k+1,k} |^2 });
+ &math(h_{k+1,k}=0);
+End For
+Set &math(\vec{x}_0 = \vec{x}_m); and go to 2
//---------------------------------------------
*サンプルプログラム [#z4fb948d]
準備中
//---------------------------------------------
*適用事例 [#xb92758f]
準備中
*参考文献および参考書 [#p986e566]
**原著論文 [#tdb9a402]
[13] Yousef Saad, Krylov subspace methods for solving lar...
**教科書 [#a6138c16]
[14] Yousef Saad, Iterative Methods for Sparse Linear Sys...
2003.&br;
P159–161
終了行:
[[1 線形方程式の解法の選択]]&br;
[[2 参考文献および参考書の記述]]&br;
線形方程式, &math(Ax=b); >>> 実非対称/複素...
#contents
---------------------------------------------
*概要 [#l3bb0653]
-FOM(m)法は1981年にSaadによって提案された非エルミート線形...
-リスタート版[[FOM 法]].
:リスタート|アルゴリズムの反復を所定のリスタート周期&math...
-リスタートを適用することで, Arnoldi原理の長い漸化式に由...
一方で, 収束性は悪化する.
//---------------------------------------------
*導出 [#y765dbc2]
準備中
//---------------------------------------------
*アルゴリズム [#g3c09fe9]
**FOM(m)法 [#xc2f5148]
+Set an initial guess &math(\vec{x}_0);
+Compute &math(\vec{r}_0=\vec{b}-A\vec{x}_0);
+Set &math(\beta=\|\vec{r}_0\|_2, \vec{v}_1=\vec{r}_0/\be...
+For &math(k = 1, 2, \ldots, m);
+ &math(\vec{w}_{k+1} = A \vec{v}_k);
+ For &math(i = 1, 2, \ldots, k);
+ &math(h_{i,k} = (\vec{w}_{k+1},\vec{v}_i));
+ &math(\vec{w}_{i,k} = \vec{w}_{i,k} - h_{i,k}\ve...
+ End For
+ &math(h_{k+1,k} = \| \vec{w}_{k+1} \|_2);
+ &math(\vec{w}_{k+1} = \vec{w}_{k+1} / h_{k+1,k});
+ For &math(i = 1, 2, \ldots, k-1);
+ &math( \left( \begin{array}{c} h_{i,k} \\ h_{i+1...
+ End For
+ If &math( h_{k+1,k}*|e_{k+1}/h_{k,k}| \leq \epsilon ...
+ &math(\vec{y}_k = H_k^{-1} \vec{e}_1);
+ &math(\vec{x}_k = \vec{x}_0 + \sum_{i=1}^k \vec{...
+ exit
+ End If
+ &math(c_k = \frac{h_{k,k}}{ \sqrt{ h_{k,k}^2+ | h_{k...
+ &math(s_k = \frac{h_{k+1,k}}{ \sqrt{ h_{k,k}^2+ | h_...
+ &math(e_{k+1} = -s_k e_k);
+ &math(e_k = \overline{c}_k e_k);
+ &math(h_{k,k} = \sqrt{ h_{k,k}^2+ | h_{k+1,k} |^2 });
+ &math(h_{k+1,k}=0);
+End For
+Set &math(\vec{x}_0 = \vec{x}_m); and go to 2
**前処理付きFOM法 [#xc2f5148]
+Set an initial guess &math(\vec{x}_0);
+Compute &math(\vec{r}_0=\vec{b}-A\vec{x}_0);
+Set &math(\beta=\|\vec{r}_0\|_2, \vec{v}_1=\vec{r}_0/\be...
+For &math(k = 1, 2, \ldots, m);
+ &math(\vec{w}_{k+1} = AK^{-1} \vec{v}_k);
+ For &math(i = 1, 2, \ldots, k);
+ &math(h_{i,k} = (\vec{w}_{k+1},\vec{v}_i));
+ &math(\vec{w}_{i,k} = \vec{w}_{i,k} - h_{i,k}\ve...
+ End For
+ &math(h_{k+1,k} = \| \vec{w}_{k+1} \|_2);
+ &math(\vec{w}_{k+1} = \vec{w}_{k+1} / h_{k+1,k});
+ For &math(i = 1, 2, \ldots, k-1);
+ &math( \left( \begin{array}{c} h_{i,k} \\ h_{i+1...
+ End For
+ If &math( h_{k+1,k}*|e_{k+1}/h_{k,k}| \leq \epsilon ...
+ &math(\vec{y}_k = H_k^{-1} \vec{e}_1);
+ &math(\vec{x}_k = \vec{x}_0 + K^{-1} \sum_{i=1}^...
+ exit
+ End If
+ &math(c_k = \frac{h_{k,k}}{ \sqrt{ h_{k,k}^2+ | h_{k...
+ &math(s_k = \frac{h_{k+1,k}}{ \sqrt{ h_{k,k}^2+ | h_...
+ &math(e_{k+1} = -s_k e_k);
+ &math(e_k = \overline{c}_k e_k);
+ &math(h_{k,k} = \sqrt{ h_{k,k}^2+ | h_{k+1,k} |^2 });
+ &math(h_{k+1,k}=0);
+End For
+Set &math(\vec{x}_0 = \vec{x}_m); and go to 2
//---------------------------------------------
*サンプルプログラム [#z4fb948d]
準備中
//---------------------------------------------
*適用事例 [#xb92758f]
準備中
*参考文献および参考書 [#p986e566]
**原著論文 [#tdb9a402]
[13] Yousef Saad, Krylov subspace methods for solving lar...
**教科書 [#a6138c16]
[14] Yousef Saad, Iterative Methods for Sparse Linear Sys...
2003.&br;
P159–161
ページ名: