hmf.halofit¶
Implements the HALOFIT (Smith+2003, Takahashi+2012) method.
This code was heavily influenced by the HaloFit class from the chomp python package by Christopher Morrison, Ryan Scranton and Michael Schneider (https://code.google.com/p/chomp/). It has been modified to improve its integration with this package.
Notes
When comparing the output of this module to other codes that implement HALOFIT (e.g. nbodykit via CLASS, or CAMB), differences of order a few percent may be observed. These differences arise almost entirely from the input linear power spectrum, not from the HALOFIT algorithm itself. Specifically:
nbodykit/CLASS and CAMB use Boltzmann-solver transfer functions, whereas
hmfdefaults to the Eisenstein-Hu (EH) fitting formula for the transfer function.Different codes may also use different values of σ₈ if they normalise the spectrum differently.
Benchmarks: when the same linear power spectrum (k, Δ²(k)) is
passed to both this implementation and to CAMB’s Takahashi+2012 halofit, the
resulting non-linear power spectra agree to better than 0.3% across the range
0.01 ≲ k ≲ 30 h/Mpc. Any larger discrepancy seen in practice is therefore
attributable to differences in the linear input, not to this implementation.