23 lines
489 B
Fortran
23 lines
489 B
Fortran
SUBROUTINE TRIDAG(A,B,C,R,U,N)
|
|
C ==============================
|
|
C
|
|
C solution of the tridiagonal system
|
|
c
|
|
c from Numerical recipes, Sect 2.4
|
|
c
|
|
INCLUDE 'IMPLIC.FOR'
|
|
DIMENSION A(N),B(N),C(N),R(N),U(N),GAM(N)
|
|
C
|
|
BET=B(1)
|
|
U(1)=R(1)/BET
|
|
DO J=2,N
|
|
GAM(J)=C(J-1)/BET
|
|
BET=B(J)-A(J)*GAM(J)
|
|
U(J)=(R(J)-A(J)*U(J-1))/BET
|
|
END DO
|
|
DO J=N-1,1,-1
|
|
U(J)=U(J)-GAM(J+1)*U(J+1)
|
|
END DO
|
|
RETURN
|
|
END
|