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)