CGBSL(3)

SYNOPSIS
SUBROUTINE CGBSL (ABD, LDA, N, ML, MU, IPVT, B, JOB)

NAME
cgbsl - Solve the complex band system A*X=B or CTRANS(A)*X=B using the factors computed by CGBCO or CGBFA.

LIBRARY
SLATEC (LINPACK)

CATEGORY
D2C2

TYPE
COMPLEX (SGBSL-S, DGBSL-D, CGBSL-C)

KEYWORDS
BANDED, LINEAR ALGEBRA, LINPACK, MATRIX, SOLVE

AUTHOR
Moler, C. B., (U. of New Mexico)

DESCRIPTION
CGBSL solves the complex band system A * X = B or CTRANS(A) * X = B using the factors computed by CGBCO or CGBFA. On Entry ABD COMPLEX(LDA, N) the output from CGBCO or CGBFA. LDA INTEGER the leading dimension of the array ABD . 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 CGBCO or CGBFA. 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 CGBCO has set RCOND .GT. 0.0 or CGBFA has set INFO .EQ. 0 . To compute INVERSE(A) * C where C is a matrix with P columns CALL CGBCO(ABD,LDA,N,ML,MU,IPVT,RCOND,Z) IF (RCOND is too small) GO TO ... DO 10 J = 1, P CALL CGBSL(ABD,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)
780814 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)
900326 Removed duplicate information from DESCRIPTION section. (WRB)
920501 Reformatted the REFERENCES section. (WRB)