DNBSL(3)

SYNOPSIS
SUBROUTINE DNBSL (ABE, LDA, N, ML, MU, IPVT, B, JOB)

NAME
dnbsl - Solve a real band system using the factors computed by DNBCO or DNBFA.

LIBRARY
SLATEC

CATEGORY
D2A2

TYPE
DOUBLE PRECISION (SNBSL-S, DNBSL-D, CNBSL-C)

KEYWORDS
BANDED, LINEAR EQUATIONS, NONSYMMETRIC, SOLVE

AUTHOR
Voorhees, E. A., (LANL)

DESCRIPTION
DNBSL solves the double precision band system A * X = B or TRANS(A) * X = B using the factors computed by DNBCO or DNBFA. On Entry ABE DOUBLE PRECISION(LDA, NC) the output from DNBCO or DNBFA. NC must be .GE. 2*ML+MU+1 . LDA INTEGER the leading dimension of the array ABE . N INTEGER the order of the original matrix. ML INTEGER number of diagonals below the main diagonal. MU INTEGER number of diagonals above the main diagonal. IPVT INTEGER(N) the pivot vector from DNBCO or DNBFA. B DOUBLE PRECISION(N) the right hand side vector. JOB INTEGER = 0 to solve A*X = B . = nonzero to solve TRANS(A)*X = B , where TRANS(A) is the transpose. On Return B the solution vector X . Error Condition A division by zero will occur if the input factor contains a zero on the diagonal. Technically this indicates singularity but it is often caused by improper arguments or improper setting of LDA. It will not occur if the subroutines are called correctly and if DNBCO has set RCOND .GT. 0.0 or DNBFA has set INFO .EQ. 0 . To compute INVERSE(A) * C where C is a matrix with P columns CALL DNBCO(ABE,LDA,N,ML,MU,IPVT,RCOND,Z) IF (RCOND is too small) GO TO ... DO 10 J = 1, P CALL DNBSL(ABE,LDA,N,ML,MU,IPVT,C(1,J),0) 10 CONTINUE

REFERENCES
J. J. Dongarra, J. R. Bunch, C. B. Moler, and G. W. Stewart, LINPACK Users' Guide, SIAM, 1979.

ROUTINES CALLED
DAXPY, DDOT

REVISION HISTORY (YYMMDD)
800728 DATE WRITTEN
890531 Changed all specific intrinsics to generic. (WRB)
890831 Modified array declarations. (WRB)
890831 REVISION DATE from Version 3.2
891214 Prologue converted to Version 4.0 format. (BAB)
920501 Reformatted the REFERENCES section. (WRB)