SpectraRust/tlusty/extracted/tridag.f
2026-03-19 14:05:33 +08:00

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