slsim.Sources.SourceCatalogues.QuasarCatalog package¶
Submodules¶
slsim.Sources.SourceCatalogues.QuasarCatalog.quasar_host_match module¶
- class slsim.Sources.SourceCatalogues.QuasarCatalog.quasar_host_match.QuasarHostMatch(quasar_catalog, galaxy_catalog)[source]¶
Bases:
objectClass to generate a host galaxy catalog for a given quasar catalog.
- slsim.Sources.SourceCatalogues.QuasarCatalog.quasar_host_match.black_hole_mass_from_vel_disp(sigma_e, alpha=4.38, beta=0.31)[source]¶
Calculate black hole mass from bulge velocity dispersion using the relationship derived from the M-sigma relation.
- Parameters:
sigma_e (float or numpy.ndarray) – Bulge Velocity dispersion in km/s
alpha (float, optional) – Power-law index (default: 4.38)
beta (float, optional) – Normalization constant (default: 0.310)
- Returns:
Black hole mass in solar masses
- Return type:
float or numpy.ndarray
Notes¶
See Kormendy, J. and Ho, L. C. (2013) “The Coevolution of Supermassive Black Holes and Host Galaxies”
- slsim.Sources.SourceCatalogues.QuasarCatalog.quasar_host_match.calculate_lsst_magnitude(lsst_band, black_hole_mass_Msun, eddington_ratio)[source]¶
Calculates the absolute magnitude of a quasar in a given LSST band.
The calculation proceeds in three main steps: 1. Calculate the Eddington luminosity based on the black hole mass. 2. Calculate the bolometric luminosity from the Eddington ratio. 3. Convert the bolometric luminosity to an absolute magnitude in the specified LSST band using a bolometric correction. (Ref. Runnoe+ 2012 https://arxiv.org/abs/1201.5155)
- Parameters:
lsst_band (str) – The desired LSST band. Must be one of [‘u’, ‘g’, ‘r’, ‘i’, ‘z’, ‘y’].
black_hole_mass_Msun (float or numpy.ndarray) – The mass of the black hole in solar masses (M_sun). Can be an array.
eddington_ratio (float or numpy.ndarray) – The Eddington ratio (L_bol / L_edd). Can be an array.
- Returns:
The absolute magnitude of the quasar in the specified LSST band. Returns None if an invalid band is provided.
- Return type:
float or numpy.ndarray
- Raises:
ValueError – If the lsst_band is not a valid LSST band.
- slsim.Sources.SourceCatalogues.QuasarCatalog.quasar_host_match.sample_eddington_rate(z, z0=0.6, gamma_e=-0.65, gamma_z=3.47, A=0.00071, lambda_min=0.1, lambda_max=1.0, size=1, n_grid=1000)[source]¶
Sample Eddington ratios from a redshift-dependent power-law distribution. This function generates random samples of Eddington ratios (lambda) following a power-law distribution with redshift evolution. The probability density.
function is given by: P(lambda|z) = A * (1+z)/(1+z0)^gamma_z * lambda^gamma_e
- Parameters:
z (float) – Redshift at which to sample Eddington ratios
z0 (float, optional) – Reference redshift for redshift evolution (default: 0.6)
gamma_e (float, optional) – Power-law index for Eddington ratio dependence (default: -0.65)
gamma_z (float, optional) – Power-law index for redshift evolution (default: 3.47)
A (float, optional) – Normalization constant (default: 0.00071)
lambda_min (float, optional) – Minimum Eddington ratio to sample (default: 0.1)
lambda_max (float, optional) – Maximum Eddington ratio to sample (default: 1.0)
size (int, optional) – Number of samples to generate (default: 1)
n_grid (int, optional) – Number of grid points for numerical CDF calculation (default: 1000)
- Returns:
Sampled Eddington ratio(s). Returns float if size=1, otherwise numpy array
- Return type:
numpy.ndarray or float
Notes¶
The default parameters are based on observational constraints from quasar luminosity function studies. (See Eq. 16 in Korytov et al. 2019, https://arxiv.org/abs/1907.06530)
slsim.Sources.SourceCatalogues.QuasarCatalog.quasar_plus_galaxies module¶
- slsim.Sources.SourceCatalogues.QuasarCatalog.quasar_plus_galaxies.quasar_galaxies_simple(m_min=17, m_max=23, amp_min=0.9, amp_max=1.3, freq_min=0.5, freq_max=1.5, sky_area=<Quantity 0.1 deg2>)[source]¶
Creates an simple catalog of quasars and host galaxies. It generate random magnitude values in r, g, and i band for quasars. Also, generates amplitude and frequency for each source. Then, adds all these quasar properties to the galaxy catalog produced by skypy.
- Parameters:
z_max – maximum redshift for sources
m_min – minimum magnitude for sources in r band
m_max – maximum magnitude for sources in r band
amp_min – minimum amplitude for sources
amp_max – maximum amplitude for sources
freq_min – minimum frequency for sources
freq_max – maximum frequency for sources
- Returns:
an astropy table of quasars and host galaxies catalog
slsim.Sources.SourceCatalogues.QuasarCatalog.quasar_pop module¶
- class slsim.Sources.SourceCatalogues.QuasarCatalog.quasar_pop.QuasarRate(zeta: float = 2.98, xi: float = 4.05, z_star: float = 1.6, alpha: float = -3.31, beta: float = -1.45, phi_star: float = 1.8316199999999995e-06, cosmo: FlatLambdaCDM = None, skypy_config: str = None, sky_area: Quantity = None, noise: bool = True, redshifts: ndarray = None, host_galaxy_candidate: Table = None, use_qsogen_sed: bool = False, qsogen_bands: list = None, use_sed_interpolator: bool = True)[source]¶
Bases:
objectClass to calculate quasar luminosity functions and generate quasar samples.
- M_star(z_value)[source]¶
Calculates the break absolute magnitude of quasars for a given redshift according to Eq. (11) in Oguri & Marshall (2010): DOI: 10.1111/j.1365-2966.2010.16639.x.
- Parameters:
z_value (float or np.ndarray) – Redshift value.
- Returns:
M_star value.
- Return type:
float or np.ndarray :unit: mag
- compute_cdf_data(m_min, m_max, quasar_redshifts)[source]¶
Computes cumulative distribution function (CDF) data for given redshift values.
- Parameters:
m_min (float) – Minimum apparent magnitude.
m_max (float) – Maximum apparent magnitude.
quasar_redshifts (array-like) – Redshift values generated from generate_quasar_redshifts.
- Returns:
Dictionary containing CDF data for each redshift.
- Return type:
dict
- convert_magnitude(magnitude, z, conversion='apparent_to_absolute')[source]¶
Converts between apparent and absolute magnitudes using K-corrections determined in Table 4 of Richards et al. 2006: DOI: 10.1086/503559.
- Parameters:
magnitude (float or np.ndarray) – Apparent or absolute i-band magnitude.
z (float or np.ndarray) – Redshift.
conversion (str) – Conversion direction, either ‘apparent_to_absolute’ or ‘absolute_to_apparent’.
- Returns:
Converted magnitude.
- Return type:
float or np.ndarray :unit: mag
- dPhi_dM(M, z_value)[source]¶
Calculates dPhi_dM for a given M and redshift according to Eq (10) in Oguri & Marshall (2010): DOI: 10.1111/j.1365-2966.2010.16639.x.
- Parameters:
M (float or numpy.ndarray) – Absolute i-band magnitude.
z_value (float or numpy.ndarray) – Redshift value.
- Returns:
dPhi_dM value in the unit of comoving volume.
- Return type:
float or np.ndarray :unit: mag^-1 Mpc^-3
- generate_quasar_redshifts(m_min, m_max)[source]¶
Generates redshift locations of quasars using a light cone formulation.
- Parameters:
m_min (float) – Minimum apparent magnitude.
m_max (float) – Maximum apparent magnitude.
- Returns:
Redshift locations of quasars.
- Return type:
np.ndarray
- inverse_cdf_fits_for_redshifts(m_min, m_max, quasar_redshifts)[source]¶
Creates inverse Cumulative Distribution Function (CDF) fits for each redshift.
- Parameters:
m_min (float) – Minimum apparent magnitude.
m_max (float) – Maximum apparent magnitude.
quasar_redshifts (array-like) – Redshift values generated from generate_quasar_redshifts.
- Returns:
Dictionary containing inverse CDF functions for each redshift.
- Return type:
dict
- k_corr_interp(z)[source]¶
This function computes the k-correction for a quasar at a given redshift.
- Parameters:
z (float or np.array) – Redshift value at which k correction need to be computed.
- Returns:
k-correction value for given redshifts.
- n_comoving(m_min, m_max, z_value)[source]¶
Calculates the comoving number density of quasars by integrating dPhi/dM over the range of absolute magnitudes.
- Parameters:
m_min (float or np.ndarray) – Minimum apparent magnitude.
m_max (float or np.ndarray) – Maximum apparent magnitude.
z_value (float or np.ndarray) – Redshift value.
- Returns:
Comoving number density of quasars.
- Return type:
float or np.ndarray :unit: Mpc^-3
- quasar_sample(m_min, m_max, seed=42, host_galaxy=False)[source]¶
Generates random redshift values and associated apparent i-band magnitude values for quasar samples.
- Parameters:
m_min (float) – Minimum apparent magnitude.
m_max (float) – Maximum apparent magnitude.
seed (int) – Random seed for reproducibility.
host_galaxy – Host galaxy catalog generation flag. If True, the host galaxy catalog will be generated and matched with the quasar catalog. If False, no host galaxy catalog will be generated.
- Returns:
astropy Table with redshift and associated apparent i-band magnitude values.
- Return type:
~astropy.table.Table
slsim.Sources.SourceCatalogues.QuasarCatalog.simple_quasar module¶
- slsim.Sources.SourceCatalogues.QuasarCatalog.simple_quasar.quasar_catalog_simple(num_quasars=50000, z_min=0.1, z_max=5, m_min=17, m_max=23, amp_min=18, amp_max=23, freq_min=0.5, freq_max=1.5)[source]¶
Creates an simple catalog of quasars. It generate random redshift and magnitude values in r, g, and i band. Also, generates amplitude and frequency for each source. The function only works for r, g, and i band magnitudes.
- Parameters:
number – number of sources we want
z_min – minimum redshift for sources
z_max – maximum redshift for sources
m_min – minimum magnitude for sources in r band
m_max – maximum magnitude for sources in r band
amp_min – minimum amplitude for sources
amp_max – maximum amplitude for sources
freq_min – minimum frequency for sources
freq_max – maximum frequency for sources
- Returns:
an astropy table of quasar catalog
Module contents¶
- slsim.Sources.SourceCatalogues.QuasarCatalog.quasar_galaxies_simple(m_min=17, m_max=23, amp_min=0.9, amp_max=1.3, freq_min=0.5, freq_max=1.5, sky_area=<Quantity 0.1 deg2>)[source]¶
Creates an simple catalog of quasars and host galaxies. It generate random magnitude values in r, g, and i band for quasars. Also, generates amplitude and frequency for each source. Then, adds all these quasar properties to the galaxy catalog produced by skypy.
- Parameters:
z_max – maximum redshift for sources
m_min – minimum magnitude for sources in r band
m_max – maximum magnitude for sources in r band
amp_min – minimum amplitude for sources
amp_max – maximum amplitude for sources
freq_min – minimum frequency for sources
freq_max – maximum frequency for sources
- Returns:
an astropy table of quasars and host galaxies catalog