Emulators are Machine Learning models that map cosmological (and nuisance) parameters to cosmological data vectors, just like many numerical packages for corresponding observables. The advantage of emulators is the fast evaluation time. As cosmology moves into an era when intense analyses require more and more computational resources for experiments with advancing precision and resolution, many traditional numerical packages become too slow in terms of evaluation time. Emulators are developed to overcome this issue and can widely replace many numerical packages in MCMCs.
In this repository, we provide emulators for various data vectors and in different architectures. The architectures include Residual Multi-Layer Perceptron, Transformer, Convolutional Neural Network, and Gaussian processing models.
Cosmic Microwave Background (CMB) emulators are trained to emulate TT (temperature auto spectrum), TE (temperature-polarization cross spectrum), and EE (polarization auto spectrum) power spectra output calculated by the CAMB Boltzmann code.
We provide a few architecture options; for instance, the users can select modeltype to be either TRF (standing for Transformer) or CNN (standing for Convolutional Neural Network).
Users then need to specify the corresponding emulator, which corresponds to a specific cosmological model, as well as a particular CAMB version and accuracy settings. This specification is done as follows.
Step 1️⃣: Select the 'ordering' list, which needs to be the exact sequence of parameters input to the emulator.,
Step 2️⃣: Select the emulator information files as shown below
#Switch the prefix xy for (tt, te, ee)
'xyfilename': emulator model parameters and
'xyextraname': normalization factors, .
Step 3️⃣: Specify ellmax, which is the largest ell mode that the emulator is trained to evaluate.
Step 4️⃣: If users want to sample the parameter theta_* (recommended) instead of H_0, specify the following parameters
'thetaordering': # exact sequence of parameters input to the Gaussian Processing emulator.
'GPfilename': # Gaussian Processing for the mapping between theta_* and thetaordering params to H_0.
'GPextraname': # Gaussian Processing for the mapping between theta_* and thetaordering params to H_0.
For Supernovae luminosity distances and BAO observable emulators, we adopt ResMLP for luminosity distance and Hubble parameter. On top of that, we have a Gaussian processing emulator for