Skip to content

Interfaces

IMRPhenomD ¤

Bases: Waveform

IMRPhenomD frequency-domain waveform (non-precessing, aligned spins).

Attributes:

Name Type Description
f_ref float

Reference frequency in Hz.

Methods:

Name Description
__call__

Evaluate the IMRPhenomD waveform.

__init__

Args:

__call__(frequency: Float[Array, ' n_freq'], params: dict[str, Float]) -> dict[str, Complex[Array, ' n_freq']] ¤

Evaluate the IMRPhenomD waveform.

Parameters:

Name Type Description Default
frequency Float[Array, ' n_freq']

Frequency array in Hz.

required
params dict[str, Float]

Source parameters with keys M_c, eta, s1_z, s2_z, d_L, phase_c, iota.

required

Returns:

Type Description
dict[str, Complex[Array, ' n_freq']]

dict[str, Complex[Array, " n_freq"]]: Plus ("p") and cross ("c") polarizations.

__init__(f_ref: float = 20.0) -> None ¤

Parameters:

Name Type Description Default
f_ref float

Reference frequency in Hz. Defaults to 20.0.

20.0

IMRPhenomD_NRTidalv2 ¤

Bases: Waveform

IMRPhenomD_NRTidalv2 frequency-domain waveform (non-precessing, NRTidalv2 tides).

Attributes:

Name Type Description
f_ref float

Reference frequency in Hz.

use_lambda_tildes bool

If True, expects lambda_tilde / delta_lambda_tilde; otherwise lambda_1 / lambda_2.

no_taper bool

If True, the Planck taper in the amplitude is disabled.

Methods:

Name Description
__call__

Evaluate the IMRPhenomD_NRTidalv2 waveform.

__init__

Args:

__call__(frequency: Float[Array, ' n_freq'], params: dict[str, Float]) -> dict[str, Complex[Array, ' n_freq']] ¤

Evaluate the IMRPhenomD_NRTidalv2 waveform.

Parameters:

Name Type Description Default
frequency Float[Array, ' n_freq']

Frequency array in Hz.

required
params dict[str, Float]

Source parameters with keys M_c, eta, s1_z, s2_z, d_L, phase_c, iota, plus tidal keys depending on use_lambda_tildes.

required

Returns:

Type Description
dict[str, Complex[Array, ' n_freq']]

dict[str, Complex[Array, " n_freq"]]: Plus ("p") and cross ("c") polarizations.

__init__(f_ref: float = 20.0, use_lambda_tildes: bool = False, no_taper: bool = False) -> None ¤

Parameters:

Name Type Description Default
f_ref float

Reference frequency in Hz. Defaults to 20.0.

20.0
use_lambda_tildes bool

Whether to parameterise tidal deformability via lambda_tilde / delta_lambda_tilde (Eq. 5-6 of arXiv:1402.5156) instead of lambda_1 / lambda_2. Defaults to False.

False
no_taper bool

Whether to remove the Planck taper in the amplitude (useful for relative binning runs). Defaults to False.

False

IMRPhenomHM ¤

Bases: Waveform

IMRPhenomHM frequency-domain waveform (aligned spins, higher-order modes).

Attributes:

Name Type Description
f_ref float

Reference frequency in Hz.

Methods:

Name Description
__init__

Args:

__init__(f_ref: float = 20.0) -> None ¤

Parameters:

Name Type Description Default
f_ref float

Reference frequency in Hz. Defaults to 20.0.

20.0

IMRPhenomPv2 ¤

Bases: Waveform

IMRPhenomPv2 frequency-domain waveform (precessing spins).

Attributes:

Name Type Description
f_ref float

Reference frequency in Hz.

Methods:

Name Description
__call__

Evaluate the IMRPhenomPv2 waveform.

__init__

Args:

__call__(frequency: Float[Array, ' n_freq'], params: dict[str, Float]) -> dict[str, Complex[Array, ' n_freq']] ¤

Evaluate the IMRPhenomPv2 waveform.

Parameters:

Name Type Description Default
frequency Float[Array, ' n_freq']

Frequency array in Hz.

required
params dict[str, Float]

Source parameters with keys M_c, eta, s1_x, s1_y, s1_z, s2_x, s2_y, s2_z, d_L, phase_c, iota.

required

Returns:

Type Description
dict[str, Complex[Array, ' n_freq']]

dict[str, Complex[Array, " n_freq"]]: Plus ("p") and cross ("c") polarizations.

__init__(f_ref: float = 20.0) -> None ¤

Parameters:

Name Type Description Default
f_ref float

Reference frequency in Hz. Defaults to 20.0.

20.0

IMRPhenomXAS ¤

Bases: Waveform

IMRPhenomXAS frequency-domain waveform (non-precessing, aligned spins, X family).

Attributes:

Name Type Description
f_ref float

Reference frequency in Hz.

Methods:

Name Description
__call__

Evaluate the IMRPhenomXAS waveform.

__init__

Args:

