C----------------------------------------------------------------------- C IMSL Name: EVCSB/DEVCSB (Single/Double precision version) C C Purpose: Compute all of the eigenvalues and eigenvectors of a C real symmetric matrix in band symmetric storage mode. C C Usage: CALL EVCSB (N, A, LDA, NCODA, EVAL, EVEC, LDEVEC) C C Example 1: C Declare variables INTEGER LDA, LDEVEC, N, NCODA PARAMETER (N=6, NCODA=2, LDA=NCODA+1, LDEVEC=N) C INTEGER NOUT REAL A(LDA,N), EPISB, EVAL(N), EVEC(LDEVEC,N), PI EXTERNAL EPISB, EVCSB, UMACH, WRRRN C Define values of A: C A = ( 5 -4 1 ) C ( -4 6 -4 1 ) C ( 1 -4 6 -4 1 ) C ( 1 -4 6 -4 1 ) C ( 1 -4 6 -4 ) C ( 1 -4 5 ) C Represented in band symmetric C form this is: C A = ( 0 0 1 1 1 1 ) C ( 0 -4 -4 -4 -4 -4 ) C ( 5 6 6 6 6 5 ) C DATA A/0.0, 0.0, 5.0, 0.0, -4.0, 6.0, 1.0, -4.0, 6.0, 1.0, -4.0, & 6.0, 1.0, -4.0, 6.0, 1.0, -4.0, 5.0/ C C Find eigenvalues and vectors CALL EVCSB (N, A, LDA, NCODA, EVAL, EVEC, LDEVEC) C Compute performance index PI = EPISB(N,N,A,LDA,NCODA,EVAL,EVEC,LDEVEC) C Print results CALL UMACH (2, NOUT) CALL WRRRN ('EVAL', 1, N, EVAL, 1, 0) CALL WRRRN ('EVEC', N, N, EVEC, LDEVEC, 0) WRITE (NOUT,'(/,A,F6.3)') ' Performance index = ', PI END C C EVAL C 1 2 3 4 5 6 C 14.45 10.54 5.98 2.42 0.57 0.04 C C EVEC C 1 2 3 4 5 6 C 1 -0.2319 -0.4179 -0.5211 0.5211 -0.4179 0.2319 C 2 0.4179 0.5211 0.2319 0.2319 -0.5211 0.4179 C 3 -0.5211 -0.2319 0.4179 -0.4179 -0.2319 0.5211 C 4 0.5211 -0.2319 -0.4179 -0.4179 0.2319 0.5211 C 5 -0.4179 0.5211 -0.2319 0.2319 0.5211 0.4179 C 6 0.2319 -0.4179 0.5211 0.5211 0.4179 0.2319 C C Performance index = 0.029