HP MLIB User's Guide Vol. 2 7th Ed.
1046 HP MLIB User’s Guide
DSEVIC Matrix structure input by column
Output ier Status response:
ier = 0 Normal return.
ier = −100 Incorrect processing path; DSEVIN
not called or matrix input already
finished.
ier = −101 Error in dynamic storage allocation.
ier = −103 Illegal value for nzcol.
ier = −104 Illegal value for jcol; either out of
range or out of order.
ier = −106 Illegal value for at least one entry in
jrowin or entries out of order.
ier = −109 Illegal value for matrix designator.
ier = −110 Attempt to add nonzero location to B,
which was not specified as having a
general sparse structure (B is a
diagonal matrix, an identity matrix,
or has same structure as A).
Notes The entire matrix structure must be input with DSEVIC if it is used. Its use is
not compatible with DSEVI1, DSEVIE, or DSEVIM.
If the matrix entries are available by column, using DSEVIC is more efficient
than using DSEVI1.
Actual character arguments in a subroutine call may be longer than
corresponding dummy arguments. Therefore, readability of the CALL
statement may be improved by coding the matrix argument as ’addleft’.
Example Column 4519 has entries in rows 1, 2735, 4519, 4520, 4521, 6000, 6002, and
6004. Add all five entries in the lower triangular part to the list of nonzeros in
the matrix A. Columns 1 to 4518 already have been input to the package using
DSEVIC.
INTEGER*4 J,NZCOL,JROWIN(100),IER
REAL*8 GLOBAL(150)
J = 4519
NZCOL = 5
JROWIN(1) = 4520
JROWIN(2) = 4521
JROWIN(3) = 6000
JROWIN(4) = 6002
JROWIN(5) = 6004
CALL DSEVIC (’A’,J,NZCOL,JROWIN,GLOBAL,IER)
IF ( IER .NE. 0 ) THEN
handle error condition
ENDIF