skypy.power_spectrum.halofit_bird

skypy.power_spectrum.halofit_bird(wavenumber, redshift, linear_power_spectrum, cosmology, *, parameters=HalofitParameters(a=[0.167, 0.794, 1.6762, 1.8369, 1.4861, - 0.6206, 0.0], b=[0.3084, 0.9466, 0.9463, - 0.94, 0.0], c=[0.3214, 0.6669, - 0.2807, - 0.0793], gamma=[0.2224, 1.18075, - 0.6719], alpha=[- 0.1452, 0.37, 1.3884, 0.0], beta=[0.0, 0.0, 0.3401, 0.9854, 0.8291, 0.0], mu=[0.1908, - 3.5442], nu=[1.2857, 0.9589], fa=[- 0.0732, - 0.1423, 0.0725], fb=[- 0.0307, - 0.0585, 0.0743], l=2.08, m=0.0012, p=26.3, r=- 6.49, s=1.44, t=12.4))

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)