HP MLIB User's Guide Vol. 2 7th Ed.
Chapter 13 Sparse Linear Equations 927
One-call usage DSLELU
rcond Unused as output. Reserved for future use.
inrtia Array of length 3 containing, respectively, the number
of positive eigenvalues, the number of negative
eigenvalues, and an indicator if there are zero
eigenvalues.
global Global communications array for this problem. This
array must be passed, untouched by the user, to
successive subroutines in this package.
Notes Calling DSLELU is equivalent to calling DSLEIN, DSLEMA, DSLEIM,
DSLEOP, DSLEOR, DSLEVM, DSLEFA, and DSLESL in sequence. You may
follow the call to DSLELU with other calls to subprograms in the package to
solve additional right-hand sides, to input new matrix values, to input a new
matrix structure, or to perform utility functions.
Example Solve the small (order 6) sparse system of linear equations where the matrix A
and right-hand side b are
A supernode relaxation factor of 0 (no extra fill allowed) and a pivoting
tolerance of 0.1 is used. Printed output is to Fortran logical unit 6.
Only printed error messages and some runtime statistics are printed.
INTEGER*4 COLSTR(7),ROWIND(13),INRTIA(3),IER
REAL*8 VALUES(13),RHS(6),RCOND,GLOBAL(150)
COLSTR(1) = 1
COLSTR(2) = 4
COLSTR(3) = 7
COLSTR(4) = 11
COLSTR(5) = 15
COLSTR(6) = 19
COLSTR(7) = 21
ROWIND(1) = 1
ROWIND(2) = 3
ROWIND(3) = 4
ROWIND(4) = 2
ROWIND(5) = 3
ROWIND(6) = 5
ROWIND(7) = 1
A =
4.0 0.0 −1.0 −1.0 0.0 0.0
b =
1.0
0.0 4.0 −1.0 0.0 −1.0 0.0 0.0
1.0 1.0 4.0 0.0 −1.0 0.0 1.0
1.0 0.0 0.0 4.0 −1.0 −1.0 1.0
0.0 1.0 1.0 1.0 4.0 0.0 0.0
0.0 0.0 0.0 1.0 0.0 1.0 0.0