Archeo is a Python package designed to infer the natal kick, ancestral masses, and spins of black holes in the Pair-instability Supernova (PISN) gap, with a particular focus on hierarchical black hole formation.
Our method applies to any binary black hole event detected via gravitational waves, enabling researchers to:
- Infer the parental (ancestral) black holes of observed binaries.
- Estimate the birth recoil velocities to determine if a black hole remains in its host environment or is ejected.
- Evaluate hierarchical merger scenarios to assess whether a black hole could be a product of previous mergers.
See more details at https://wyhwong.github.io/archeo/methodology/.
Install via PyPI or from source.
# Basic installation (without UI)
pip3 install archeo
# If you want to use the web UI features (powered by Streamlit)
pip3 install archeo[ui]git clone https://github.com/wyhwong/archeo.git
cd archeo/src
# If you use poetry
poetry install
# If you do not use poetry
pip3 install -r requirements.txt .For CLI usage, please refer to README.md inside src folder.
To import archeo in your Python code, please refer to the documentation page at https://wyhwong.github.io/archeo/.
Here we list the publications that have used Archeo:
[1] Carlos Araújo Álvarez, Henry W. Y. Wong, Juan Calderón Bustillo. "Kicking Time Back in Black Hole Mergers: Ancestral Masses, Spins, Birth Recoils, and Hierarchical-formation Viability of GW190521." The Astrophysical Journal 977.2 (2024): 220.
[2] The LIGO Scientific Collaboration, the Virgo Collaboration, the KAGRA Collaboration. "GW231123: a Binary Black Hole Merger with Total Mass 190-265
[3] The LIGO Scientific Collaboration, the Virgo Collaboration, the KAGRA Collaboration. "GW241011 and GW241110: Exploring Binary Formation and Fundamental Physics with Asymmetric, High-spin Black Hole Coalescences." The Astrophysical Journal Letters 993.1 (2025): L21.
The code is maintained by Henry Wong under Juan Calderon Bustillo's supervision. You can find the list of contributors here. Please report bugs by raising an issue on our GitHub repository.