Top |
NcmFftlogSBesselJNcmFftlogSBesselJ — Logarithm fast fourier transform for a kernel given by the spatial correlation function multipoles. |
NcmFftlogSBesselJ * | ncm_fftlog_sbessel_j_new () |
void | ncm_fftlog_sbessel_j_set_ell () |
guint | ncm_fftlog_sbessel_j_get_ell () |
void | ncm_fftlog_sbessel_j_set_q () |
gdouble | ncm_fftlog_sbessel_j_get_q () |
void | ncm_fftlog_sbessel_j_set_best_lnr0 () |
void | ncm_fftlog_sbessel_j_set_best_lnk0 () |
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$ (“ell”), must be an integer number.
The spatial correlation function multipoles, $\xi_{\ell}^{(n)}(r)$, can be defined as (see Matsubara (2004) [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" (“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.
NcmFftlogSBesselJ * ncm_fftlog_sbessel_j_new (guint ell
,gdouble lnr0
,gdouble lnk0
,gdouble Lk
,guint N
);
Creates a new fftlog Spherical Bessel J object.
void ncm_fftlog_sbessel_j_set_ell (NcmFftlogSBesselJ *fftlog_jl
,const guint ell
);
Sets ell
as the Spherical Bessel integer order $\ell$.
void ncm_fftlog_sbessel_j_set_q (NcmFftlogSBesselJ *fftlog_jl
,const gdouble q
);
Sets q
as the Spherical Bessel power.
void
ncm_fftlog_sbessel_j_set_best_lnr0 (NcmFftlogSBesselJ *fftlog_jl
);
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$.
void
ncm_fftlog_sbessel_j_set_best_lnk0 (NcmFftlogSBesselJ *fftlog_jl
);
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$.