Skip to main content

Deep inference for gravitational-wave observations

Project description

Dingo

Dingo (Deep Inference for Gravitational-wave Observations) is a Python program for analyzing gravitational wave data using neural posterior estimation. It dramatically speeds up inference of astrophysical source parameters from data measured at gravitational-wave observatories. Dingo aims to enable the routine use of the most advanced theoretical models in analyzing data, to make rapid predictions for multi-messenger counterparts, and to do so in the context of sensitive detectors with high event rates.

The basic approach of Dingo is to train a neural network to represent the Bayesian posterior conditioned on data. This enables amortized inference: when new data are observed, they can be plugged in and results obtained in a small amount of time. Tasks handled by Dingo include

  • building training datasets;
  • training normalizing flows to estimate the posterior density;
  • performing inference on real or simulated data; and
  • verifying and correcting model results using importance sampling.

Installation

Pip

To install using pip, run the following within a suitable virtual environment:

pip install dingo-gw

This will install Dingo as well as all of its requirements, which are listed in pyproject.toml.

Conda

Dingo is also available from the conda-forge repository. To install using conda, first activate a conda environment, and then run

conda install -c conda-forge dingo-gw

Development install

If you would like to make changes to Dingo, or to contribute to its development, you should install Dingo from source. To do so, first clone this repository:

git clone git@github.com:dingo-gw/dingo.git

Next create a virtual environment for Dingo, e.g.,

python3 -m venv dingo-venv
source dingo-venv/bin/activate

This creates and activates a venv for Dingo called dingo-venv. In this virtual environment, install Dingo:

cd dingo
pip install -e ."[dev]"

This command installs an editable version of Dingo, meaning that any changes to the Dingo source are reflected immediately in the installation. The inclusion of dev installs extra packages needed for development (code formatting, compiling documentation, etc.)

Usage

For instructions on using Dingo, please refer to the documentation.

References

Dingo is based on the following series of papers:

  1. https://arxiv.org/abs/2002.07656: 5D toy model
  2. https://arxiv.org/abs/2008.03312: 15D binary black hole inference
  3. https://arxiv.org/abs/2106.12594: Amortized inference and group-equivariant neural posterior estimation
  4. https://arxiv.org/abs/2111.13139: Group-equivariant neural posterior estimation
  5. https://arxiv.org/abs/2210.05686: Importance sampling
  6. https://arxiv.org/abs/2211.08801: Noise forecasting

If you use Dingo in your work, we ask that you please cite at least https://arxiv.org/abs/2106.12594.

Contributors to the code are listed in AUTHORS.md. We thank Vivien Raymond and Rory Smith for acting as LIGO-Virgo-KAGRA (LVK) review chairs. Dingo makes use of many LVK software tools, including Bilby, bilby_pipe, and LALSimulation, as well as third party tools such as PyTorch and nflows.

Contact

For questions or comments please contact Maximilian Dax or Stephen Green.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dingo-gw-0.5.0.tar.gz (541.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dingo_gw-0.5.0-py3-none-any.whl (212.3 kB view details)

Uploaded Python 3

File details

Details for the file dingo-gw-0.5.0.tar.gz.

File metadata

  • Download URL: dingo-gw-0.5.0.tar.gz
  • Upload date:
  • Size: 541.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for dingo-gw-0.5.0.tar.gz
Algorithm Hash digest
SHA256 732b4968e48b32964e0b15c365abdc1c1960c6eef4f8409ab443a32178a7c8f3
MD5 612c427efd2f7d63e16fe0bce856ec30
BLAKE2b-256 0cc7f65b0bc9a790e402664b7fee2fe5a1830d6af10116ebafaa52d03cf6f63a

See more details on using hashes here.

File details

Details for the file dingo_gw-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: dingo_gw-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 212.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for dingo_gw-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5dd0869bcce643a9bccfb2ea649f5f88aecab1f4e418fd3c6bb868602dfb3e74
MD5 202bbe0288a8c00b813eb23c00daf8a8
BLAKE2b-256 33584ddb8794b9e60a7a1f0d2c6bc006ebad0b6c0226c4735d2f8baa5c8b0a7e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page