ABCMB: A Python+JAX Package for the Cosmic Microwave Background Power Spectrum
ABCMB: A Python+JAX Package for the Cosmic Microwave Background Power Spectrum
Zilu Zhou, Cara Giovanetti, Hongwan Liu
AbstractWe present ABCMB, a differentiable Einstein-Boltzmann solver for the cosmic microwave background (CMB). ABCMB is a complete code capturing important effects to linear order in $Λ{\rm CDM}$ cosmology. It computes the CMB power spectrum and includes effects like lensing, polarization, massive neutrinos, and a state-of-the-art treatment of BBN and recombination. ABCMB has sub-percent-level agreement with CLASS and can be run on a GPU with competitive, and sometimes even faster, run times. It is refactored compared to previous codes and takes advantage of object-oriented programming to improve extensibility, meaning new physics can be added to it without the need for modifying source files. ABCMB provides accurate and stable gradients to the user, making Fisher analyses straightforward, and enabling the use of efficient gradient-based sampling methods.