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)