pygwb.pe

The pe module performs parameter estimation (PE) as an integral part of the analysis, which naturally follows the computation of the optimal estimate of the gravitational-wave background (GWB). The pe module is a simple and user-friendly toolkit for any model builder to constrain their physical models with gravitational-wave (GW) data. The pe module is built on class inheritance, with GWBModel as the parent class. The methods of the parent class are functions shared between different GWB models, e.g., the likelihood formulation, as well as the noise likelihood. It is possible to include a calibration uncertainty by modifying the calibration epsilon parameter, which defaults to 0. The GW polarization used for analysis is user-defined, and defaults to standard General Relativity (GR) polarization (i.e., tensor).

In our implementation of pe, we rely on the bilby package (more information here) to perform a parameter space exploration, and employ the sampler dynesty (more information here) by default. The user has flexibility in choosing the sampler as well as the sampler settings.

Child classes in the pe module inherit attributes and methods from the GWBModel class. Each child class represents a single GWB model, and combined they form a catalog of available GWB models that may be probed with GW data. The inheritance structure of the module makes it straightforward to expand the catalog, allowing users of the pygwb package to add their own models. The flexibility of the pe module allows the user to combine several GWB models defined within the module. A particularly useful application of this is the modelling of a GWB in the presence of correlated magnetic noise, or the simultaneous estimation of astrophysical and cosmological GWBs.

Additional information about parameter estimation can be found here. For more information on how to use this module, we refer the reader to the dedicated tutorials and demos.

Classes

BrokenPowerLawModel(**kwargs)

Broken Power law model is defined as:

GWBModel([baselines, model_name, polarizations])

Generic model, contains the definition of likelihood:

PVPowerLawModel(**kwargs)

The parity violation model can be defined as:

PVPowerLawModel2(**kwargs)

The parity violation model 2 can be defined as:

PowerLawModel(**kwargs)

Power law model is defined as:

SchumannModel(**kwargs)

The Schumann model is defined as:

SmoothBrokenPowerLawModel(**kwargs)

The smooth broken power law is defined as:

TVSPowerLawModel(**kwargs)

The Tensor-Vector-Scalar polarization (T,V,S) power-law model is defined as:

TripleBrokenPowerLawModel(**kwargs)

The triple broken power law is defined as: