Halo Bias
Halo bias quantifies the excess clustering of halos over the clustering of dark matter. Bias is, in general, a function of halo mass and scale, but this module currently implements only scale-free bias models.
Basics
Bias can be evaluated as a function of either mass or peak height. The parameters that need to be passed depend on the bias model to some degree, and on whether the mass needs to be converted to peak height first:
from colossus.lss import peaks
from colossus.lss import bias
M = 1E14
z = 0.0
nu = peaks.peakHeight(M, z)
b = bias.haloBiasFromNu(nu, model = 'sheth01')
b = bias.haloBias(M, model = 'tinker10', z = z, mdef = 'vir')
Please see the Tutorials for more extensive code examples.
Bias models
The simplest bias model (cole89
) is based on the peak-background split model and was derived in a
number of different papers. The rest of the models was calibrated using numerical simulations:
ID |
Parameters |
z-dependence |
Reference |
---|---|---|---|
cole89 |
M/nu |
No |
|
jing98 |
M/nu, z |
Through non-linear mass |
|
sheth01 |
M/nu |
No |
|
seljak04 |
M/nu, z |
Through non-linear mass |
|
pillepich10 |
M/nu |
No |
|
tinker10 |
M/nu, z, mdef |
Through mass definition |
|
bhattacharya11 |
M/nu, z |
Yes |
|
comparat17 |
M/nu |
No |
The z-dependence column indicates whether a model predicts a bias that varies with redshift at fixed peak height. At fixed mass, all models predict a strongly varying bias. The Tinker et al. 2010 model was calibrated for a range of overdensities with respect to the mean density of the universe. Thus, depending on the mass definition used, this model can predict a slight redshift evolution.
Module contents
Characteristics of halo bias models. |
|
Dictionary containing a list of models. |
|
|
The halo bias at a given mass. |
|
The halo bias at a given peak height. |
|
The 2-halo term as a function of radius and halo mass. |
|
The peak-background split prediction for halo bias. |
|
A bias model calibrated on scale-free simulations. |
|
The halo bias model of Sheth et al 2001. |
|
A numerically calibrated bias model. |
|
The halo bias model of Pillepich et al 2010. |
|
The halo bias model of Tinker et al 2010. |
|
A bias model based on a mass function calibration. |
|
A bias model based on a mass function calibration. |
Module reference
- class lss.bias.HaloBiasModel
Characteristics of halo bias models.
This object contains certain characteristics of a halo bias model. Currently, this object is empty. The
models
dictionary contains one item of this class for each available model.
- lss.bias.models = {'bhattacharya11': <lss.bias.HaloBiasModel object>, 'cole89': <lss.bias.HaloBiasModel object>, 'comparat17': <lss.bias.HaloBiasModel object>, 'jing98': <lss.bias.HaloBiasModel object>, 'pillepich10': <lss.bias.HaloBiasModel object>, 'seljak04': <lss.bias.HaloBiasModel object>, 'sheth01': <lss.bias.HaloBiasModel object>, 'tinker10': <lss.bias.HaloBiasModel object>}
Dictionary containing a list of models.
An ordered dictionary containing one
HaloBiasModel
entry for each model.
- lss.bias.haloBiasFromNu(nu, z=None, mdef=None, model='tinker10', **kwargs)
The halo bias at a given peak height.
Redshift and mass definition are necessary only for particular models (see table above).
- Parameters
- nu: array_like
Peak height; can be a number or a numpy array.
- z: array_like
Redshift; can be a number or a numpy array. Only necessary for certain models.
- mdef: str
The mass definition corresponding to the mass that was used to evaluate the peak height. Only necessary for certain models. See Halo Mass Definitions for details.
- model: str
The bias model used.
- kwargs: kwargs
Extra arguments passed to the function of the particular model. See the documentation of those functions for valid arguments.
- Returns
- bias: array_like
Halo bias; has the same dimensions as
nu
orz
.
See also
haloBias
The halo bias at a given mass.
- lss.bias.haloBias(M, z, mdef=None, model='tinker10', **kwargs)
The halo bias at a given mass.
This function is a wrapper around
haloBiasFromNu()
. The mass definition is necessary only for certain models whereas the redshift is always necessary in order to convert mass to peak height.- Parameters
- M: array_like
Halo mass in \(M_{\odot}/h\); can be a number or a numpy array.
- z: array_like
Redshift; can be a number or a numpy array.
- mdef: str
The mass definition in which
M
is given. Only necessary for certain models. See Halo Mass Definitions for details.- model: str
The bias model used.
- kwargs: kwargs
Extra arguments passed to the function of the particular model. See the documentation of those functions for valid arguments.
- Returns
- bias: array_like
Halo bias; has the same dimensions as
M
orz
.
See also
haloBiasFromNu
The halo bias at a given peak height.
- lss.bias.twoHaloTerm(r, M, z, mdef, model='tinker10')
The 2-halo term as a function of radius and halo mass.
The 2-halo term in the halo-matter correlation function describes the excess density around halos due to the proximity of other peaks. This contribution can be approximated as the matter- matter correlation function times a linear bias which depends on the peak height of the halo. Sometimes this term includes an additional factor of the mean density which is omitted here.
Note that this 2-halo term is also implemented as an outer profile in the Colossus halo module, see the documentation of
halo.profile_outer
.- Parameters
- r: array_like
Halocentric radius in comoving Mpc/h; can be a number or a numpy array.
- M: float
Halo mass in \(M_{\odot}/h\)
- z: float
Redshift
- mdef: str
The mass definition in which
M
is given. See Halo Mass Definitions for details.- model: str
The bias model used.
- Returns
- rho_2h: array_like
The density due to the 2-halo term in physical \(M_{\odot}h^2/{\rm kpc}^3\); has the same dimensions as
r
.
- lss.bias.modelCole89(nu)
The peak-background split prediction for halo bias.
For a derivation of this model, see Cole & Kaiser 1989 or Mo & White 1996.
- Parameters
- nu: array_like
Peak height; can be a number or a numpy array.
- Returns
- bias: array_like
Halo bias; has the same dimensions as
nu
.
- lss.bias.modelJing98(nu, z)
A bias model calibrated on scale-free simulations.
This bias model relies on the slope of the power spectrum. It was calibrated on scale-free simulations with a power-law power spectrum, but is also applicable to LCDM cosmologies. Note that in the original notation, the peak height is only valid for scale-free models, but it is stated in Section 3 that one should use the properly defined peak height for CDM cosmologies.
Moreover, we use the zero-baryon approximation to the power spectrum of Eisenstein & Hu to avoid wiggles in the slope.
- Parameters
- nu: array_like
Peak height; can be a number or a numpy array.
- z: float
Redshift.
- Returns
- bias: array_like
Halo bias; has the same dimensions as
nu
.
- lss.bias.modelSheth01(nu)
The halo bias model of Sheth et al 2001.
- Parameters
- nu: array_like
Peak height; can be a number or a numpy array.
- Returns
- bias: array_like
Halo bias; has the same dimensions as
nu
.
- lss.bias.modelSeljak04(nu, z, cosmo_term=False)
A numerically calibrated bias model.
This bias model corresponds to Equation 5 in Seljak & Warren 2004. If
cosmo_term == True
, Equation 6 is used. Colossus currently does not implement a running of the spectral index, the corresponding parameter \(\alpha_{\rm s}\) is thus set to zero.- Parameters
- nu: array_like
Peak height; can be a number or a numpy array.
- z: float
Redshift.
- cosmo_term: bool
Include the cosmological term of Equation 6.
- Returns
- bias: array_like
Halo bias; has the same dimensions as
nu
.
- lss.bias.modelPillepich10(nu)
The halo bias model of Pillepich et al 2010.
- Parameters
- nu: array_like
Peak height; can be a number or a numpy array.
- Returns
- bias: array_like
Halo bias; has the same dimensions as
nu
.
- lss.bias.modelTinker10(nu, z, mdef)
The halo bias model of Tinker et al 2010.
The mass definition
mdef
must correspond to the mass that was used to evaluate the peak height. Note that the Tinker bias function is universal in redshift at fixed peak height, but only for mass definitions defined wrt. the mean density of the universe. For other definitions, \(\Delta_{\rm m}\) evolves with redshift, leading to an evolving bias at fixed peak height.- Parameters
- nu: array_like
Peak height; can be a number or a numpy array.
- z: array_like
Redshift; can be a number or a numpy array.
- mdef: str
The mass definition. See Halo Mass Definitions for details.
- Returns
- bias: array_like
Halo bias; has the same dimensions as
nu
orz
.
- lss.bias.modelBhattacharya11(nu, z)
A bias model based on a mass function calibration.
This bias model is derived using the peak-background split logic of Sheth & Tormen 1999, but with the updated and z-dependent best-fit parameters derived for the mass function. The authors note that this bias function does not match the numerical results as well as direct calibrations.
- Parameters
- nu: array_like
Peak height; can be a number or a numpy array.
- z: float
Redshift.
- Returns
- bias: array_like
Halo bias; has the same dimensions as
nu
.
- lss.bias.modelComparat17(nu)
A bias model based on a mass function calibration.
This model is equivalent to the Bhattacharya et al 2011 model in that it uses the same functional form and that its best-fit parameters are derived from a fit to the mass function rather than bias itself. However, this model does not depend on redshift. The parameters used here are updated compared to the published version of the paper.
- Parameters
- nu: array_like
Peak height; can be a number or a numpy array.
- Returns
- bias: array_like
Halo bias; has the same dimensions as
nu
.