dsf.utils.hankel_transform_1d module¶
1D Hankel transform utilities.
This module provides functions for performing 1D Hankel transforms using the FFTLog algorithm.
The public functions include:
1) hankel_spherical_order_0: Convert a 3D power spectrum to a 3D correlation function
using the J0 Bessel function.
2) hankel_projected_order_2: Convert a projected GGL power spectrum to a 2D tangential
shear correlation function using the J2 Bessel function.
- dsf.utils.hankel_transform_1d.hankel_projected_order_2(ell, c_ell, use_offset=False)[source]¶
Convert projected GGL power spectrum to 2D correlation function using FFTLog:
\(\gamma_t(\theta) = \int \frac{\ell d\ell}{2\pi} C(\ell) J_2(\ell \theta)\).
- Parameters:
ell (ndarray[tuple[Any, ...], dtype[float64]]) – ell array (must be uniform in logspace).
c_ell (ndarray[tuple[Any, ...], dtype[float64]]) – Power spectrum to transform.
use_offset (bool) – Optional flag to apply an offset to the logarithmic spacing of the output. Can reduce numerical ringing.
- Returns:
Function returning \(\gamma_t(\theta)\) evaluated at the requested angular scales.
- Return type:
Callable[[ndarray[tuple[Any, …], dtype[float64]]], ndarray[tuple[Any, …], dtype[float64]]]
- dsf.utils.hankel_transform_1d.hankel_spherical_order_0(k, pk, use_offset=False)[source]¶
Convert power spectrum to 3D correlation function using FFTLog:
\(\xi(r) = \int \frac{k^2 dk}{2\pi^2} P(k) j_0(kr)\).
- Parameters:
k (ndarray[tuple[Any, ...], dtype[float64]]) – Wavenumber array (must be uniform in logspace).
pk (ndarray[tuple[Any, ...], dtype[float64]]) – Power spectrum to transform.
use_offset (bool) – Optional flag to apply an offset to the logarithmic spacing of the output. Can reduce numerical ringing.
- Returns:
Function returning \(\xi(r)\) evaluated at the requested radii.
- Return type:
Callable[[ndarray[tuple[Any, …], dtype[float64]]], ndarray[tuple[Any, …], dtype[float64]]]