skypy.power_spectrum.halofit

skypy.power_spectrum.halofit(wavenumber, redshift, linear_power_spectrum, cosmology, parameters)[source] [edit on github]

Computation of the non-linear halo power spectrum.

This function computes the non-linear halo power spectrum, as a function of redshift and wavenumbers, following [1], [2] and [3].

Parameters
k(nk,) array_like

Input wavenumbers in units of Mpc-1.

z(nz,) array_like

Input redshifts

P(nz, nk) array_like

Linear power spectrum for given wavenumbers and redshifts Mpc3.

cosmologyastropy.cosmology.Cosmology

Cosmology object providing method for the evolution of omega_matter with redshift.

parametersHalofitParameters

namedtuple containing the free parameters of the model.

Returns
pknl(nz, nk) array_like

Non-linear halo power spectrum in units of Mpc3.

References

1

R. E. Smith it et al., VIRGO Consortium, Mon. Not. Roy. Astron. Soc. 341, 1311 (2003).

2

R. Takahashi, M. Sato, T. Nishimichi, A. Taruya and M. Oguri, Astrophys. J. 761, 152 (2012).

3

S. Bird, M. Viel and M. G. Haehnelt, Mon. Not. Roy. Astron. Soc. 420, 2551 (2012).

Examples

>>> import numpy as np
>>> from astropy.cosmology import default_cosmology
>>> from skypy.power_spectrum import growth_function, eisenstein_hu, halofit_smith
>>> k = np.logspace(-4, 2, 100, base=10)
>>> z, A_s, n_s = 0, 2.2e-09, 0.97
>>> cosmology = default_cosmology.get()
>>> dz = growth_function(z, cosmology)
>>> linear_power = eisenstein_hu(k, A_s, n_s, cosmology) * np.square(dz)
>>> nonlinear_power = halofit_smith(k, z, linear_power, cosmology)