moble / scri

Python/numba code for manipulating time-dependent functions of spin-weighted spherical harmonics on future null infinity
MIT License
18 stars 20 forks source link

Enhancement: Add BMS group multiplication calculations #74

Closed duetosymmetry closed 2 years ago

duetosymmetry commented 2 years ago

@keefemitman and I worked out what to do (requires being able to conjugate a supertranslation ɑ(θ,ɸ) by a Lorentz boost; then everything else will follow easily). The question is whether there should be a new type BMS added. I think it's natural to add such a type. However, current code stores BMS transformations as dicts rather than an object of type BMS, so to make a uniform interface, several APIs may change. Requesting comment from @moble

keefemitman commented 2 years ago

I think it should suffice to just define a function which takes as inputs two dictionaries of BMS transformations and returns a single dictionary of BMS transformations. That way we can easily write this function now and make sure it works with the transformation function before making things more "formal".

moble commented 2 years ago

Yeah, I think using dicts as the actual data structure would be best for backwards compatibility. That's not to say it wouldn't be fun to have actual classes implementing these properties underneath, but for the purposes of the user interface, inertia weighs heavily.

keefemitman commented 2 years ago

Can we close this? @duetosymmetry

duetosymmetry commented 2 years ago

Sure!