Skip to main content

Deep inference for gravitational-wave observations

Project description

Python package PyPI version Conda Version Conda Downloads

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 installs Dingo and its runtime dependencies, as specified in
pyproject.toml.

Optional functionality can be enabled via extras, for example:

pip install "dingo-gw[wandb,pyseobnr]"

Conda

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

conda install -c conda-forge dingo-gw

Development install

If you would like to make changes to Dingo or contribute to its development, install it from source.

First clone the repository:

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

Recommended (using uv)

We recommend using uv for development installs, as it provides fast, reproducible dependency resolution.

Create a virtual environment and install all development dependencies:

uv sync

This installs Dingo in editable mode along with development, documentation, and typing dependencies. To also install optional dependencies, use

uv sync --extra wandb --extra pyseobnr

Alternative (pip)

If you prefer pip, create and activate a virtual environment:

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

Install Dingo in editable mode with development tools:

pip install -e ".[dev]"

Optional user-facing features can be enabled via extras, for example:

pip install -e ".[dev,wandb]"

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
  7. https://arxiv.org/abs/2407.09602: Binary neutron star inference

Dingo was used also in https://arxiv.org/abs/2404.14286 to find evidence for eccentric binaries.

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 Charlie Hoy, 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.9.7.tar.gz (627.2 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.9.7-py3-none-any.whl (281.3 kB view details)

Uploaded Python 3

File details

Details for the file dingo_gw-0.9.7.tar.gz.

File metadata

  • Download URL: dingo_gw-0.9.7.tar.gz
  • Upload date:
  • Size: 627.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for dingo_gw-0.9.7.tar.gz
Algorithm Hash digest
SHA256 79063e6e181d972cc826808e23c6e1457eeb1eb94f386e0a191d1e509c0012d3
MD5 b92bd63f6052b54ad1082229a2ce50cd
BLAKE2b-256 74d3cdc0fcfacfa5989f105f621721505aa52c4db73262957f76d54f616770d3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dingo_gw-0.9.7-py3-none-any.whl
  • Upload date:
  • Size: 281.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for dingo_gw-0.9.7-py3-none-any.whl
Algorithm Hash digest
SHA256 d39f5979e3bf1645d41211d4eb8cb0e927fe4579d274091ca703f6a700d9eee1
MD5 a9c17e354587abe2bf44701182c64705
BLAKE2b-256 227de6b25f116075a1855aa246b5dcd383e9edacc0f5abdd90d4e7f3a4857865

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