46 lines
1.1 KiB
Plaintext
46 lines
1.1 KiB
Plaintext
|
|
PROGRAM GAUSH
|
||
|
|
PARAMETER ( N = 10 )
|
||
|
|
REAL A( N, N+1 ),X( N )
|
||
|
|
C section A(1:N,1:N) - matrix of coefficients "A"
|
||
|
|
C section A(1:N,N+1) - vector of free members "b"
|
||
|
|
CHPF$ DISTRIBUTE A ( BLOCK, *)
|
||
|
|
CHPF$ ALIGN X(I) WITH A(I,N+1)
|
||
|
|
PRINT *, '********** TEST_GAUSSHPF *********'
|
||
|
|
CHPF$ INDEPENDENT
|
||
|
|
DO 100 I=1,N
|
||
|
|
DO 100 J=1,N+1
|
||
|
|
IF (I .EQ. J) THEN
|
||
|
|
A(I,J)=2.0
|
||
|
|
ELSE
|
||
|
|
IF (J .EQ. N+1) THEN
|
||
|
|
A(I,J)=1.0
|
||
|
|
ELSE
|
||
|
|
A(I,J)=0.0
|
||
|
|
ENDIF
|
||
|
|
ENDIF
|
||
|
|
100 CONTINUE
|
||
|
|
C
|
||
|
|
C ELIMINATION
|
||
|
|
C
|
||
|
|
DO 1 I = 1, N-1
|
||
|
|
|
||
|
|
CHPF$ INDEPENDENT
|
||
|
|
DO 5 J = I+1, N
|
||
|
|
DO 5 K = I+1, N+1
|
||
|
|
A( J, K ) = A( J, K ) - A( J, I ) * A( I, K ) / A( I, I )
|
||
|
|
5 CONTINUE
|
||
|
|
1 CONTINUE
|
||
|
|
X( N ) = A( N, N+1 ) / A( N, N )
|
||
|
|
C BACK SUBSTITUTION
|
||
|
|
C
|
||
|
|
DO 6 J = N-1, 1, -1
|
||
|
|
CHPF$ INDEPENDENT
|
||
|
|
DO 7 I = 1, J
|
||
|
|
A( I, N+1 ) = A( I, N+1 ) - A( I,J+1)*X(J+1)
|
||
|
|
7 CONTINUE
|
||
|
|
X( J ) = A( J, N+1 ) / A( J, J)
|
||
|
|
6 CONTINUE
|
||
|
|
PRINT *, X
|
||
|
|
END
|
||
|
|
|