Source code for pyccl.power

from . import ccllib as lib
from .pyutils import _vectorize_fn2


[docs]def linear_matter_power(cosmo, k, a): """The linear matter power spectrum; Mpc^3. Args: cosmo (:obj:`Cosmology`): Cosmological parameters. k (float or array_like): Wavenumber; Mpc^-1. a (float): Scale factor. Returns: float or array_like: Linear matter power spectrum; Mpc^3. """ return _vectorize_fn2(lib.linear_matter_power, lib.linear_matter_power_vec, cosmo, k, a)
[docs]def nonlin_matter_power(cosmo, k, a): """The nonlinear matter power spectrum; Mpc^3. Args: cosmo (:obj:`Cosmology`): Cosmological parameters. k (float or array_like): Wavenumber; Mpc^-1. a (float): Scale factor. Returns: float or array_like: Nonlinear matter power spectrum; Mpc^3. """ return _vectorize_fn2(lib.nonlin_matter_power, lib.nonlin_matter_power_vec, cosmo, k, a)
[docs]def sigmaR(cosmo, R, a=1.): """RMS variance in a top-hat sphere of radius R in Mpc. Args: cosmo (:obj:`Cosmology`): Cosmological parameters. R (float or array_like): Radius; Mpc. a (float): optional scale factor; defaults to a=1 Returns: float or array_like: RMS variance in the density field in top-hat sphere; Mpc. """ return _vectorize_fn2(lib.sigmaR, lib.sigmaR_vec, cosmo, R, a)
[docs]def sigmaV(cosmo, R, a=1.): """RMS variance in the displacement field in a top-hat sphere of radius R. The linear displacement field is the gradient of the linear density field. Args: cosmo (:obj:`Cosmology`): Cosmological parameters. R (float or array_like): Radius; Mpc. a (float): optional scale factor; defaults to a=1 Returns: sigmaV (float or array_like): RMS variance in the displacement field in top-hat sphere. """ return _vectorize_fn2(lib.sigmaV, lib.sigmaV_vec, cosmo, R, a)
[docs]def sigma8(cosmo): """RMS variance in a top-hat sphere of radius 8 Mpc/h. .. note:: 8 Mpc/h is rescaled based on the Hubble constant. Args: cosmo (:obj:`Cosmology`): Cosmological parameters. Returns: float: RMS variance in top-hat sphere of radius 8 Mpc/h. """ return sigmaR(cosmo, 8.0 / cosmo['h'])