(M:正則行列)によって、$Ax=b$という方程式を不動点式に変形することができます。$$関数$g(x):=M^{-1}(b-Nx)$を定義します。このとき、$Ax=b$の解がg(x)の不動点となります。$$不動点式を解くために、反復計算法はよく使用されています。今回の授業では、3つのAの分解方法によって、$Ax=b$の反復計算方法を検討します。準備として、Aの成分を以下のように表します。b=[1,1,1,1]';Ab解をMATLABの命令で計算する。注意:ここに書いているアルゴリズムは「疑似コード」です。実際の計算では、MATLAB(Octave)の言語に書き直すのは必要です。pseudocode)とは、アルゴリズムなどを、架空の非常に高水準なプログラミング言語(擬似言語)で記述したものである。Pascal、Fortran、C言語などの既存のプログラミング言語の構文と、自然言語に近い表現を組み合わせて記述することが多い。xをnew_xにします。next以下は行列の計算で書かれる反復計算式を利用しています。MATLABのnorm関数は与えられるベクトルのL2ノルムを計算します。$x=0$からスタートして、ベクトルの成分毎の計算で考える反復計算式を行い、計算の結果を確認しなさい。関係図を描いてください。収束のオーダーと収束の定数を計算しなさい。復習¶$x$を$Ax=b$の解または精度の良い近似解とする。反復回数$n$が十分大きい時,反復計算で得られる数列$\{x_i\}$が以下の式を満たすことは考えられる。$$ここで、$\lambda$は収束の定数である。一般的に,$n$が大きい時,$\alpha$の計算結果が一定の値となる。Gauss-Seidel法¶Gauss-Seidel法では以下の行列の分解を使っています。xの各成分を更新します。(new_xという新しい変数は不要です。$x=0$からスタートして、Gauss-Seidel法の反復計算を20回行い、計算の結果を確認しなさい。関係図を描いてください。収束のオーダーと収束の定数を計算しなさい。SOR法¶SOR法では以下の行列の分解を使っています。$x=0$からスタートして、SOR法の反復計算を20回行い、計算の結果を確認しなさい。w=1.8の値を使います。関係図を描いてください。収束のオーダーと収束の定数を計算しなさい。w=1.8の値により、もっと収束の速いwを試してみてください。注意:行列を用いる反復計算、またはベクトルの成分毎の反復計算を利用してください。error_list_3に格納されています。error_list_3を同じグラフで描いて比較してください。w=1.8よりもっと速いwを使用してください。