Two-point correlator models (models)¶
Compute Fourier-space two-point correlator models.
Cartesian multipoles¶
The standard Kaiser model of plane-parallel power spectrum multipoles is implemented,
with shot noise, window convolution and the integral constraint taken
into account 1 2; here \(f(z)\) is the linear growth rate,
\(b(z, k) = b_1(z) + f_\textrm{NL} \Delta b(k, z)\) is the
scale-dependent linear bias including the modification \(\Delta b\)
due to local primordial non-Gaussianity \(f_\textrm{NL}\) (see
scale_dependence), and \(P_{\textrm{m}}\)
is the matter power spectrum.
- 1
Wilson M. J. et al., 2017. MNRAS 464(3), 3121–3130. [arXiv: 1511.07799]
- 2
Beutler F. et al., 2017. MNRAS 466(2), 2242–2260. [arXiv: 1607.03150]
Spherical correlator¶
Spherical 2-point correlators are computed from coupling coefficients
(see couplings) as a sum of the signal part
and the shot noise part
where \(*\) denotes quantities computed at the fiducial epoch
\(z_*\), \(\kappa\) denotes the normalisation coefficients (see
discretisation), \(\bar{n}\) is the mean
number density and
\(j_\mu(r) \equiv j_{\ell_\mu}(k_{\ell_\mu n_\mu} r)\).
|
Power spectrum multipoles predicted for a given cosmological model and survey specifications. |
|
Spherical two-point correlator predicted for a given cosmological model and survey specifications. |
-
class
harmonia.reader.models.CartesianMultipoles(wavenumbers, redshift, cosmo=None, power_spectrum=None, growth_rate=None, mask_multipoles=None, window_multipoles=None)[source]¶ Power spectrum multipoles predicted for a given cosmological model and survey specifications.
- Parameters
wavenumbers (float, array_like) – Wavenumbers at which the model is evaluated.
redshift (float) – Redshift at which the model is evaluated.
cosmo (
nbodykit.cosmology.cosmology.Cosmologyor None, optional) – Baseline cosmological model used to produce the transfer function and power spectrum and to compute the linear growth rate. This can be subsequently updated when callingconvolved_power_multipoles(). If None (default) and not subsequently updated, primordial non-Gaussianity modifications cannot be computed.power_spectrum (callable or None, optional) – Baseline linear matter power spectrum model at redshift. Ignored when cosmo is provided. This cannot be None (default) unless it is subsequently updated when calling
convolved_power_multipoles().growth_rate (float or None, optional) – Baseline linear growth rate at redshift. If None (default), this is set by cosmo if it is provided; otherwise this is set to 0. This can be subsequently updated when calling
two_point_correlator()orcorrelator_matrix().mask_multipoles (
numpy.ndarrayor None, optional) – Survey mask multipoles given at sampled separations (default is None). Orders and sampled separations must be sorted.window_multipoles (
CartesianArrayor None, optional) – Survey window multipoles given at sampled wavenumbers (default is None). If provided, integral constraint corrections are applied. Orders and sampled wavenumbers must be sorted.
- Variables
mask_multipoles (
numpy.ndarrayor None) – Survey mask multipoles given at sampled separations.window_multipoles (
CartesianArrayor None) – Survey window multipoles given at sampled wavenumbers.cosmo (
nbodykit.cosmology.cosmology.Cosmologyor None) – Cosmological model.matter_power_spectrum (callable) – Matter power spectrum at redshift.
growth_rate (float) – Linear growth rate at redshift.
attrs (dict) – Any other attributes inherited from input parameters.
-
convolved_power_multipoles(orders, b_1=None, f_nl=None, nbar=None, contrast=None, tracer_p=1.0, update_model_kwargs=None)[source]¶ Compute the convolved power spectrum multipoles.
- Parameters
orders (list of int) – Orders of the power spectrum multipoles. Values only allowed from the set {0, 2, 4}.
b_1 (float or None, optional) – Scale-independent linear bias at input redshift. If None (default), no tracer bias is assumed relative to the matter power spectrum.
f_nl (float or None, optional) – Local primordial non-Gaussianity (default is None).
nbar (float or None, optional) – Mean particle number density (in cubic \(h\)/Mpc). If None (default), shot noise is neglected.
contrast (float or None, optional) – If not None (default), this adds additional shot noise
1 / (contrast * nbar)from a FKP-style random catalogue.tracer_p (float, optional) – Tracer-dependent parameter for bias modulation by f_nl (default is 1.).
update_model_kwargs (dict or None, optional) – Parameters cosmo, power_spectrum and growth_rate passed as keyword arguments to update the baseline cosmological model.
- Returns
convolved_power – Convolved power spectrum multipoles.
- Return type
-
static
kaiser_factors(ell, b, f)[source]¶ Return the standard Kaiser power spectrum multipole as a multipole of the matter power spectrum.
Notes
Linear bias b and growth rate f must be specified at the same redshift.
- Parameters
ell (int) – Order of the multipole in {0, 2, 4}.
b (float, array_like) – Linear bias of the tracer particles.
f (float or None) – Linear growth rate.
- Returns
Standard Kaiser factor to multiply by the matter power spectrum.
- Return type
float, array_like
-
class
harmonia.reader.models.SphericalCorrelator(disc, redshift, cosmo=None, power_spectrum=None, growth_rate=None, couplings=None, coupling_disc=None, survey_specs=None, cosmo_specs=None, ini_shot_noise=True, comm=None)[source]¶ Spherical two-point correlator predicted for a given cosmological model and survey specifications.
Notes
Summation is performed over spherical modes to compute the correlator model. Owing to mode couplings, sums need to be truncated at higher mode wavenumbers than wavenumbers under consideration to ensure convergence. We suggest the user trial discrete spectra with different upper wavenumber cutoffs for the couplings and use
radialised_power()to gauge convergence. In the future, an automated facility for this purpose may be provided.- Parameters
disc (
DiscreteSpectrum) – Discrete spectrum associated with the correlator model.redshift (float) – Redshift at which the model is evaluated.
cosmo (
nbodykit.cosmology.cosmology.Cosmologyor None, optional) – Baseline cosmological model used to produce the transfer function (and the power spectrum and linear growth rate if these are not set but required in model evaluation). This can be subsequently updated when callingtwo_point_correlator()orcorrelator_matrix(). If None (default) and not subsequently updated, primordial non-Gaussianity modifications cannot be computed.power_spectrum (callable or None, optional) – Baseline linear matter power spectrum model at redshift. Ignored when cosmo is provided; otherwise this cannot be None (default) unless it is subsequently updated when calling
two_point_correlator()orcorrelator_matrix().growth_rate (float or None, optional) – Baseline linear growth rate at redshift. If None (default), this is set by cosmo (if provided); otherwise this is set to zero. This can be subsequently updated when calling
two_point_correlator()orcorrelator_matrix().couplings (
Couplingsor None, optional) – Baseline coupling coefficients consistent with the underlying cosmological model cosmo. If None (default), this is compiled from survey_specs and cosmo_specs if either is provided; otherwise all couplings are assumed to be trivial (i.e. angular and radial couplings are Kronecker deltas). This can be subsequently updated when callingtwo_point_correlator()orcorrelator_matrix().coupling_disc (
Couplingsor None, optional) – Discrete spectrum for the baseline coupling coefficients (default is None). This must be provided if couplings is None and needs to be compiled. To ensure sum convergence in the correlator model, the upper wavenumber cutoff for this spectrum may need to be higher than that of the correlator model, i.e. disc.survey_specs (dict{str: callable or None} or None, optional) – Survey specification functions to be passed as survey_specs to
Couplingswhen couplings are compiled. Also used in shot noise calculations.cosmo_specs (dict{str: callable, bool or None} or None, optional) – Baseline cosmological specification functions to be passed as cosmo_specs to
Couplingswhen couplings are compiled. If not None (default), it must be a dictionary holding keys listed inCouplings: if callable values are passed to the keys'chi_of_z','clustering_evolution','growth_evolution'or'differential_AP_distortion', they should be consistent with the currentcosmo; otherwise True can be passed here and their values are then derived from cosmo (which must then be set), or unspecified keys assume None values; also note some keys are linked and values must be simultaneously provided. This can be subsequently updated when callingtwo_point_correlator()orcorrelator_matrix().ini_shot_noise (bool, optional) – If True (default), shot noise integrals are evaluated upon initialisation.
comm (
mpi4py.MPI.Commor None, optional) – MPI communicator. If None (default), no multiprocessing is invoked.
- Variables
couplings (
nbodykit.cosmology.cosmology.Cosmologyor None) – Spherical coupling coefficients.cosmo (
nbodykit.cosmology.cosmology.Cosmologyor None) – Cosmological model.matter_power_spectrum (callable) – Matter power spectrum at redshift.
growth_rate (float) – Linear growth rate at redshift.
attrs (dict) – Any other attributes inherited from input parameters.
See also
CouplingsMore details related to couplings and especially the cosmo_specs parameter.
-
two_point_correlator(mu, nu, b_1, f_nl=None, nbar=None, contrast=None, tracer_p=1.0, update_model_kwargs=None)[source]¶ Compute two-point correlator for given triplet indices.
- Parameters
mu, nu (tuple(int, int, int)) – Coefficient triplet index.
b_1 (float) – Scale-independent linear bias at input redshift.
f_nl (float or None, optional) – Local primordial non-Gaussianity (default is None).
nbar (float or None, optional) – Mean particle number density (in cubic \(h\)/Mpc). If None (default), shot noise is neglected.
contrast (float or None, optional) – If not None (default), this adds additional shot noise
1 / (contrast * nbar)from a FKP-style random catalogue.tracer_p (float, optional) – Tracer-dependent parameter for bias modulation by f_nl (default is 1.).
update_model_kwargs (dict or None, optional) – Parameters cosmo, power_spectrum, growth_rate and cosmo_specs passed as keyword arguments to update the baseline cosmological model. If cosmo_specs is passed (including None values), radial and RSD couplings will be updated.
- Returns
Spherical Fourier 2-point function value for given triplet indices. If cosmo_specs is passed, radial and RSD couplings will be updated.
- Return type
-
correlator_matrix(pivot, b_1=None, f_nl=None, nbar=None, contrast=None, tracer_p=1.0, diagonal=False, shot_noise_only=False, update_model_kwargs=None, report_progress=False)[source]¶ Compute two-point correlator matrix for some vetorisation of all spectrum modes.
- Parameters
pivot ({‘natural’, ‘spectral’}) – Pivot order for vectorisation.
b_1 (float) – Scale-independent linear bias at input redshift.
f_nl (float or None, optional) – Local primordial non-Gaussianity (default is None).
nbar (float or None, optional) – Mean particle number density (in cubic \(h\)/Mpc). If None (default), shot noise is neglected.
contrast (float or None, optional) – If not None (default), this adds additional shot noise
1 / (contrast * nbar)from a FKP-style random catalogue.tracer_p (float, optional) – Tracer-dependent parameter for bias modulation by f_nl (default is 1.).
diagonal (bool, optional) – If True (default is False), return only the diagonal matrix part.
shot_noise_only (bool, optional) – If True (default is False), return only the shot noise correlator matrix.
update_model_kwargs (dict or None, optional) – Parameters cosmo, power_spectrum, growth_rate and cosmo_specs passed as keyword arguments to update the baseline cosmological model. If cosmo_specs is passed (including None values), radial and RSD couplings will be updated.
report_progress (bool, optional) – If True (default is False), progress status will be reported.
- Returns
Two-point correlator matrix vectorised by the given pivot.
- Return type
complex
numpy.ndarray
See also
-
radialised_power(b_1=None, f_nl=None, nbar=None, contrast=None, tracer_p=1.0, shot_noise_only=False)[source]¶ Compute the radialised spherical mode power.
Notes
This relies on
correlator_matrix()withdiagonal=True. Results are only meaningful in the radialisation limit when all coupling coefficients are trivial (i.e. Kronecker deltas) so that spherical modes are mutually independent 3. Mode power is averaged over equivalent spherical orders and suitably normalised so that it matches the Cartesian power spectrum for a full-sky statistically isotripoc map.- Parameters
b_1 (float) – Scale-independent linear bias at input redshift.
f_nl (float or None, optional) – Local primordial non-Gaussianity (default is None).
nbar (float or None, optional) – Mean particle number density (in cubic \(h\)/Mpc). If None (default), shot noise is neglected.
contrast (float or None, optional) – If not None (default), this adds additional shot noise
1 / (contrast * nbar)from a FKP-style random catalogue.tracer_p (float, optional) – Tracer-dependent parameter for bias modulation by f_nl (default is 1.).
shot_noise_only (bool, optional) – If True (default is False), return only the shot noise power.
- Returns
Radialised spherical mode powers at wavenumbers with mode indices.
- Return type
See also