dsf.hankel.hankel_transform_matrix_direct module

Direct matrix Hankel transforms for projected radial statistics.

This module provides the HankelTransformMatrixDirect class, which converts Fourier-space spectra into projected radial-space quantities using precomputed Hankel operator grids along a predefined radial grid. It is useful for computing projected correlation functions, covariance matrices, and higher-order radial tensors that appear in weak-lensing and Delta Sigma calculations.

This class inherits from HankelTransformMatrixZeros in order to reuse the public matrix API. However, the grid construction and projection methods are overridden.

class dsf.hankel.hankel_transform_matrix_direct.HankelTransformMatrixDirect(r_min=0.1, r_max=100.0, k_min=0.0001, k_max=10.0, n_r=1000, n_k=1000, orders=(0, 2), radial_weight_method='voronoi')[source]

Bases: HankelTransformMatrixZeros

Project Fourier-space spectra into radial-space statistics.

The class builds Bessel-function grids for the requested orders and uses them to evaluate projected radial quantities. A single input spectrum gives a projected correlation-like statistic, two spectra give a projected covariance matrix, and three spectra give a projected third-order radial tensor.

The input r and k ranges must have reciprocal units such that \(r \times k\) is dimensionless.

Parameters:
  • r_min (float) – Minimum radial scale to cover.

  • r_max (float) – Maximum radial scale to cover.

  • k_min (float) – Minimum wavenumber to cover.

  • k_max (float) – Maximum wavenumber to cover.

  • n_r (int) – Number of radial grid points to use for the Hankel transform.

  • n_k (int) – Number of wavenumber grid points to use for Hankel transform.

  • orders (Iterable[float | int]) – Bessel orders to precompute.

  • radial_weight_method (RadialWeightMethod) – Radial bin weights: voronoi (default), gradient, or polynomial.