Class

NumCosmoMathFftlogSBesselJ

Description [src]

final class NumCosmoMath.FftlogSBesselJ : NumCosmoMath.Fftlog
{
  /* No available fields */
}

Logarithm fast fourier transform for a kernel given by the spatial correlation function multipoles.

This object computes the function (see NcmFftlog) $$Y_n = \int_0^\infty t^{\frac{2\pi i n}{L}} K(t) dt,$$ where the kernel are the spherical Bessel function of the first kind multiplied by a power law,

\begin{equation}\label{eq:kerneljl} K(t) = t^q j_{\ell}(t). \end{equation}

Note that the spherical Bessel function’s order, $\ell$ (NcmFftlogSBesselJ:ell), must be an integer number.

The spatial correlation function multipoles, $\xi_{\ell}^{(n)}(r)$, can be defined as (see [Matsubara (2004)][XMatsubara2004a] [arXiv])

\begin{equation}\label{eq:xi_multipoles} \xi_{\ell}^{(n)}(r) = \frac{(-1)^{n+\ell}}{r^{2n-\ell}} \int_{0}^{\infty} \frac{\mathrm{d} k}{2\pi^2} \frac{k^2}{k^{2n-\ell}} j_{\ell}(kr) P(k) \,\, . \end{equation} Where, $P(k)$ is the power spectrum (see NcmPowspec).

The multipoles integral can be written in the following format

\begin{equation} \xi_{\ell}^{(n)}(r) = \frac{(-1)^{n+\ell}}{r^2} \int_{0}^{\infty} \mathrm{d}k \, (kr)^{2-2n+\ell} \, j_{\ell}(kr) P(k) \,\, . \end{equation}

The object NcmFftlogSBesselJ can be used to evaluate the above integral in several ways. For example, the integral can be evaluated by defining the function (see NcmFftlog for more information) \begin{equation} F(k) = k^{2-2n+\ell} \, P(k) \end{equation} and the kernel \begin{equation} K(t) = j_{\ell}(t) \,\, . \end{equation} Where, $t=kr$ and $r^{(2-2n+\ell)}$ was taken out of the integral. Comparing this kernel with the one defined in Eq. \eqref{eq:kerneljl}, we have $q=0$.

But instead, one might choose another format for the function, \begin{equation} F(k) = k^{\ell} \, P(k) \end{equation} and the kernel \begin{equation} K(t) = t^{2-2n} \, j_{\ell}(t) \,\, , \end{equation} which evaluates the same integral, but now with $q=2-2n$, and in this case, the term $r^{\ell}$ was the one taken out of the integral. Therefore, the parameter $q$ is the power of the wavenumber $k$ times the distance $r$, $t=kr$, included to the kernel with the spherical Bessel function. Hereafter, it will be referred to as “spherical Bessel power” (NcmFftlogSBesselJ:q).

In general, $q=0$ is an accurate and fast choice to make, but it is interesting to perform tests to evaluate which kernel format fits best for each type of integral.

The NcmPowspecCorr3d object already evaluates Eq. \eqref{eq:xi_multipoles} for the case of the monopole, $n=\ell=0$, with support for redshift evolution.

Ancestors

Constructors

ncm_fftlog_sbessel_j_new

Creates a new fftlog Spherical Bessel J object.

Instance methods

ncm_fftlog_sbessel_j_get_ell
No description available.

ncm_fftlog_sbessel_j_get_q
No description available.

ncm_fftlog_sbessel_j_set_best_lnk0

Sets the value of $\ln(k_0)$ which gives the best results for the transformation based on the current value of $\ln(r_0)$, this is based in the rule of thumb $\mathrm{max}_{x^}(j_l)$ where $ x^ \approx l + 1$.

ncm_fftlog_sbessel_j_set_best_lnr0

Sets the value of $\ln(r_0)$ which gives the best results for the transformation based on the current value of $\ln(k_0)$, this is based in the rule of thumb $\mathrm{max}_{x^}(j_l)$ where $ x^ \approx l + 1$.

ncm_fftlog_sbessel_j_set_ell

Sets ell as the Spherical Bessel integer order $\ell$.

ncm_fftlog_sbessel_j_set_q

Sets q as the Spherical Bessel power.

Methods inherited from NcmFftlog (46)

Please see NcmFftlog for a full list of methods.

Methods inherited from GObject (43)

Please see GObject for a full list of methods.

Properties

NumCosmoMath.FftlogSBesselJ:ell

The spherical Bessel integer order.

NumCosmoMath.FftlogSBesselJ:q

The spherical Bessel power, i.e., the power of the variable $t=kr$, included to the kernel $K(t)$ multiplying the spherical Bessel function.

Properties inherited from NcmFftlog (14)
NumCosmoMath.Fftlog:Lk

The function $F(k)$’s period in natural logarithm base.

NumCosmoMath.Fftlog:N

The number of knots in the fundamental interval.

NumCosmoMath.Fftlog:eval-r-max

The maximum value of the evaluation interval.

NumCosmoMath.Fftlog:eval-r-min

The minimum value of the evaluation interval.

NumCosmoMath.Fftlog:lnk0

The Center value for $\ln(k)$.

NumCosmoMath.Fftlog:lnr0

The Center value for $\ln(r)$.

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:name

FFTW Plan wisdom’s name to perform the transformation.

NumCosmoMath.Fftlog:nderivs

The number of derivatives to be estimated.

NumCosmoMath.Fftlog:no-ringing

True to use the no-ringing adjustment of $\ln(r_0)$ and False otherwise.

NumCosmoMath.Fftlog:padding

The padding percentage of the number of knots $N$.

NumCosmoMath.Fftlog:smooth-padding-scale

Log10 of the smoothing scale.

NumCosmoMath.Fftlog:use-eval-int

Whether to use evaluation interval.

NumCosmoMath.Fftlog:use-smooth-padding

Whether to use a smooth padding.

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 NumCosmoMathFftlogSBesselJClass {
  NcmFftlogClass parent_class;
  
}

No description available.

Class members
parent_class: NcmFftlogClass

No description available.