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
  • 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.1.tar.gz (372.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.1-py3-none-any.whl (120.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: ripplegw-0.1.1.tar.gz
  • Upload date:
  • Size: 372.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.1.tar.gz
Algorithm Hash digest
SHA256 87b986b82f6e9aa8802da1337f0b3c92965e0bd770ce82f141203c2aa70bbdaf
MD5 7abac5fe7ee0f95bcbac4f270297f076
BLAKE2b-256 5e3938da018433be712287c65400f5bf6ba6469f5886deb68c508d49fd6a5cdd

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ripplegw-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 120.2 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b80d76f0f3b5fa89adc749af08519790f76b99614a04c812b3e4a63e7c336c67
MD5 463178f914b1c35ba8532aa5365324c1
BLAKE2b-256 5d350721c627fee327896ebbf831c11749e73dc402f26281cc29abb385caae35

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