2.1 p39 (プログラムリスト1)

39ページのプログラムで、40ページの計算実習1 をやってみよう。

まず JACOBI法の場合は次のようになった。

% ./p39
 INPUT : N=
3
 INPUT : M=
100
 INPUT : EPS=
1e-5
 JACOBI : METHOD=0, SOR : =1
 INPUT : METHOD=
0
 INPUT : A(  1,  1)=
2
 INPUT : A(  1,  2)=
-1
 INPUT : A(  1,  3)=
0
 INPUT : A(  2,  1)=
-1
 INPUT : A(  2,  2)=
2
 INPUT : A(  2,  3)=
-1
 INPUT : A(  3,  1)=
0
 INPUT : A(  3,  2)=
-1
 INPUT : A(  3,  3)=
2
 INPUT : F(  1)=
1
 INPUT : F(  2)=
0
 INPUT : F(  3)=
0
 INPUT : X(  1)=
0
 INPUT : X(  2)=
0
 INPUT : X(  3)=
0
 (NITER,ERROR)=           1   1.00000000
 (NITER,ERROR)=           2  0.500000000
 (NITER,ERROR)=           3  0.200000003
 (NITER,ERROR)=           4  0.200000003
 (NITER,ERROR)=           5   9.09090936E-02
(中略)
 (NITER,ERROR)=          31   1.01726291E-05
 (NITER,ERROR)=          32   1.01726291E-05
 (NITER,ERROR)=          33   5.08628909E-06
0NO. OF ITERATOINS= 33   EPS=  1.0000E-05
0  I     X(I)      I     X(I)      I     X(I)      I     X(I)      I     X(I)
   1  7.5000E-01   2  4.9999E-01   3  2.5000E-01
%

確かに反復回数 33 回で停止した。真の解と比べてどうだろうか?

次に SOR 法の場合は

[chronos:q1/progs/chapter2] mk% ./p39
 INPUT : N=
3
 INPUT : M=
100
 INPUT : EPS=
1E-5
 JACOBI : METHOD=0, SOR : =1
 INPUT : METHOD=
1
 INPUT : OMEGA=
0.3
 INPUT : A(  1,  1)=
2
 INPUT : A(  1,  2)=
-1
 INPUT : A(  1,  3)=
0
 INPUT : A(  2,  1)=
-1
 INPUT : A(  2,  2)=
2
 INPUT : A(  2,  3)=
-1
 INPUT : A(  3,  1)=
0
 INPUT : A(  3,  2)=
-1
 INPUT : A(  3,  3)=
2
 INPUT : F(  1)=
1
 INPUT : F(  2)=
0
 INPUT : F(  3)=
0
 INPUT : X(  1)=
0
 INPUT : X(  2)=
0
 INPUT : X(  3)=
0
 (NITER,ERROR)=           1   1.00000000
 (NITER,ERROR)=           2  0.419448495
 (NITER,ERROR)=           3  0.238088921
(中略)
 (NITER,ERROR)=          87   1.00540037E-05
 (NITER,ERROR)=          88   9.06046444E-06
0NO. OF ITERATOINS= 88   EPS=  1.0000E-05
0  I     X(I)      I     X(I)      I     X(I)      I     X(I)      I     X(I)
   1  7.4995E-01   2  4.9994E-01   3  2.4996E-01
%

確かに反復回数 88 回で停止した。

桂田 祐史
2018-06-08