mirror of
https://github.com/HongjianFang/DSurfTomo.git
synced 2025-05-07 15:41:14 +08:00

change 1e-2 to 'ftol' in CalSurfG.f90, which may cause problem with small study region (~2 km)
26 lines
575 B
Fortran
26 lines
575 B
Fortran
subroutine inversestep(vec,n)
|
|
implicit none
|
|
integer n
|
|
real vec(n)
|
|
|
|
integer half, k
|
|
half=int(n/2.0)
|
|
do k=1,half,1
|
|
vec(k)=(sqrt(3.0)+1.0)/sqrt(2.0) * vec(k)
|
|
vec(k+half)=(sqrt(3.0)-1.0)/sqrt(2.0) * vec(k+half)
|
|
enddo
|
|
do k=1,half-1,1
|
|
vec(k)=vec(k)+vec(half+k+1)
|
|
enddo
|
|
vec(half)=vec(half)+vec(half+1)
|
|
vec(half+1)=vec(half+1)+sqrt(3.0)/4.0*vec(1)+ &
|
|
(sqrt(3.0)-2)/4.0*vec(half)
|
|
do k=2,half,1
|
|
vec(half+k)=vec(half+k)+sqrt(3.0)/4.0*vec(k)+ &
|
|
(sqrt(3.0)-2)/4.0*vec(k-1)
|
|
enddo
|
|
do k=1,half,1
|
|
vec(k)=vec(k)-sqrt(3.0)*vec(half+k)
|
|
enddo
|
|
end subroutine
|