Autodifferentiable Boltzmann solver for the CMB (ABCMB) is a Python+JAX package for differentiable computation of the Cosmic Microwave Background. ABCMB is complete to linear order in
ABCMB is pip installable! Just run
pip install ABCMB
We recommend always doing so in a conda environment, preferably even a clean one.
If you'd like to clone the repo instead, after cloning you can run
pip install .
from the code directory.
Note that both methods of installing will automatically attempt to install JAX for CPU; to install for GPU, refer to the JAX documentation for a quick JAX installation guide.
We have included several pedagogical jupyter notebooks to walk you through how to get started with ABCMB in our example_notebooks folder. We suggest you start with ABCMB_basics to get a sense of how to run the code. If you'd like to add new physics to ABCMB, check out ABCMB_Fluids. If you'd like to run ABCMB with the Big Bang Nucleosynthesis (BBN) code LINX to do BBN+CMB joint analyses, check out ABCMB_with_LINX.
Please feel free to open an issue if something is amiss in ABCMB!