SUBROUTINE SPBSL(ABD,LDA,N,M,B) C***BEGIN PROLOGUE SPBSL C***DATE WRITTEN 780814 (YYMMDD) C***REVISION DATE 820801 (YYMMDD) C***CATEGORY NO. D2B2 C***KEYWORDS BANDED,LINEAR ALGEBRA,LINPACK,MATRIX,POSITIVE DEFINITE, C SOLVE C***AUTHOR MOLER, C. B., (U. OF NEW MEXICO) C***PURPOSE Solves the real SYMMETRIC POSITIVE DEFINITE BAND system C A*X=B using the factors computed by SPBCO or SPBFA. C***DESCRIPTION C C SPBSL solves the real symmetric positive definite band C system A*X = B C using the factors computed by SPBCO or SPBFA. C C On Entry C C ABD REAL(LDA, N) C the output from SPBCO or SPBFA. C C LDA INTEGER C the leading dimension of the array ABD . C C N INTEGER C the order of the matrix A . C C M INTEGER C the number of diagonals above the main diagonal. C C B REAL(N) C the right hand side vector. 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 C a zero on the diagonal. Technically, this indicates C singularity, but it is usually caused by improper subroutine C arguments. It will not occur if the subroutines are called C correctly and INFO .EQ. 0 . C C To compute INVERSE(A) * C where C is a matrix C with P columns C CALL SPBCO(ABD,LDA,N,RCOND,Z,INFO) C IF (RCOND is too small .OR. INFO .NE. 0) GO TO ... C DO 10 J = 1, P C CALL SPBSL(ABD,LDA,N,C(1,J)) C 10 CONTINUE C C LINPACK. This version dated 08/14/78 . C Cleve Moler, University of New Mexico, Argonne National Lab. C C Subroutines and Functions C C BLAS SAXPY,SDOT C Fortran MIN0 C***REFERENCES DONGARRA J.J., BUNCH J.R., MOLER C.B., STEWART G.W., C *LINPACK USERS GUIDE*, SIAM, 1979. C***ROUTINES CALLED SAXPY,SDOT C***END PROLOGUE SPBSL