Skip to content

DiffGW and related waveform packages

This page is a dated coverage map for DiffGW, LALSimulation, Ripple, PhenomXPy and GWFAST. It records named models and execution boundaries documented by each project; a shared name does not establish identical physics, conventions, parameter domains or validation. See differences from LAL for model-specific numerical and convention differences, validation for evidence, and performance for measured benchmark workloads.

Waveform coverage

Checked 22 September 2026; see sources and versions. The table covers DiffGW's catalog and selected alternatives, not every model in other packages. Entries identify named models or explicitly grouped variants. LAL denotes LALSimulation.

Legend

  • ✓ (native): the package documents an implementation of the named model.
  • ✓ + asset (native with an external asset): evaluation requires separately acquired model or calibration data.
  • E (external wrapper): the package calls another library's implementation.
  • - (not listed): the checked documentation does not name the variant; this does not establish that it is unsupported.
  • ? (unverified): the documentation is insufficient to assign a status.
  • W? (wrapper unverified): GWFAST documents a generic LAL interface, but support for this model and its options is unconfirmed.

These statuses describe documented availability, not accuracy or calibration. Notes below each group explain model-specific qualifications. For DiffGW's frontend scope and validation evidence, see the model catalogue.

Post-Newtonian

Model or variant DiffGW LAL Ripple PhenomXPy GWFAST
TaylorF2 1 ✓ ✓ ✓ - ✓
TaylorF2_HM 2 ✓ - - - -
TaylorF2_Eccentric 3 ✓ ✓ - - ✓
  • 1. Ripple: Native (tidal-capable). GWFAST: Native (TaylorF2_RestrictedPN).
  • 2. DiffGW: Native (eight modes).
  • 3. LALSimulation: Native (TaylorF2Ecc). GWFAST: Native (eccentric option).

Aligned-spin IMR

Model or variant DiffGW LAL Ripple PhenomXPy GWFAST
IMRPhenomD ✓ ✓ ✓ - ✓
IMRPhenomHM ✓ ✓ ✓ - ✓
IMRPhenomXAS ✓ ✓ ✓ - -
IMRPhenomXHM ✓ ✓ ✓ - W?

Tidal models

Model or variant DiffGW LAL Ripple PhenomXPy GWFAST
IMRPhenomD_NRTidal ✓ ✓ - - -
IMRPhenomD_NRTidalv2 ✓ ✓ ✓ - ✓
IMRPhenomNSBH ✓ ✓ - - ✓
IMRPhenomXAS_NRTidalv2 - ✓ - - W?
IMRPhenomXAS_NRTidalv3, IMRPhenomXP_NRTidalv3 - ✓ ✓ - W?

Precessing IMR

Model or variant DiffGW LAL Ripple PhenomXPy GWFAST
IMRPhenomP ✓ ✓ - - W?
IMRPhenomPv2 ✓ ✓ ✓ - W?
IMRPhenomXP, IMRPhenomXPHM ✓ ✓ ✓ - W?
XPHM MSA, SpinTaylor and PNR options 4 ✓ ? ? - W?
  • 4. DiffGW: Native (documented options). LALSimulation: Unverified (options not enumerated here). Ripple: Unverified (options not enumerated here).

Time-domain IMR

Model or variant DiffGW LAL Ripple PhenomXPy GWFAST
IMRPhenomT, IMRPhenomTHM, IMRPhenomTP, IMRPhenomTPHM ✓ ✓ - ✓ W?

Effective-one-body

Model or variant DiffGW LAL Ripple PhenomXPy GWFAST
SEOBNR_ROM, SEOBNRv4_ROM 5 ✓ + asset ✓ - - W?
SEOBNRv4HM, SEOBNRv4P, SEOBNRv4PHM - ✓ - - W?
SEOBNRv4_ROM_NRTidalv2, SEOBNRv4_ROM_NRTidalv2_NSBH, SEOBNRv4T_surrogate - ✓ - - W?
SEOBNRv5_ROM, SEOBNRv5HM_ROM, SEOBNRv5_ROM_NRTidalv3 - ✓ - - W?
TEOBResumS - ✓ - - W?
TEOBResumSPA - - - - E
  • 5. LALSimulation: Native (SEOBNRv4_ROM).

NR surrogate

Model or variant DiffGW LAL Ripple PhenomXPy GWFAST
NRSur4d2s, NRSur7dq4 - ✓ - - W?

