Previous: sgbfa Up: ../linpack.html Next: sgeco
SUBROUTINE SGBSL(ABD,LDA,N,ML,MU,IPVT,B,JOB)
INTEGER LDA,N,ML,MU,IPVT(1),JOB
REAL ABD(LDA,1),B(1)
C
C SGBSL SOLVES THE REAL BAND SYSTEM
C A * X = B OR TRANS(A) * X = B
C USING THE FACTORS COMPUTED BY SGBCO OR SGBFA.
C
C ON ENTRY
C
C ABD REAL(LDA, N)
C THE OUTPUT FROM SGBCO OR SGBFA.
C
C LDA INTEGER
C THE LEADING DIMENSION OF THE ARRAY ABD .
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 SGBCO OR SGBFA.
C
C B REAL(N)
C THE RIGHT HAND SIDE VECTOR.
C
C JOB INTEGER
C = 0 TO SOLVE A*X = B ,
C = NONZERO TO SOLVE TRANS(A)*X = B , WHERE
C TRANS(A) IS THE 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 SINGULARIT
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 SGBCO HAS SET RCOND .GT. 0.0
C OR SGBFA HAS SET INFO .EQ. 0 .
C
C TO COMPUTE INVERSE(A) * C WHERE C IS A MATRIX
C WITH P COLUMNS
C CALL SGBCO(ABD,LDA,N,ML,MU,IPVT,RCOND,Z)
C IF (RCOND IS TOO SMALL) GO TO ...
C DO 10 J = 1, P
C CALL SGBSL(ABD,LDA,N,ML,MU,IPVT,C(1,J),0)
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