*DECK DGTSL SUBROUTINE DGTSL (N, C, D, E, B, INFO) C***BEGIN PROLOGUE DGTSL C***PURPOSE Solve a tridiagonal linear system. C***LIBRARY SLATEC (LINPACK) C***CATEGORY D2A2A C***TYPE DOUBLE PRECISION (SGTSL-S, DGTSL-D, CGTSL-C) C***KEYWORDS LINEAR ALGEBRA, LINPACK, MATRIX, SOLVE, TRIDIAGONAL C***AUTHOR Dongarra, J., (ANL) C***DESCRIPTION C C DGTSL given a general tridiagonal matrix and a right hand C side will find the solution. C C On Entry C C N INTEGER C is the order of the tridiagonal matrix. C C C DOUBLE PRECISION(N) C is the subdiagonal of the tridiagonal matrix. C C(2) through C(N) should contain the subdiagonal. C On output C is destroyed. C C D DOUBLE PRECISION(N) C is the diagonal of the tridiagonal matrix. C On output D is destroyed. C C E DOUBLE PRECISION(N) C is the superdiagonal of the tridiagonal matrix. C E(1) through E(N-1) should contain the superdiagonal. C On output E is destroyed. C C B DOUBLE PRECISION(N) C is the right hand side vector. C C On Return C C B is the solution vector. C C INFO INTEGER C = 0 normal value. C = K if the K-th element of the diagonal becomes C exactly zero. The subroutine returns when C this is detected. 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 (NONE) C***REVISION HISTORY (YYMMDD) C 780814 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 900326 Removed duplicate information from DESCRIPTION section. C (WRB) C 920501 Reformatted the REFERENCES section. (WRB) C***END PROLOGUE DGTSL