Ringdown and bursts

Model or variant DiffGW LAL Ripple PhenomXPy GWFAST
KerrRingdown ✓ ? - - -
SineGaussian 6 ✓ ✓ ✓ - -
MemoryWaveform ✓ - - - -
  • 6. LALSimulation: Native (burst routines). Ripple: Native (time domain).

Continuous waves

Model or variant DiffGW LAL Ripple PhenomXPy GWFAST
ContinuousWave 7 ✓ ? - - -
ExactPulsarSignal, PulsarSignal, BinaryPulsarSignal 8 - ? ✓ - -
  • 7. Ripple: Not listed under this name.
  • 8. DiffGW: Not listed under these names.

Specialized

Model or variant DiffGW LAL Ripple PhenomXPy GWFAST
EMRIKludge, ParameterizedPostEinstein, HybridMECO ✓ ? - - -

The LAL column is based on the LALSimInspiral approximant API and LALSimulation module index. The Ripple column uses the project's current waveform catalogue. PhenomXPy's official repository documents the four T-family entries in its README. GWFAST's waveform documentation identifies its native Python models and its separate LAL and TEOBResumS wrappers.

Native does not mean the implementation is independent of published calibration data. External identifies a runtime wrapper; it also does not imply numerical equivalence. For all columns, omitted options, modes, domains and derivative orders remain unverified.

TEOBResumSPA is a separately named frequency-domain variant, not a claim of identical behavior to TEOBResumS.

Execution capabilities

Model coverage and execution capabilities are separate questions. The following summary records the interfaces documented on the same date; it does not infer support for every model in a package's catalogue.

Package Native execution interfaces Batching and compilation Differentiation and external boundaries
DiffGW Native PyTorch (torchwave) and JAX (jaxwave) frontends under diffgw; frequency- and time-domain models are listed in the catalogue. Waveforms expose batch-shaped tensor evaluation. Supported paths document torch.compile and jax.jit; measured CPU/CUDA scope is in performance. Automatic differentiation is model- and path-specific. Native evaluation does not call LAL; ROMs and explicitly documented data assets remain external. See validation.
LALSimulation LAL's documented high-level routines generate time- or frequency-domain waveforms for named approximants. The checked API documents scalar waveform-generation entry points and sequence/grid variants; this page makes no blanket claim about tensor batching or autodiff. No general native PyTorch/JAX autodiff interface is documented in the checked LAL pages.
Ripple Differentiable JAX waveform functions; the current catalogue lists frequency-domain CBC models, time-domain bursts and continuous waves. JAX execution supports compilation and accelerator use; see the project documentation. Support depends on the model and transformed path. The current catalogue does not list the T family.
PhenomXPy Python T, THM, TP and TPHM implementations, with time-domain and Fourier-transformed polarizations. The README documents Numba CPU acceleration and CuPy GPU execution, parallelized over time samples. T/THM CPU timings compare it with DiffGW. The README does not document a native PyTorch/JAX autodiff interface.
GWFAST Vectorised Python waveform models plus detector/Fisher analysis; native model list is in the waveform documentation. Native models are documented as vectorised; the package uses JAX for automatic differentiation. LAL and TEOBResumS are explicit wrappers; the documentation states that derivatives through wrapped models use numerical differentiation.

For DiffGW's actual model options, derivative order, device limits and unresolved cases, use the model catalogue, usage guidance and validation evidence. For LAL-reference differences, use the canonical differences-from-LAL page.

Jim provides JAX Bayesian inference using Ripple. Bilby and PyCBC provide analysis frameworks that integrate waveform providers. WF4Py supplies standalone Python waveform models associated with GWFAST. pySEOBNR, TEOBResumS and GWSurrogate are related model and data projects with their own calibration domains and assets.

Sources and versions

Coverage was checked on 22 September 2026. The DiffGW column describes this checkout; timing receipts separately pin their own source revision. The LAL approximant list is pinned to LALSuite 7.26 / LALSimulation 6.2.1; its module index is rolling documentation. Ripple's stable catalogue, PhenomXPy's main-branch README and GWFAST's latest documentation are moving targets. The GWFAST page identifies itself as 1.1.2. These are documentation observations, not fresh execution tests of every entry. Recheck sources when updating this table.

Published timing results are in Performance.

For detailed reference differences and reproduction commands, see Differences from LAL. The validation overview explains what each kind of evidence establishes.