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]]]