NESSi
v1.0.2
The NonEquilibrium Systems Simulation Library
|
void fourier::get_dftcorr_cubic | ( | double | th, |
double * | corfac, | ||
cplx * | endcor | ||
) |
Returns correction factor \(W(\theta)\) and boundary correction terms \(\alpha_j(\theta)\) needed for cubically 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 piecewie cubic interpolation of \(f(t)\), the \(I(\omega)\) can be computed by by cubically 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_cubic
computes the required correction factor \(W(\theta)\) and the boundary terms \(\alpha_i(\theta)\), \(i=0,\dots,3\), where \(\theta = \omega h\).
th |
|
corfac |
|
endcor |
|
Definition at line 43 of file fourier.cpp.
Referenced by cntr::matsubara_ft().