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

The get_pnl() method 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. The _validate_params method checks this internally.

  • Clustering Amplitude \((\sigma12)\):

    The valid range for the clustering amplitude is: \(0.2 < \sigma_{12} < 1.0\)

  • Wavenumber \((k)\):

    The emulator provides predictions within the wavenumber range: \(0.006\, {\rm Mpc}^{-1} < k < 2.0 \, {\rm Mpc}^{-1}\)

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.