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
We recommend installing ABCMB in a clean conda environment. After downloading and unpacking the code, in the code directory run
conda create -n ABCMB
conda activate ABCMB
pip install -U -r requirements.txt
optionally specifying your preferred python version after the environment name. Note that this 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!