Package fitting a cosmological birefringence rotation to the CMB
Our analysis pipeline is based upon Minami et al. (2019), Minami (2020), and Minami & Komatsu (2020), extending the formalism to jointly analyze
The accompanying notebooks reproduce_results.ipynb and stacked_spectra.ipynb reproduce the results and figures presented in Diego-Palazuelos & Komatsu 2025.
The code relies on Python 3 and numpy for all calculations, and the matplotlib and GetDist packages for visualization. In particular, the following package versions were used during development: getdist 1.6.1, matplotlib 3.8.2, numpy 1.26.2, python 3.10.13.
We use the official cross array-band power spectra and covariance matrices published with the ACT DR6. See Louis et al. (2025), Naess et al. (2025), and Atkins et al. (2025) for detailed descriptions of DR6 maps, power spectra, and covariance matrices.
On its first execution, the code will automatically download via wget all the DR6 data products needed for the analysis.
The priors used in our analysis are a collection of small Python dictionaries generated by the priors.py script. __init__.py should generate them the first time you import the act_dr6_analysis module. See line 30. If, for some reason, line 30 didn't go through, you can separately run priors.py to generate the files.
If you use any of this code, please cite P. Diego-Palazuelos and E. Komatsu (2025), arXiv:2509.13654 [astro-ph.CO].
The code is provided as is. Nevertheless, don't hesitate to get in touch at diegop@mpa-garching.mpg.de for any troubleshooting or general questions.