scri.bms_transformations

Functions

Lorentz_to_spin_matrix(lorentz)

Convert a Lorentz transformation to a spin matrix.

fourvec_to_spin_matrix(fourvec)

Inner product of a four vector and the Pauli matrices, as defined by Eq.

pure_spin_matrix_to_Lorentz(A[, ...])

Convert a pure spin matrix to a rotation or a boost.

spin_matrix_to_Lorentz(A[, output_order])

Convert a spin matrix to a Lorentz transformation.

transform_supertranslation(S, lorentz[, ell_max])

Apply a Lorentz transformation to a supertranslation and multiply by the conformal factor.

Classes

BMSTransformation(**kwargs)

Methods

LorentzTransformation(**kwargs)

Methods

class scri.bms_transformations.BMSTransformation(**kwargs)[source]

Methods

inverse([output_order])

Compute the inverse of a BMS transformation.

reorder(output_order)

Reorder a BMS transformation.

copy

from_file

is_close_to

to_file

copy()[source]
from_file(filename, group=None)[source]
inverse(output_order=None)[source]

Compute the inverse of a BMS transformation.

is_close_to(other)[source]
reorder(output_order)[source]

Reorder a BMS transformation.

to_file(filename, file_write_mode='w', group=None)[source]
class scri.bms_transformations.LorentzTransformation(**kwargs)[source]

Methods

inverse([output_order])

Compute the inverse of a Lorentz transformation.

reorder(output_order)

Reorder a Lorentz transformation.

copy

is_close_to

copy()[source]
inverse(output_order=None)[source]

Compute the inverse of a Lorentz transformation.

is_close_to(other)[source]
reorder(output_order)[source]

Reorder a Lorentz transformation.

scri.bms_transformations.Lorentz_to_spin_matrix(lorentz)[source]

Convert a Lorentz transformation to a spin matrix.

Parameters:
lorentz: LorentzTransformation
scri.bms_transformations.fourvec_to_spin_matrix(fourvec)[source]

Inner product of a four vector and the Pauli matrices, as defined by Eq. (1.2.39) of Spinors and Spacetime Vol. 1

Parameters:
fourvec: float array of length 4.
scri.bms_transformations.pure_spin_matrix_to_Lorentz(A, is_rotation=None, tol=1e-14)[source]

Convert a pure spin matrix to a rotation or a boost.

Parameters:
A: 2 by 2 complex array

2 by 2 array corresponding to the input spin matrix.

is_rotation: bool

Whether or not the spin matrix should correspond to a Lorentz rotation or a Lorentz boost. Defaults to None, i.e., this will be figured out based on the matrix’s values.

tol: float

Tolerance for figuring out whether the spin matrix corresponds to a Lorentz rotation or a Lorentz boost.

scri.bms_transformations.spin_matrix_to_Lorentz(A, output_order=['frame_rotation', 'boost_velocity'])[source]

Convert a spin matrix to a Lorentz transformation.

This uses SVD to decompose the spin matrix into a spin matrix describing a Lorentz boost (positive or negative definite Hermitian) and a spin matrix describing a Lorentz rotation (unitary).

Parameters:
A: 2 by 2 complex array

2 by 2 array corresponding to the input spin matrix.

output_order: list

Order in which rotation and boost should be applied.

scri.bms_transformations.transform_supertranslation(S, lorentz, ell_max=None)[source]

Apply a Lorentz transformation to a supertranslation and multiply by the conformal factor. This produces the supertranslation the appears when commuting a supertranslation through a Lorentz transformation.

The Lorentz transformation is the transformation appearing on the RHS of the product, i.e., S’ = L^{-1} S L.

Parameters:
S: ndarray, dtype=complex

supertranslation to be transformed.

lorentz: LorentzTransformation

Lorentz transformation to be used to transform the supertranslation.

ell_max: int

Maximum ell to use when expressing functions via coordinates on the two-sphere.