CNBSL(3)

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

NAME
cnbsl - Solve a complex band system using the factors computed by CNBCO or CNBFA.

LIBRARY
SLATEC

CATEGORY
D2C2

TYPE
COMPLEX (SNBSL-S, DNBSL-D, CNBSL-C)

KEYWORDS
BANDED, LINEAR EQUATIONS, NONSYMMETRIC, SOLVE

AUTHOR
Voorhees, E. A., (LANL)

DESCRIPTION
CNBSL solves the complex band system A * X = B or CTRANS(A) * X = B using the factors computed by CNBCO or CNBFA. On Entry ABE COMPLEX(LDA, NC) the output from CNBCO or CNBFA. 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 CNBCO or CNBFA. B COMPLEX(N) the right hand side vector. JOB INTEGER = 0 to solve A*X = B . = nonzero to solve CTRANS(A)*X = B , where CTRANS(A) is the conjugate 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 CNBCO has set RCOND .GT. 0.0 or CNBFA has set INFO .EQ. 0 . To compute INVERSE(A) * C where C is a matrix with P columns CALL CNBCO(ABE,LDA,N,ML,MU,IPVT,RCOND,Z) IF (RCOND is too small) GO TO ... DO 10 J = 1, P CALL CNBSL(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
CAXPY, CDOTC

REVISION HISTORY (YYMMDD)
800730 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)