*DECK CNBSL SUBROUTINE CNBSL (ABE, LDA, N, ML, MU, IPVT, B, JOB) C***BEGIN PROLOGUE CNBSL C***PURPOSE Solve a complex band system using the factors computed by C CNBCO or CNBFA. C***LIBRARY SLATEC C***CATEGORY D2C2 C***TYPE COMPLEX (SNBSL-S, DNBSL-D, CNBSL-C) C***KEYWORDS BANDED, LINEAR EQUATIONS, NONSYMMETRIC, SOLVE C***AUTHOR Voorhees, E. A., (LANL) C***DESCRIPTION C C CNBSL solves the complex band system C A * X = B or CTRANS(A) * X = B C using the factors computed by CNBCO or CNBFA. C C On Entry C C ABE COMPLEX(LDA, NC) C the output from CNBCO or CNBFA. C NC must be .GE. 2*ML+MU+1 . C C LDA INTEGER C the leading dimension of the array ABE . C C N INTEGER C the order of the original matrix. C C ML INTEGER C number of diagonals below the main diagonal. C C MU INTEGER C number of diagonals above the main diagonal. C C IPVT INTEGER(N) C the pivot vector from CNBCO or CNBFA. C C B COMPLEX(N) C the right hand side vector. C C JOB INTEGER C = 0 to solve A*X = B . C = nonzero to solve CTRANS(A)*X = B , where C CTRANS(A) is the conjugate transpose. C C On Return C C B the solution vector X . C C Error Condition C C A division by zero will occur if the input factor contains a C zero on the diagonal. Technically this indicates singularity C but it is often caused by improper arguments or improper C setting of LDA. It will not occur if the subroutines are C called correctly and if CNBCO has set RCOND .GT. 0.0 C or CNBFA has set INFO .EQ. 0 . C C To compute INVERSE(A) * C where C is a matrix C with P columns C CALL CNBCO(ABE,LDA,N,ML,MU,IPVT,RCOND,Z) C IF (RCOND is too small) GO TO ... C DO 10 J = 1, P C CALL CNBSL(ABE,LDA,N,ML,MU,IPVT,C(1,J),0) C 10 CONTINUE C C***REFERENCES J. J. Dongarra, J. R. Bunch, C. B. Moler, and G. W. C Stewart, LINPACK Users' Guide, SIAM, 1979. C***ROUTINES CALLED CAXPY, CDOTC C***REVISION HISTORY (YYMMDD) C 800730 DATE WRITTEN C 890531 Changed all specific intrinsics to generic. (WRB) C 890831 Modified array declarations. (WRB) C 890831 REVISION DATE from Version 3.2 C 891214 Prologue converted to Version 4.0 format. (BAB) C 920501 Reformatted the REFERENCES section. (WRB) C***END PROLOGUE CNBSL