Luminosity function modeller (lumfunc_modeller
)¶
Provide models of the redshift-dependent tracer luminosity function \(\varPhi(m, z)\) (for absolute magnitude \(m\)) or \(\varPhi(\lg{L}, z)\) (for base-10 logarithm of the intrinsic luminosity \(L\)), from which the comoving number density below/above some brightness threshold \(\bar{m}\) or \(\bar{L}\),
can be predicted. The corresponding evolution bias is
and magnification bias is
We also offer a simple \(K\)-correction formula taken from ref. 1.
|
Luminosity function modeller predicting the comoving number density, evolution bias and magnification bias for a given brightness threshold. |
|
Subtractive Konstante correction (K-correction) to apparent magnitude for correcting bandpass redshifting. |
Quasar (QSO) luminosity function¶
Pure luminosity evolution model (PLE)
The quasar luminosity function in the pure luminosity evolution (PLE) model is a double power law
where \(m\) is the absolute magnitude, \(z\) is the redshift, and the slope parameters \(\alpha, \beta\) describe the power laws on the bright and faint ends respectively, but their values differ below and above the pivot redshift \(z_\mathrm{p}\). \(m_\ast\) is the break magnitude at which the luminosity function evaluates to \(\varPhi_\ast\),
where \(k_1, k_2\) are the redshift-evolution parameters whose values also differ below and above the pivot redshift 2.
This is a parametric model with 10 parameters: \(\lg\varPhi_\ast\), \(m_\ast(z_\mathrm{p})\), \((\alpha, \beta, k_1, k_2)_\mathrm{l}\) for \(z < z_\mathrm{p}\) and \((\alpha, \beta, k_1, k_2)_\mathrm{h}\) for \(z > z_\mathrm{p}\). Due to the exchange symmetry between \(\alpha\) and \(\beta\) in the double power law, the model constraint \(\alpha < \beta\) is imposed for both above and below the pivot redshift.
Hybrid evolution model (PLE+LEDE)
This model is the same as the PLE model below the pivot redshift, but above that the luminosity evolution–density evolution (LEDE) model is adopted where the luminosity function normalisation, break magnitude and bright-end power law index have different redshift evolutions
and continuity across redshift is imposed by requiring the same \(\lg\varPhi_\ast(z_\mathrm{p})\) and \(m_\ast(z_\mathrm{p})\) for two models 2.
The hybrid model still has 10 overall parameters: the PLE model retains 6 low-redshift parameters and the high-redshift LEDE model has 8 parameters, with the substitutions of \(\lg\varPhi_\ast(0)\) for \(\lg\varPhi_\ast\), \(m_\ast(0)\) for \(m_\ast(z_\mathrm{p})\), \(c_2\) for \(k_1, k_2\) and the addition of \(c_{1\mathrm{a}}, c_{1\mathrm{b}}\) and \(c_3\). As before, due to the exchange symmetry between \(\alpha\) and \(\beta\), the low-redshift PLE model constraint \(\alpha < \beta\) is imposed.
- 2(1,2)
Palanque-Delabrouille N. et al., 2016. A&A 587, A41. [arXiv: 1509.05607]
|
Evaluate the pure luminosity evolution (PLE) model for the quasar luminosity function at the given absolute magnitude and redshift. |
|
Check whether the pure luminosity evolution (PLE) model constraint is satisfied. |
|
Evaluate the hybrid model (pure luminosity evolution and luminosity evolution--density evolution, 'PLE+LEDE') for the quasar luminosity function at the given absolute magnitude and redshift. |
Check whether the hybrid model constraint is satisfied. |
Hα-emitter luminosity function¶
Schechter function model
The Hα-emitter luminosity function in the Schechter function model takes the form of a gamma function
where \(\alpha\) is the faint-end slope parameter,
are the redshift-dependent characteristic comoving number density and relative luminosity of the Hα-emitters, \(\epsilon, \delta\) are the redshift-evolution indices, and \(z_\mathrm{b}\) is the break magnitude 3.
This is a parametric model with 6 parameters: \(\alpha, \epsilon, \delta\), \(z_\mathrm{b}\), \(m_{\ast0}\) and \(\varPhi_{\ast0}\).
- 3
Pozzetti L. et al., 2016. A&A 590, A3. [arXiv: 1603.01453]
|
Evaluate the Schechter model for the Hα-emitter luminosity function at the given intrinsic luminosity and redshift. |
- horizonground.lumfunc_modeller.konstante_correction(redshift, normalisation_redshift=2.0, index=-0.5)[source]¶
Subtractive Konstante correction (K-correction) to apparent magnitude for correcting bandpass redshifting.
Notes
This implements the subtractive K-correction \(K(z) - K(z_\ast)\) normalised to redshift \(z_\ast\), where
\[K(z) = - \frac{5}{2} (1 + \alpha_\nu) \lg(1 + z)\]and \(\alpha_\nu\) is the power-law index.
- Parameters
redshift (float) – Redshift.
normalisation_redshift (float, optional) – Normalisation redshift (default is 2.).
index (float, optional) – \(K\)-correction power-law index (default is -0.5).
- Returns
correction_magnitude – The magnitude correction that needs to be subtracted from the observed magnitude.
- Return type
- horizonground.lumfunc_modeller.quasar_PLE_lumfunc(magnitude, redshift, *, base10_log=True, redshift_pivot=2.2, **model_parameters)[source]¶
Evaluate the pure luminosity evolution (PLE) model for the quasar luminosity function at the given absolute magnitude and redshift.
- Parameters
magnitude (float) – Quasar absolute magnitude.
redshift (float) – Quasar redshift.
base10_log (bool, optional) – If True (default), return the base-10 logarithmic value.
redshift_pivot (float, optional) – Pivot redshift.
**model_parameters – PLE model parameters. Must be passed with the following parameter names:
r'\lg\Phi_\ast'
,r'm_\ast(z_\mathrm{p})'
,r'\alpha_\mathrm{{l}}'
,r'\beta_\mathrm{{l}}'
,r'k_{{1\mathrm{{l}}}}'
,r'k_{{2\mathrm{{l}}}}'
,r'\alpha_\mathrm{{h}}'
,r'\beta_\mathrm{{h}}'
,r'k_{{1\mathrm{{h}}}}'
,r'k_{{2\mathrm{{h}}}}'
.
- Returns
lumfunc_value – Predicted qausar luminosity function value (in inverse cubic Mpc per unit magnitude). Base-10 logarithmic value is returned if base10_log is True.
- Return type
Notes
This function is not vectorised. Please use numpy.vectorize or functools if you need vectorisation.
- horizonground.lumfunc_modeller.quasar_PLE_model_constraint(**model_parameters)[source]¶
Check whether the pure luminosity evolution (PLE) model constraint is satisfied.
- Parameters
**model_parameters – PLE model parameters. See
quasar_PLE_lumfunc()
for required parameters.- Returns
Whether or not the model constraint is satisfied.
- Return type
- horizonground.lumfunc_modeller.quasar_hybrid_lumfunc(magnitude, redshift, *, base10_log=True, redshift_pivot=2.2, **model_parameters)[source]¶
Evaluate the hybrid model (pure luminosity evolution and luminosity evolution–density evolution, ‘PLE+LEDE’) for the quasar luminosity function at the given absolute magnitude and redshift.
- Parameters
magnitude (float) – Quasar absolute magnitude.
redshift (float) – Quasar redshift.
base10_log (bool, optional) – If True (default), return the base-10 logarithmic value.
redshift_pivot (float, optional) – Pivot redshift.
**model_parameters – Hybrid model parameters. Must be passed with the following parameter names:
r'\lg\Phi_\ast(0)'
,r'm_\ast(0)'
,r'\alpha'
,r'\beta'
,r'k_1'
,r'k_2'
,r'c_{{1\mathrm{{a}}}}'
,r'c_{{1\mathrm{{b}}}}'
,r'c_2'
,r'k_3'
.
- Returns
lumfunc_value – Predicted qausar luminosity function value (in inverse cubic Mpc per unit magnitude). Base-10 logarithmic value is returned if base10_log is True.
- Return type
Notes
This function is not vectorised. Please use numpy.vectorize or functools if you need vectorisation.
- horizonground.lumfunc_modeller.quasar_hybrid_model_constraint(**model_parameters)[source]¶
Check whether the hybrid model constraint is satisfied.
- Parameters
**model_parameters – Hybrid model parameters. See
quasar_hybrid_lumfunc()
for required parameters.- Returns
Whether or not the model constraint is satisfied.
- Return type
- horizonground.lumfunc_modeller.alpha_emitter_schechter_lumfunc(luminosity, redshift, *, base10_log=True, **model_parameters)[source]¶
Evaluate the Schechter model for the Hα-emitter luminosity function at the given intrinsic luminosity and redshift.
- Parameters
luminosity (float) – Hα-emitter luminosity in dex (base-10 logarithm).
redshift (float) – Hα-emitter redshift.
base10_log (bool, optional) – If True (default), return the base-10 logarithmic value.
**model_parameters – Schechter model parameters. Must be passed with the following parameter names:
r'\lg\Phi_{\ast0}'
,r'\lg{L_{\ast0}}'
,r'z_\mathrm{b}'
,r'\alpha'
,r'\delta'
,r'\epsilon'
.
- Returns
lumfunc_value – Predicted Hα-emitter luminosity function value (in inverse cubic Mpc per flux dex). Base-10 logarithmic value is returned if base10_log is True.
- Return type
Notes
This function is not vectorised. Please use numpy.vectorize or functools if you need vectorisation.
- class horizonground.lumfunc_modeller.LumFuncModeller(model_lumfunc, model_parameters, brightness_variable, threshold_value, normalise_threshold=False, normalisation_redshift=None, cosmology=None, exponentiation=False)[source]¶
Bases:
object
Luminosity function modeller predicting the comoving number density, evolution bias and magnification bias for a given brightness threshold.
- Parameters
model_lumfunc (callable) – A parametric luminosity function model as a function of brightness and redshift (in that order) in units of inverse cubic Mpc. If it returns the luminosity function value in base-10 logarithm, exponentiation should be set to True; if it accepts a boolean parameter ‘base10_log’, this will be overriden to False.
model_parameters (dict) – Model parameters passed to model_lumfunc as keyword arguments.
brightness_variable ({‘luminosity’, ‘magnitude’}, str) – Brightness variable of model_lumfunc, either ‘luminosity’ (in dex) or ‘magnitude’.
threshold_value (float) – Brightness threshold value for brightness_variable. If brightness_variable is ‘luminosity’, this is interpreted as a flux limit and converted to an intrinsic luminosity value at the tracer redshift using the luminosity distance.
normalise_threshold (bool, optional) – If True (default is False), threshold_value is converted from a flux limit to a luminosity value at normalisation_redshift using the luminosity distance if brightness_variable is ‘luminosity’, or converted from an apparent magnitude limit to an absolute magnitude value at normalisation_redshift using the distance modulus if brightness_variable is ‘magnitude’.
normalisation_redshift (float or None, optional) – If not None (default) and normalise_threshold is True, this redshift is used convert flux or apparent magnitude limit to an intrinsic luminosity or absolute magnitude threshold.
cosmology (
astropy.cosmology.core.Cosmology
or None, optional) – Background cosmological model used to calculate the luminosity distance or distance modulus (default is None).exponentiation (bool, optional) – If True (default is False), this assumes model_lumfunc only returns the base-10 logarithmic luminosity function and exponentiate its returned value to a power of 10.
- Variables
luminosity_function (callable) – Luminosity function of brightness and redshift variables only (in that order) (in inverse cubic \(\mathrm{Mpc}/h\) per unit luminosity).
brightness_threshold (callable) – Intrinsic luminosity or absoloute magnitude threshold, depending on the input argument of brightness_variable, as a function of redshift.
cosmology (
astropy.cosmology.core.Cosmology
) – Background cosmological model.attrs (dict) – Model parameters and luminosity variables stored in a dictionary.
Notes
luminosity_function
is a vectorised function.- luminosity_bound = {'luminosity': 100.0, 'magnitude': -50.0}¶
Finite luminosity upper bound for numerical integration.
If
brightness_variable
is ‘luminosity’, the bound is given as a base-10 logarithmic flux value in erg/s; else if ‘magnitude’, the bound is dimensionless.- Type
- classmethod from_parameter_file(parameter_file, **kwargs)[source]¶
Instantiate the modeller class with model parameter values loaded from a file.
- Parameters
parameter_file (str or
pathlib.Path
) – Path of the model parameter file.**kwargs – Parameters other than model_parameters passed to the modeller class as keyword arguments.
- comoving_number_density(redshift)[source]¶
Return the comoving number density \(\bar{n}(z)\) above the luminosity threshold at a given redshift.
- Parameters
redshift (float) – Redshift.
- Returns
Comoving number density (in inverse cubic \(\mathrm{Mpc}/h\)).
- Return type