__call__(frequency: Float[Array, ' n_freq'], params: dict[str, Float]) -> dict[str, Complex[Array, ' n_freq']] ¤

Evaluate the IMRPhenomXAS waveform.

Parameters:

Name Type Description Default
frequency Float[Array, ' n_freq']

Frequency array in Hz.

required
params dict[str, Float]

Source parameters with keys M_c, eta, s1_z, s2_z, d_L, phase_c, iota.

required

Returns:

Type Description
dict[str, Complex[Array, ' n_freq']]

dict[str, Complex[Array, " n_freq"]]: Plus ("p") and cross ("c") polarizations.

__init__(f_ref: float = 20.0) -> None ¤

Parameters:

Name Type Description Default
f_ref float

Reference frequency in Hz. Defaults to 20.0.

20.0

IMRPhenomXAS_NRTidalv3 ¤

Bases: Waveform

IMRPhenomXAS_NRTidalv3 frequency-domain waveform (non-precessing, NRTidalv3 tides).

Attributes:

Name Type Description
f_ref float

Reference frequency in Hz.

use_lambda_tildes bool

If True, expects lambda_tilde / delta_lambda_tilde; otherwise lambda_1 / lambda_2.

no_taper bool

If True, the Planck taper in the amplitude is disabled.

Methods:

Name Description
__call__

Evaluate the IMRPhenomXAS_NRTidalv3 waveform.

__init__

Args:

__call__(frequency: Float[Array, ' n_freq'], params: dict[str, Float]) -> dict[str, Complex[Array, ' n_freq']] ¤

Evaluate the IMRPhenomXAS_NRTidalv3 waveform.

Parameters:

Name Type Description Default
frequency Float[Array, ' n_freq']

Frequency array in Hz.

required
params dict[str, Float]

Source parameters with keys M_c, eta, s1_z, s2_z, d_L, phase_c, iota, plus tidal keys depending on use_lambda_tildes.

required

Returns:

Type Description
dict[str, Complex[Array, ' n_freq']]

dict[str, Complex[Array, " n_freq"]]: Plus ("p") and cross ("c") polarizations.

__init__(f_ref: float = 20.0, use_lambda_tildes: bool = False, no_taper: bool = False) -> None ¤

Parameters:

Name Type Description Default
f_ref float

Reference frequency in Hz. Defaults to 20.0.

20.0
use_lambda_tildes bool

Whether to parameterise tidal deformability via lambda_tilde / delta_lambda_tilde rather than lambda_1 / lambda_2. Defaults to False.

False
no_taper bool

Whether to disable tapering (useful for relative binning runs). Defaults to False.

False

IMRPhenomXHM ¤

Bases: Waveform

IMRPhenomXHM frequency-domain waveform (aligned spins, higher-order modes).

Attributes:

Name Type Description
f_ref float

Reference frequency in Hz.

Methods:

Name Description
__call__

Evaluate the IMRPhenomXHM waveform.

__init__

Args:

__call__(frequency: Float[Array, ' n_freq'], params: dict[str, Float]) -> dict[str, Complex[Array, ' n_freq']] ¤

Evaluate the IMRPhenomXHM waveform.

Parameters:

Name Type Description Default
frequency Float[Array, ' n_freq']

Frequency array in Hz.

required
params dict[str, Float]

Source parameters with keys M_c, eta, s1_z, s2_z, d_L, phase_c, iota.

required

Returns:

Type Description
dict[str, Complex[Array, ' n_freq']]

dict[str, Complex[Array, " n_freq"]]: Plus ("p") and cross ("c") polarizations.

__init__(f_ref: float = 20.0) -> None ¤

Parameters:

Name Type Description Default
f_ref float

Reference frequency in Hz. Defaults to 20.0.

20.0

IMRPhenomXP ¤

Bases: Waveform

IMRPhenomXP frequency-domain waveform (precessing spins, 22-mode only).

Attributes:

Name Type Description
f_ref float

Reference frequency in Hz.

Methods:

Name Description
__call__

Evaluate the IMRPhenomXP waveform.

__init__

Args:

__call__(frequency: Float[Array, ' n_freq'], params: dict[str, Float]) -> dict[str, Complex[Array, ' n_freq']] ¤

Evaluate the IMRPhenomXP waveform.

Parameters:

Name Type Description Default
frequency Float[Array, ' n_freq']

Frequency array in Hz.

required
params dict[str, Float]

Source parameters with keys M_c, eta, s1_x, s1_y, s1_z, s2_x, s2_y, s2_z, d_L, phase_c, iota.

required

Returns:

Type Description
dict[str, Complex[Array, ' n_freq']]

dict[str, Complex[Array, " n_freq"]]: Plus ("p") and cross ("c") polarizations.

__init__(f_ref: float = 20.0) -> None ¤

Parameters:

Name Type Description Default
f_ref float

Reference frequency in Hz. Defaults to 20.0.

20.0

IMRPhenomXPHM ¤

