3

数学的アルゴリズム (共役勾配法) のコードを実行しようとしています。そうすることで、プリアンブルでそのように定義された倍精度行列を入力します。コンパイルすると、次のエラーが発生します。

A=RESHAPE((/ 0,8,0,4,26,8,0,17.5,0,0,0,17.5,0,2.5,-8,4,0,2.5,0,-5,26,0,-8,-5,0 
                        1
Error: Element in INTEGER(4) array constructor at (1) is REAL(4)
make: FTranProjectBuilder: Error: Execution exited with code 2 
*** [cg_main.o] Error 1

行列が定義されているプログラムでの私の定義は次のように与えられます(配列定義は私のプログラムの最初の操作です):

PROGRAM cg_main 
IMPLICIT NONE 

INTEGER,PARAMETER                     ::d=5 !use a parameter for the dimensions (simple)
DOUBLE PRECISION,DIMENSION(d,d)       ::A !matrix
INTEGER,DIMENSION(2)                  ::order2 = (/ 2, 1 /) !matrix reshape order

[MORE DECLARATIONS HERE]

A=RESHAPE((/ 0,8,0,4,26,8,0,17.5,0,0,0,17.5,0,2.5,-8,4,0,2.5,0,-5,26,0,-8,-5,0 /),(/d,d/), order2) !specify dxd matrix

[MORE CODE HERE]

END PROGRAM 

このコードは、マトリックス入力に 10 進数がなくても機能しますが、10 進数では機能しないようで、理由がわかりません。

4

1 に答える 1