Emulator Parameters

This page details the parameters used by Aletheia. It is important to distinguish between the user-facing input parameters and the internal emulated parameters upon which the emulator is trained.

User Input: The Cosmology Dictionary

The main way to provide a cosmology is through a Python dictionary, created by the AletheiaEmu.create_cosmo_dict() static method. This method ensures all parameters are correctly formatted.

Example 1: Using Physical Densities (Default) This is the recommended method, as it uses physical density parameters (e.g., \(\omega_{\mathrm{b}}\)) that are independent of the dimensionless Hubble parameter \(h\).

cosmo_params = AletheiaEmu.create_cosmo_dict(
    h=0.67,
    omega_b=0.0224,
    omega_c=0.120,
    n_s=0.96,
    A_s=2.1e-9,
    model='LCDM'
)

Example 2: Using Fractional Densities The helper function can also accept fractional densities (e.g., \(\Omega_{\mathrm{b}}=\omega_{\mathrm{b}}/h^2\)) by setting the density_type flag.

cosmo_params = AletheiaEmu.create_cosmo_dict(
    h=0.7,
    Omega_b=0.05,
    Omega_c=0.267,
    n_s=0.97,
    A_s=2.1e-9,
    model='LCDM',
    density_type='fractional'
)

The user provides standard cosmological parameters (like A_s, w_0, w_a, omega_k) and the get_pnl() method also takes a redshift.

Internal Conversion

The emulator does not use all of these input parameters directly. Instead, it internally calculates the specific set of parameters upon which its Gaussian Process models were trained.

The primary emulated parameters are:

  1. Shape Parameters: omega_b, omega_c, n_s

  2. Clustering Amplitude: sigma12 (the RMS of matter fluctuations at z=0)

The user-provided values for A_s, w_0, w_a, omega_DE, omega_k, and z are used by the internal Cosmology and GrowthCalculator classes to compute the correct values of sigma12 and xtilde for the given cosmology at the specified redshift. This sigma12 value is then passed to the emulators.

Emulator Training Range

Both the get_pnl() and get_fnu() methods will raise a ValueError if the input cosmology results in emulated parameters that are outside the training domain.

  • Shape Parameters \((\omega_{\mathrm{b}}, \omega_{\mathrm{c}}, n_{\mathrm{s}})\):

    The emulator is trained on a parameter space spanning \(\pm 5\sigma\) of the Planck 2018 constraints, projected onto the eigenvectors of the covariance matrix[cite: 1, 2]. Both methods check this internally via the _validate_params method.

  • Clustering Amplitude \((\sigma_{12})\):

    The valid range for the clustering amplitude shared by both emulators is: :math:`0.2 le sigma_{12} le 1.0`[cite: 1, 2].

  • Wavenumber \((k)\) (for get_pnl ):

    The non-linear power spectrum emulator provides predictions within the wavenumber range: :math:`0.006, {rm Mpc}^{-1} le k le 2.0 , {rm Mpc}^{-1}`[cite: 1].

  • Peak Height \((\nu)\) (for get_fnu ):

    The mass function predictions are valid within a dynamically calculated, \(\sigma_{12}\)-dependent window of peak heights[cite: 1, 2]. This window inherently narrows as \(\sigma_{12}\) falls and is evaluated automatically by the _validate_nu method.

This design, based on the evolution mapping framework, allows the emulator to robustly handle dark energy and curvature models without having been explicitly trained on them.