Documentation | Quick Start | Examples
This project is currently under active development!!!
BrahMap is a scalable and modular map-making framework for the CMB
experiments. It features user-friendly Python interface for the linear
operators used in map-making. The Python interface simply handles the workflow
while delegating the heavy computations to the functions implemented in C++
extension. In addition to the interface for linear operators, BrahMap offers
a wrapper for Generalized Least Squares (GLS) map-making using the
Preconditioned Conjugate Gradient (PCG) solver. BrahMap is also integrated
with litebird_sim through dedicated wrappers.
For a quick introduction to map-making with BrahMap, refer to the
quick start guide.
For a complete reference of the BrahMap API, refer to the
API reference.
Complete example notebooks and scripts can be
found here.
You can find detailed information on the implementation and features of
BrahMap at arXiv:2501.16122.
The versions of the dependencies for BrahMap are quite flexible. If you
intend to use BrahMap alongside other packages (like litebird_sim), we
recommend installing BrahMap after you have installed those packages in the
same environment.
BrahMap requires an MPI library to compile the C++ extensions. By default,
it uses the mpicxx compiler wrapper for this task. However, you can override
this default by setting the MPICXX environment variable to your preferred
compiler. To install BrahMap, please follow these steps:
# Clone the repository
git clone --recursive https://github.com/anand-avinash/BrahMap.git
# Enter the directory
cd BrahMap
# Set the compiler you want to use (optional)
export MPICXX=mpiicpc
# Install the package
pip install .
# Alternatively, do an editable installation for development purpose
# followed by `pre-commit` install
pip install -e .
pre-commit installNote
BrahMap uses Setuptools
to build the C++ extensions. By default, it generates the compilation command
by gathering various environment variables. You can customize the compilation
flags used during the installation by setting the CXXFLAGS, CPPFLAGS,
and LDFLAGS environment variables.
This work can be cited with:
@misc{anand2025brahmap,
title={\texttt{BrahMap}: A scalable and modular map-making framework for the CMB experiments},
author={Avinash Anand and Giuseppe Puglisi},
year={2025},
eprint={2501.16122},
archivePrefix={arXiv},
primaryClass={astro-ph.CO},
url={https://arxiv.org/abs/2501.16122},
}
This work is supported by Italian Research Center on High Performance Computing, Big Data and Quantum Computing (ICSC), project funded by European Union - NextGenerationEU - and National Recovery and Resilience Plan (NRRP) - Mission 4 Component 2 within the activities of Spoke 3 (Astrophysics and Cosmos Observations).