waveformtools.BMS

The implementation of BMS transformations on the waveforms.

Functions

boost_waveform(unboosted_waveform, ...)

Boost the waveform given the unboosted waveform and the boost conformal factor.

compute_conformal_k(vec_v, theta, phi[, ...])

Compute the conformal factor for the boost transformation

compute_supertransl_alpha(...)

Compute the spherical Alpha supertranslation variable \(\alpha(\theta, \phi)\) given its modes.

waveformtools.BMS.boost_waveform(unboosted_waveform, conformal_factor)[source]

Boost the waveform given the unboosted waveform and the boost conformal factor.

Parameters:
non_boosted_waveform: list

A list with a single floating point number or a numpy array of the unboosted waveform. The waveform can have angular as well as time dimentions.

The nesting order should be that, given the list `non_boosted_waveform’, each item in the list refers to an array defined on the sphere at a particular time or frequency. The subitem will have dimensions [ntheta, nphi].

conformal_factor: float/array

The conformal factor for the Lorentz transformation. It may be a single floating point number or an array on a spherical grid. The array will be of dimensions [ntheta, nphi]

gridinfo: class instance

The class instance that contains the properties of the spherical grid.

waveformtools.BMS.compute_conformal_k(vec_v, theta, phi, spin_phase=0)[source]
Compute the conformal factor for the boost transformation

\(k = \exp(-2i \lambda) \gamma^3 (1 - \mathbf{v} \cdot \mathbf{r})^3\)

Parameters:
vec_v: list

The velocity vector.

theta: float

The polar angle :math:`theta’ in radians.

phi: float

The azimuthal angle :math:`phi’ in radians.

spin_phase: float, optional

The spin phase :math:`lambda’. Defaults to 0.

Returns:
conformal_k: float

The conformal factor for the boost transformation as defined above.

waveformtools.BMS.compute_supertransl_alpha(supertransl_alpha_modes, theta, phi)[source]

Compute the spherical Alpha supertranslation variable \(\alpha(\theta, \phi)\) given its modes. This method just multiplies the alpha modes with their corresponding spherical harmonic basis functions and returns the summed result.

Parameters:
supertransl_alpha_modes: dict

A dictionary of lists, each sublist containing the set of super-translation modes corresponding to a particular :math:`ell’.

theta: float

The polar angle :math:`theta’.

phi: float

The azimuthal angle :math:`phi’.

Returns:
supertransl_alpha_sphere: func

A function on the sphere (arguments \(\theta', math:\)phi’).