
PROGRAM TEST

IMPLICIT NONE

C

INTEGER LDA, N, NDIAG

PARAMETER (N = 5)

PARAMETER (NDIAG = 1)

PARAMETER (LDA = NDIAG + 1)

C

INTEGER I, J

DOUBLE PRECISION A(LDA,N), ALPHA, BETA, X(N), Y(N)

C

EXTERNAL DSBMV

C

C Initialize the array A to store in symmetric banded form

C the matrix A shown below. Initialize the arrays X and Y

C to store the vectors X and Y shown below.

C

C 1 2 1 1

C 2 3 4 2 1

C A = 4 5 6 x = 3 y = 1

C 6 7 8 4 1

C 8 9 5 1

C

DATA A / 8D8, 1.0D0, 2.0D0, 3.0D0, 4.0D0, 5.0D0, 6.0D0,

$ 7.0D0, 8.0D0, 9.0D0 /

DATA X / 1.0D0, 2.0D0, 3.0D0, 4.0D0, 5.0D0 /

DATA Y / 1.0D0, 1.0D0, 1.0D0, 1.0D0, 1.0D0 /

C

PRINT 1000

PRINT 1010, A(2,1), A(1,2), 0.0D0, 0.0D0, 0.0D0

PRINT 1010, A(1,2), A(2,2), A(1,3), 0.0D0, 0.0D0

PRINT 1010, 0.0D0, A(1,3), A(2,3), A(1,4), 0.0D0

PRINT 1010, 0.0D0, 0.0D0, A(1,4), A(2,4), A(1,5)

PRINT 1010, 0.0D0, 0.0D0, 0.0D0, A(1,5), A(2,5)

PRINT 1020

DO 20, I = 1, LDA

PRINT 1010, (A(I,J), J = 1, N)

20 CONTINUE

PRINT 1030

PRINT 1040, (X(I), Y(I), I = 1, N)

ALPHA = 2.0D0

BETA = 3.0D0

CALL DSBMV ('UPPER TRIANGULAR A', N, NDIAG, ALPHA, A, LDA,

$ X, 1, BETA, Y, 1)

PRINT 1050

PRINT 1060, (Y(I), I = 1, N)

C

1000 FORMAT (1X, 'A in full form:')

1010 FORMAT (1X, 5(2X, F6.1))

1020 FORMAT (/1X, 'A in banded form: (* in unused fields)')

1030 FORMAT (/7X, 'x', 8X, 'y')

1040 FORMAT (3X, F6.1, 3X, F6.1)

1050 FORMAT (/1X, 'Ax + y:')

1060 FORMAT (1X, 3X, F6.1)

C

END