Bases: Waveform

IMRPhenomXPHM frequency-domain waveform (precessing spins, higher-order modes).

Attributes:

Name Type Description
f_ref float

Reference frequency in Hz.

Methods:

Name Description
__call__

Evaluate the IMRPhenomXPHM waveform.

__init__

Args:

__call__(frequency: Float[Array, ' n_freq'], params: dict[str, Float]) -> dict[str, Complex[Array, ' n_freq']] ¤

Evaluate the IMRPhenomXPHM waveform.

Parameters:

Name Type Description Default
frequency Float[Array, ' n_freq']

Frequency array in Hz.

required
params dict[str, Float]

Source parameters with keys M_c, eta, s1_x, s1_y, s1_z, s2_x, s2_y, s2_z, d_L, phase_c, iota.

required

Returns:

Type Description
dict[str, Complex[Array, ' n_freq']]

dict[str, Complex[Array, " n_freq"]]: Plus ("p") and cross ("c") polarizations.

__init__(f_ref: float = 20.0) -> None ¤

Parameters:

Name Type Description Default
f_ref float

Reference frequency in Hz. Defaults to 20.0.

20.0

SineGaussian ¤

Bases: Waveform

Sine-Gaussian time-domain burst waveform.

Methods:

Name Description
__call__

Evaluate the SineGaussian waveform.

__call__(t: Float[Array, ' n_time'], params: dict[str, Float]) -> dict[str, Float[Array, ' n_time']] ¤

Evaluate the SineGaussian waveform.

Parameters:

Name Type Description Default
t Float[Array, ' n_time']

Time grid centered at t=0. Create using jnp.arange(-duration/2, duration/2, 1/fs).

required
params dict[str, Float]

Source parameters with keys Q (quality factor), f_0 (central frequency in Hz), hrss, phase, e (eccentricity).

required

Returns:

Type Description
dict[str, Float[Array, ' n_time']]

dict[str, Float[Array, " n_time"]]: Plus ("p") and cross ("c") polarizations.

TaylorF2 ¤

Bases: Waveform

TaylorF2 post-Newtonian frequency-domain waveform including tidal effects.

Attributes:

Name Type Description
f_ref float

Reference frequency in Hz.

use_lambda_tildes bool

If True, expects lambda_tilde and delta_lambda_tilde; otherwise expects lambda_1 and lambda_2.

Methods:

Name Description
__call__

Evaluate the TaylorF2 waveform.

__init__

Args:

__call__(frequency: Float[Array, ' n_freq'], params: dict[str, Float]) -> dict[str, Complex[Array, ' n_freq']] ¤

Evaluate the TaylorF2 waveform.

Parameters:

Name Type Description Default
frequency Float[Array, ' n_freq']

Frequency array in Hz.

required
params dict[str, Float]

Source parameters with keys M_c, eta, s1_z, s2_z, d_L, phase_c, iota, plus tidal keys depending on use_lambda_tildes.

required

Returns:

Type Description
dict[str, Complex[Array, ' n_freq']]

dict[str, Complex[Array, " n_freq"]]: Plus ("p") and cross ("c") polarizations.

__init__(f_ref: float = 20.0, use_lambda_tildes: bool = False) -> None ¤

Parameters:

Name Type Description Default
f_ref float

Reference frequency in Hz. Defaults to 20.0.

20.0
use_lambda_tildes bool

Whether to parameterise tidal deformability via lambda_tilde / delta_lambda_tilde (as in Eq. 5-6 of arXiv:1402.5156) instead of lambda_1 / lambda_2. Defaults to False.

False

Waveform ¤

Bases: ABC

Abstract base class for gravitational waveform models.

Subclasses implement the frequency- (or time-) domain waveform and expose it via __call__, returning a dictionary with polarization keys "p" (plus) and "c" (cross).

Methods:

Name Description
__call__

Evaluate the waveform.

Attributes:

Name Type Description
parameter_names tuple[str, ...]

Ordered tuple of parameter names required by this waveform model.

parameter_names: tuple[str, ...] abstractmethod property ¤

Ordered tuple of parameter names required by this waveform model.

Returns:

Type Description
tuple[str, ...]

tuple[str, ...]: Parameter names in the order they are consumed, matching the keys expected in the params dict passed to __call__.

__call__(axis: Float[Array, ' n'], params: dict[str, Float]) -> dict[str, Float[Array, ' n'] | Complex[Array, ' n']] abstractmethod ¤

Evaluate the waveform.

Parameters:

Name Type Description Default
axis Float[Array, ' n']

Frequency or time grid.

required
params dict[str, Float]

Source parameter dictionary.

required

Returns:

Type Description
dict[str, Float[Array, ' n'] | Complex[Array, ' n']]

dict[str, Float[Array, " n"] | Complex[Array, " n"]]: Dictionary with keys "p" (plus polarization) and "c" (cross polarization). Frequency-domain waveforms return complex arrays; time-domain waveforms return real arrays.