NESSi
v1.0.2
The NonEquilibrium Systems Simulation Library
|
void fourier::get_dftcorr_linear | ( | double | th, |
double * | corfac, | ||
cplx * | endcor | ||
) |
Returns correction factor \(W(\theta)\) and boundary correction term \(\alpha_0(\theta)\) needed for linearly corrected DFT.
For a function \(f(t)\), represented on an equidistant grid \(t_n= n h\), \(n=0,\dots,N\), we would like to compute the Fourier integral \(I(\omega) = \int^b_a dt\, e^{i \omega t}f(t)\). Using linear interpolation of \(f(t)\), the \(I(\omega)\) can be computed by by linearlt corrected discrete Fourier transformation (DFT). The algorithm is explained in
W. H. Press, S. A. Teukolosky, W. T. Vetterling, B. P. Flannery, Numerical Recipes 3rd Edition: The Art of Scientific Computing, Cambridge University Press, 2007, chapter 13.9
get_dftcorr_linear
computes the required correction factor \(W(\theta)\) and the boundary term \(\alpha_0(\theta)\), where \(\theta = \omega h\).
th |
|
corfac |
|
endcor |
|
Definition at line 117 of file fourier.cpp.
Referenced by cntr::matsubara_ft().