HP MLIB User's Guide Vol. 2 7th Ed.
Chapter 15 Sparse Eigenvalues and Eigenvectors 1079
Matrix value input by matrix DSEVVM
INTEGER*4 COLSTR(7),ROWIND(6),IER
REAL*8 VALUES(6),DIAGNL(6),GLOBAL(150)
COLSTR(1) = 1
COLSTR(2) = 3
COLSTR(3) = 5
COLSTR(4) = 6
COLSTR(5) = 7
COLSTR(6) = 7
COLSTR(7) = 7
ROWIND(1) = 3
ROWIND(2) = 4
ROWIND(3) = 3
ROWIND(4) = 5
ROWIND(5) = 6
ROWIND(6) = 6
VALUES(1) = 1.0
VALUES(2) = 1.0
VALUES(3) = 1.0
VALUES(4) = 1.0
VALUES(5) = 1.0
VALUES(6) = 1.0
CALL DSEVVM (’B’,COLSTR,ROWIND,VALUES,GLOBAL,IER)
IF ( IER .NE. 0 ) THEN
handle error condition
ENDIF
DIAGNL(1) = 4.0
DIAGNL(2) = 4.0
DIAGNL(3) = 4.0
DIAGNL(4) = 4.0
DIAGNL(5) = 4.0
DIAGNL(6) = 0.0
CALL DSEVVD (’B’,DIAGNL,GLOBAL,IER)
IF ( IER .NE. 0 ) THEN
handle error condition
ENDIF
NOTE It would not have been necessary to use DSEVVD if the diagonal values
had been held in the same value array as the rest of the sparse matrix.