Computer History Museumのサイトに、1958年に書かれたFORTRAN IIとおぼしきプログラムと実行結果があります。5*5のHilbert行列の逆行列を求めるものです(Matrix Inversion Order 5)。先日は、Intel Visual Fortran Ver.11.1で実行してみましたが、今回はIBM7094 Emulatorを用いて実行してみます。
IBM7094 Emulatorは、ここのThe Computer History Simulation ProjectのWindows executablesの中に含まれています。その他必要なファイルは、Software KitsのIBSYS for the IBM 7090/7094です。中のREADMEに使い方が書いてあります。
FORTRAN IIのマニュアルなどは、Computer History MuseumのサイトにPDFファイルとして保存してあります。
■実行結果
JOB CARDを流用したので、JOB名がPRIMEになってしまったw
FORTRAN II Compilerを稼動した場合、きちんとJOBが終了していないようです。元々のサンプルプログラムでもそうなってます。残念ながら私には解決法が分かりません。
■ソースプログラム
最終行にENDが無いとJOBカードの終わりにならず暴走するので加えておきました。
$JOB PRIME NUMBERS $EXECUTE FORTRAN * ID PRIME * LIST8 * XEQ C MATRIX INVERSION ORDER 5 FREQUENCY 6(2,1,2) DIMENSION A(5,5) DO 1 I = 1, 5 DO 1 J = 1, 5 1 A(I,J) = 1.0/FLOATF(I+J-1) DO 5 K = 1, 5 D = A(K,K) A(K,K) = 1.0 DO 2 J = 1, 5 2 A(K,J) = A(k,J)/D DO 5 I = 1, 5 6 IF(I-K) 3,5,3 3 D = A(I,K) A(I,K) = 0.0 DO 4 J = 1, 5 4 A(I,J) = A(I,J) - D * A(K,J) 5 CONTINUE DO 246 I = 1,5 DO 246 J = 1,5 246 PRINT 247,I, J, A(I,J) 247 FORMAT (3H A(I2,1H,I2,4H) = F10.1,I1) S T O P END