Skip to main content

A small jax package for differentiable and fast gravitational wave data analysis.

Project description

ripple 🌊

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

doc 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
  • IMRPhenomXAS
  • IMRPhenomXAS_NRTidalv3
  • IMRPhenomPv2
  • 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.1.0.tar.gz (388.2 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.1.0-py3-none-any.whl (119.9 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for ripplegw-0.1.0.tar.gz
Algorithm Hash digest
SHA256 1df54bd681cbc1baf4fbb484f9869e69c02c39b065b611bc90ed9c66d48f6a4a
MD5 569147e29c7ba55812cba2e173fc74fb
BLAKE2b-256 b9e334e7c912de48999174c1aa345acb059453dd2185ba6f06a223598fa1ff41

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ripplegw-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 119.9 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.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3bcb73acc451b46a6a4ec5c1dd136ad1a9678dd3186bc324cb895e8b01c41444
MD5 9147cd166b6a78f30afce992d8669b55
BLAKE2b-256 c19febd5cd04e4b36719dd287e4449f19425f0f1eef3d067ae2942f73a3e1f99

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