Skip to main content

A JAX-based package for differentiable gravitational-wave waveform generation

Project description

ripple 🌊

A JAX-based package for differentiable gravitational-wave waveform generation

docs license coverage pre-commit.ci status

ripple is a JAX-based package for differentiable gravitational-wave waveform generation. By implementing waveform models as differentiable JAX functions, ripple enables gradient-based inference and runs natively on GPU, making it well-suited for use within modern probabilistic inference pipelines such as Jim.

Supported waveforms:

  • TaylorF2
  • IMRPhenomD
  • IMRPhenomD_NRTidalv2
  • IMRPhenomHM
  • IMRPhenomPv2
  • IMRPhenomXAS
  • IMRPhenomXAS_NRTidalv3
  • IMRPhenomXHM
  • IMRPhenomXP (MSA)
  • IMRPhenomXPHM (MSA)

For a quick introduction, see the Quick Start guide.

[!WARNING] ripple has not yet reached v1.0.0 and the API may change. Use at your own risk. Consider pinning to a specific version if you need API stability.

Installation

The simplest way to install ripple is through pip:

pip install rippleGW

This will install the latest stable release and its dependencies. ripple is built on JAX. By default, this installs the CPU version of JAX. If you have an NVIDIA GPU, install the CUDA-enabled version:

pip install rippleGW[cuda]

If you want to install the latest version of ripple, you can clone this repo and install it locally:

git clone https://github.com/GW-JAX-Team/ripple.git
cd ripple
pip install -e .

We recommend using uv to manage your Python environment. After cloning the repository, run uv sync to create a virtual environment with all dependencies installed.

Attribution

If you use ripple in your research, please cite the accompanying paper:

@article{Edwards:2023sak,
    author = "Edwards, Thomas D. P. and Wong, Kaze W. K. and Lam, Kelvin K. H. and Coogan, Adam and Foreman-Mackey, Daniel and Isi, Maximiliano and Zimmerman, Aaron",
    title = "{Differentiable and hardware-accelerated waveforms for gravitational wave data analysis}",
    eprint = "2302.05329",
    archivePrefix = "arXiv",
    primaryClass = "astro-ph.IM",
    doi = "10.1103/PhysRevD.110.064028",
    journal = "Phys. Rev. D",
    volume = "110",
    number = "6",
    pages = "064028",
    year = "2024"
}

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

ripplegw-0.2.0.tar.gz (465.1 kB view details)

Uploaded Source

Built Distribution

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

ripplegw-0.2.0-py3-none-any.whl (182.1 kB view details)

Uploaded Python 3

File details

Details for the file ripplegw-0.2.0.tar.gz.

File metadata

  • Download URL: ripplegw-0.2.0.tar.gz
  • Upload date:
  • Size: 465.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ripplegw-0.2.0.tar.gz
Algorithm Hash digest
SHA256 4b339ba9c4711c2fe75c2f3002fcb5934d37ecc8c17ed2d2b810f7eefeb70b97
MD5 4fc982236da6400f778f2e83341c6921
BLAKE2b-256 6dfa56a2428432e1b5c8069731f8739dd78f497b7aa9ea7fc81afcc93b29605e

See more details on using hashes here.

File details

Details for the file ripplegw-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: ripplegw-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 182.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ripplegw-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 639be7385a783d6534773a520731ed73310daf4ea709fd1f380438d70779d60f
MD5 d8ba4b9b7eb325532d69b78ceb367fd9
BLAKE2b-256 3045337f2934acf1bfea4db2fca1a37394762d6ee0951c05890cedf6276844af

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