Params Reference

JaxGB parameter module

This is a module clarifying the parameters (names, units, and LaTeX notation) and their ordering in JaxGB. It also enables conversions to/from the parameterisation used in other tools, by defining a GBObject containing all necessary parameters.

class jaxgb.params.GBObject(*, f0: ndarray, fdot: ndarray, A: ndarray, ra: ndarray, dec: ndarray, psi: ndarray, iota: ndarray, phi0: ndarray, t_init: float)[source]

Circular Galactic binary parameter set.

GBObject brings together a canonical parameterisation of a set of circular Galactic Binaries. It enables conversion into the parameterisation used by different (circular) Galactic Binary response codes, like LISA GW Response, LDC tools, fastgb, and gbgpu. At the moment, we ignore the inclusion of a second derivative of the frequency.

Parameters:
  • f0 – Gravitational-wave signal frequency at epoch [Hz].

  • fdot – Gravitational-wave signal frequency derivative [Hz/s].

  • A – Gravitational-wave signal amplitude [strain].

  • ra – Right ascension (equatorial longitude) [rad].

  • dec – Declination, equatorial latitude [rad].

  • psi – Polarisation angle [rad].

  • iota – Inclination angle [rad].

  • phi0 – Initial phase at epoch [rad].

  • t_init – Epoch used to define the initial phase phi0 and the frequency f0, in TCB [s].

A

Gravitational-wave signal amplitude [strain].

dec

Declination, equatorial latitude [rad].

f0

Gravitational-wave signal frequency at epoch [Hz].

fdot

Gravitational-wave signal frequency derivative [Hz/s].

classmethod from_jaxgb_params(jaxgb_params: ndarray, t_init: float) GBObject[source]

Instantiate GB from a JaxGB params array.

Parameters:
  • jaxgb_params (array-like of shape (nsrc, 8)) – Parameters, as defined in PARAM_NAMES and units as defined in PARAM_UNITS.

  • t_init (float) – Epoch used to define the initial phase phi0 and the frequency f0, in TCB [s].

Return type:

A new GB instance.

classmethod from_pandas_dataframe(pandas_df: DataFrame, t_init: float) GBObject[source]

Instantiate GB from a Pandas dataframe.

Parameters:
  • pandas_df – Pandas dataframe of parameters.

  • t_init (float) – Epoch used to define the initial phase phi0 and the frequency f0, in TCB [s].

Return type:

A new GB instance.

classmethod from_records(rec_array: recarray | dict, t_init: float) GBObject[source]

Instantiate GB from a numpy record array.

Parameters:
  • rec_array – Numpy record array or dictionnary of parameters.

  • t_init (float) – Epoch used to define the initial phase phi0 and the frequency f0, in TCB [s].

Return type:

A new GB instance.

iota

Inclination angle [rad].

phi0

Initial phase at epoch [rad].

psi

Polarisation angle [rad].

ra

Right ascension (equatorial longitude) [rad].

t_init

Epoch used to define the initial phase phi0 and the frequency f0, in TCB [s].

to_fastgb_array() ndarray[source]

Create fastgb array, respecting format and ordering.

The parameter array assumes the epoch t_init, and fastgb is doing the conversion between tinit and t0 internally.

Additional comments:

fastgb expects that params[:, 3] contain ecliptic latitudes (beta) and params[:, 4] contain ecliptic longitudes (lambda). However, from LISA Orbits v3 onwards, orbit information is expressed in equatorial coordinates, so implictly, the sky location params in fastgb need to be expressed in equatorial coordinates. In principle, we can therefore pass the equatorial coordinates, as in JAXGB, provided we swap the longitude and latitude order:

  • In JAXGB, params[:, 3] is longitude (ra) while params[:, 4] includes latitude (dec),

  • In fastgb, params[:, 3] (what used to be beta) includes latitude, while params[:, 4] includes longitude (what used to be beta)

Returns:

Array of parameters.

Return type:

np.ndarray of shape (nsrc, 8)

to_gbgpu_array() ndarray[source]

Create gbgpu array, respecting format and ordering.

Sky positions are converted to ecliptic coordinates. fddot is assumed to be zero. The returned parameters have the epoch t_init.

Returns:

Array of parameters.

Return type:

np.ndarray of shape (nsrc, 9)

to_gwresponse_dict() dict[str, ndarray][source]

Create GW Response input dictionary, respecting format and ordering.

This can be used with lisagwresponse.GalacticBinary. The parameter dictionary assumes the epoch t_init.

Returns:

  • Dictionary of parameters, compatible with

  • lisagwresponse.GalacticBinary.

to_jaxgb_array(t0: float) Array[source]

Create JaxGB array, respecting format and ordering.

Parameters:

t0 – Starting time of JAXGB response calculation in TCB (s). This time is used to shift the GW frequency f0 and the phase phi0, defined at t_init, to the simulation starting time.

Returns:

Array of parameters in the same order as PARAM_NAMES and with units PARAM_UNITS.

Return type:

jax.Array of shape (nsrc, 8)

to_ldc_dict() dict[str, ndarray][source]

Create LDC dictionary, respecting format and ordering.

Sky positions are converted to ecliptic coordinates. Parameters are specified at the epoch t_init.

Return type:

Dictionary of parameters.