|
PROGRAM TEST
|
IMPLICIT NONE
|
C
|
INTEGER N
|
PARAMETER (N = 4)
|
C
|
DOUBLE PRECISION B(N), SUBD(N), DIAG(N)
|
C
|
EXTERNAL DPTSL
|
C
|
C Initialize the arrays SUBD and DIAG to store the subdiagonal
|
C and diagonal of the tridiagonal positive definite matrix A
|
C shown below. Initialize the array B to store the right hand
|
C side vector b shown below.
|
C
|
C 2 -1 6
|
C A = -1 2 -1 b = 12
|
C -1 2 -1 12
|
C -1 2 6
|
C
|
DATA SUBD / -1.0D0, -1.0D0, -1.0D0, 8D8 /
|
DATA DIAG / 4*2.0D0 /
|
DATA B / 6.0D0, 1.2D1, 1.2D1, 6.0D0 /
|
C
|
PRINT 1000
|
PRINT 1010, DIAG(1), SUBD(1)
|
PRINT 1020, SUBD(1), DIAG(2), SUBD(2)
|
PRINT 1030, SUBD(2), DIAG(3), SUBD(3)
|
PRINT 1040, SUBD(3), DIAG(4)
|
PRINT 1050
|
PRINT 1060, B
|
CALL DPTSL (N, DIAG, SUBD, B)
|
PRINT 1070
|
PRINT 1060, B
|
C
|
1000 FORMAT (1X, 'A:')
|
1010 FORMAT (1X, 2(2X, F4.1))
|
1020 FORMAT (1X, 3(2X, F4.1))
|
1030 FORMAT (1X, 6X, 3(2X, F4.1))
|
1040 FORMAT (1X, 12X, 2(2X, F4.1))
|
1050 FORMAT (/1X, 'b:')
|
1060 FORMAT (3X, F6.1)
|
1070 FORMAT (/1X, 'A**(-1) * b:')
|
C
|
END
|
|