Class
NumCosmoMathFftlog
Description [src]
abstract class NumCosmoMath.Fftlog : GObject.Object
{
/* No available fields */
}
Abstract class for implementing logarithm fast fourier transform.
This class computes the Fast Fourier Transform of a function assumed to be a
periodic sequence of logarithmically spaced points, following the FFTLog
approach of Hamilton (2000) with extensions. A function $G(r)$ is decomposed as
\begin{equation}
G(r) = \int_0^\infty F(k)\,K(kr)\,\mathrm{d}k,
\end{equation}
with $F(k)$ expanded in its lowest Fourier modes over a logarithmic
fundamental interval and $K(kr)$ a kernel. The kernel-dependent coefficients
are provided by the concrete implementations (e.g. NcmFftlogTophatwin2,
NcmFftlogGausswin2).
For the full derivation, discretization, and padding scheme, see the theoretical background page: FFTLog. Reference: Hamilton (2000).
Functions
ncm_fftlog_clear
If fftlog is different from NULL, decreases the reference count of
fftlog by one and sets fftlog to NULL.
Instance methods
ncm_fftlog_calibrate_size
Increases the original (input) number of knots until the $G(r)$ splines reach
the required precision reltol.
ncm_fftlog_calibrate_size_gsl
Increases the original (input) number of knots until the $G(r)$ splines reach
the required precision reltol.
ncm_fftlog_eval_by_vector
Fk is a vector which contains the values of the function at each knot $\ln k_m$.
ncm_fftlog_eval_output
Evaluates the function $G(r)$, or the nderiv-th derivative,
at the point lnr.
ncm_fftlog_get_array_index
Gets the array index i of the Fourier decomposition. This index corresponds the position
in the fft array of the element $n$ in Eq. \eqref{eq:Gr_decomp}.
ncm_fftlog_get_full_length
Gets the value of the total period, i.e., period defined by the fundamental interval plus the padding size.
ncm_fftlog_get_full_size
Gets the number of knots $N_f^\prime$ where the integrated function is evaluated plus padding.
ncm_fftlog_get_length
Gets the value of the “physical” period, i.e., period of the fundamental interval.
ncm_fftlog_get_mode_index
Gets the index of the mode i of the Fourier decomposition. This index corresponds
to the label $n$ in Eq. \eqref{eq:Gr_decomp}.
ncm_fftlog_get_norma
Gets the number of knots $N_f^\prime$ where the integrated function is evaluated plus padding.
ncm_fftlog_get_vector_Gr
Gets the vector of the transformed function $G(r)$, nderiv = 0, or
its nderiv-th derivative with respect to $\ln r$.
ncm_fftlog_peek_output_vector
Peeks the output vector respective to $G(r)$, nderiv = 0, or
its comp-th derivative with respect to $\ln r$.
ncm_fftlog_peek_spline_Gr
Peeks the spline of $G(r)$, nderiv = 0,
or the spline of the nderiv-th derivative of $G(r)$ with
respect to $\ln r$.
ncm_fftlog_prepare_splines
Prepares the set of splines respective to the function $G(r)$ and, if required, its n-order derivatives.
ncm_fftlog_set_length
Sets the length of the period Lk, where the function is periodic in logarithmic space $\ln k$.
ncm_fftlog_set_size
Sets the number of knots $N_f^\prime$ where the integrated function is evaluated,
given the input number of knots n, plus padding.
ncm_fftlog_set_smooth_padding_scale
Sets the value of the smoothing scale $s$ which is used if ncm_fftlog_use_smooth_padding()
is turned on.
ncm_fftlog_use_eval_interval
Sets whether to use a restricted evaluation interval $[r_\mathrm{min}, r_\mathrm{max}]$.
See ncm_fftlog_set_eval_r_min() and ncm_fftlog_set_eval_r_max().
ncm_fftlog_use_smooth_padding
Sets whether to use pad the fft using a power-law continuation of the input function which is continuous at the border and drops to a scale determined by ncm_fftlog_set_smooth_padding_scale().
Properties
NumCosmoMath.Fftlog:max-n
The maximum number of knots in the fundamental interval. This limit is used when calibrating the number of knots.
NumCosmoMath.Fftlog:no-ringing
True to use the no-ringing adjustment of $\ln(r_0)$ and False otherwise.
Signals
Signals inherited from GObject (1)
GObject::notify
The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.
Class structure
struct NumCosmoMathFftlogClass {
void (* compute_Ym) (
NcmFftlog* fftlog,
gpointer Ym_0
);
}
No description available.
Class members
compute_Ym: void (* compute_Ym) ( NcmFftlog* fftlog, gpointer Ym_0 )No description available.