ADAS Subroutine xxgtsl
SUBROUTINE XXGTSL( N , D , DU , DL , B , IFAIL )
C----------------------------------------------------------------------
C
C ****************** FORTRAN77 SUBROUTINE: XXGTSL *********************
C
C PURPOSE: GIVEN A GENERAL TRIDIAGONAL MATRIX AND A RIGHT HAND SIDE
C WILL FIND THE SOLUTION OF THE ASSOCIATED SYSTEM OF LINEAR
C EQUATIONS.
C
C CALLING PROGRAM: GENERAL USE
C
C SUBROUTINE:
C INPUT : (I*4) N = ORDER OF TRIDIAGONAL MATRIX
C
C INPUT : (R*8) DL() = SUBDIAGONAL OF THE MATRIX. DL(2) THROUGH
C DL(N) SHOULD CONTAIN THE SUBDIAGONAL. ON
C OUTPUT DL IS DESTROYED
C INPUT : (R*8) D() = DIAGONAL OF THE MATRIX. ON OUTPUT D
C IS DESTROYED
C INPUT : (R*8) DU() = SUPERDIAGONAL OF THE MATRIX. DU(2) THROUGH
C DU(N) SHOULD CONTAIN THE SUPERDIAGONAL.
C OUTPUT DU IS DESTROYED
C INPUT : (R*8) B() = RIGHT HAND SIDE VECTOR
C
C OUTPUT: (R*8) B() = SOLUTION VECTOR
C
C OUTPUT: (I*4) IFAIL = 0 - NORMAL VALUE
C = K - IF THE KTH PIVOT ELEMENT BECOMES
C BECOMES EXACTLY ZERO. THE ROUTINE
C RETURNS WHEN THIS IS THE CASE.
C
C (I*4) K = GENERAL INTEGER
C (I*4) KB = GENERAL INTEGER
C (I*4) KP1 = K+1
C (I*4) NM1 = N-1
C (I*4) NM2 = N-2
C (R*8) T = GENERAL REAL
C
C ROUTINES: NONE
C
C NOTE:
C TRANSCRIBED FROM LINPACK PUBLICATION. VERSION DATED
C 08/14/78, JACK DONGARRA, ARGONNE NATIONAL LABORATORY
C
C AUTHOR: H. P. SUMMERS, UNIVERSITY OF STRATHCLYDE
C JA8.08
C TEL. 0141-553-4196
C
C DATE: 04/07/95
C
C DATE: 10/07/95 VERSION 1.1
C UPDATE: TIM HAMMOND, TESSELLA SUPPORT SERVICES PLC
C - UNIX PORT
C
C-----------------------------------------------------------------------
C
C-----------------------------------------------------------------------
INTEGER IFAIL, N
REAL*8 B(N), D(N), DL(N), DU(N)