pyccl.cells module

pyccl.cells.angular_cl(cosmo, tracer1, tracer2, ell, *, p_of_k_a='delta_matter:delta_matter', l_limber=-1, limber_max_error=0.01, limber_integration_method='qag_quad', non_limber_integration_method='FKEM', fkem_chi_min=None, fkem_Nchi=None, p_of_k_a_lin='delta_matter:delta_matter', return_meta=False)[source]

Calculate the angular (cross-)power spectrum for a pair of tracers.

Parameters:
  • cosmo (Cosmology) – A Cosmology object.

  • tracer1 (Tracer) – a Tracer object, of any kind.

  • tracer2 (Tracer) – a second Tracer object.

  • ell (float or array) – Angular multipole(s) at which to evaluate the angular power spectrum.

  • p_of_k_a (Pk2D, str or None) – 3D Power spectrum to project. If a string, it must correspond to one of the non-linear power spectra stored in cosmo (e.g. ‘delta_matter:delta_matter’).

  • l_limber (int, float or 'auto') – Angular wavenumber beyond which Limber’s approximation will be used. Defaults to -1. If ‘auto’, then the non-limber integrator will be used to compute the right transition point given the value of limber_max_error.

  • limber_max_error (float) – Maximum fractional error for Limber integration.

  • limber_integration_method (string) – integration method to be used for the Limber integrals. Possibilities: ‘qag_quad’ (GSL’s qag method backed up by quad when it fails) and ‘spline’ (the integrand is splined and then integrated numerically).

  • non_limber_integration_method (string) – integration method to be used for the non-Limber integrals. Currently the only method implemented is 'FKEM' (see the N5K paper for details).

  • fkem_chi_min – Minimum comoving distance used by FKEM to sample the tracer radial kernels. If None, the minimum distance over which the kernels are defined will be used (capped to 1E-6 Mpc if this value is zero). Users are encouraged to experiment with this parameter and fkem_Nchi to ensure the robustness of the output \(C_\ell\) s.

  • fkem_Nchi – Number of values of the comoving distance over which FKEM will interpolate the radial kernels. If None the smallest number over which the kernels are currently sampled will be used. Note that FKEM will use a logarithmic sampling for distances between fkem_chi_min and the maximum distance over which the tracers are defined. Users are encouraged to experiment with this parameter and fkem_chi_min to ensure the robustness of the output \(C_\ell\) s.

  • p_of_k_a_lin (Pk2D, str or None) – 3D linear Power spectrum to project, for special use in PT calculations using the FKEM non-limber integration technique. If a string, it must correspond to one of the linear power spectra stored in cosmo (e.g. ‘delta_matter:delta_matter’).

  • return_meta (bool) – if True, also return a dictionary with various metadata about the calculation, such as l_limber as calculated by the non-limber integrator.

Returns:

Angular (cross-)power spectrum values, \(C_\ell\), for the pair of tracers, as a function of \(\ell\).

Return type:

float or array