A Python package for predicting the galaxy power spectrum with a neural network (NN) based emulator.
The package can be installed by cloning this repository and using pip.
git clone https://github.com/JDonaldM/Matryoshka
cd Matryoshka
pip install -e .
The example bellow shows how to generate a prediction for a Planck18 LCDM transfer function using matryoshka.
import numpy as np
import matryoshka.emulator as Matry
from astropy.cosmology import Planck18
COSMO = np.array([
Planck18.Om0,
Planck18.Ob0,
Planck18.H0.value/100,
Planck18.Neff,
-1.0
])
TransferEmu = Matry.Transfer()
EmuPred = TransferEmu.emu_predict(COSMO)For more examples and full documentation see https://matryoshka-emu.readthedocs.io/en/latest/
In this version of matryoshka we include an emulator for predicicting multipoles of the power spectrum that would be calculated using the EFTofLSS method. This EFT emulator provides a roughly 500X spped up compared to the EFTofLSS code PyBird, and prodcues predictions that are accurate withing 1% (at 68%CI).
In the most recent version of matryoshka we have included an emulator to predict the nonlinear boost for the matter power spectrum that has been trained on the Quijote simulations. We also include a version of the transfer function emulator that has been trained on the Quijote sample space.
In the current version of matryoshka the nonlinear boost component emulator has only been trained with training data generated with HALOFIT and serves to demonstrate the use of matryoshka. Future versions will include a nonlinear boost component emulator trained with data produced with high resolution N-body simulatios.
Copyright 2021 Jamie Donald-McCann. matryoshka is free to use under the MIT license, if you find it useful for your research please cite Donald-McCann et al. (2021).