34 public init_tridiagonal,tridiagonal
81 real(
sp),
private,
dimension(:),
allocatable :: ru,qu
103 integer,
intent(in) :: N
113 if(
allocated(
au))
then 122 allocate(
au(0:n)) ;
au = 0.
123 allocate(
bu(0:n)) ;
bu = 0.
124 allocate(
cu(0:n)) ;
cu = 0.
125 allocate(
du(0:n)) ;
du = 0.
126 allocate(ru(0:n)) ; ru = 0.
127 allocate(qu(0:n)) ; qu = 0.
152 integer,
intent(in) :: N,fi,lt
155 real(sp) ::
value(0:N)
207 ru(i)=
au(i)/(
bu(i)-
cu(i)*ru(i+1))
208 qu(i)=(
du(i)-
cu(i)*qu(i+1))/(
bu(i)-
cu(i)*ru(i+1))
211 qu(fi)=(
du(fi)-
cu(fi)*qu(fi+1))/(
bu(fi)-
cu(fi)*ru(fi+1))
215 value(i)=qu(i)-ru(i)*value(i-1)
subroutine tridiagonal_scal(N, fi, lt, value)
real(sp), dimension(:), allocatable bu
real(sp), dimension(:), allocatable cu
subroutine init_tridiagonal_scal(N)
real(sp), dimension(:), allocatable du
real(sp), dimension(:), allocatable au