George-based models

A number of models implemented in Heron make use of the George Gaussian process library which implements a number of simplifications to make the inversion of the covariance matrix required for GPR predictions more tractable.

The main model produced this way is HeronHODLR, which implements a fully-spinning BBH waveform model which is trained on waveform data from the Georgia Tech waveform catalogue.

All of the george-based models are contained in the heron.models.georgebased module.

HeronHODLR: A spinning, NR-trained waveform model

Ther HeronHODLR model implements a surrogate model for gravitational waveforms form binary black hole events with arbitrary spin parameters between a mass ratio of 1 and 8.

class heron.models.georgebased.HeronHodlr[source]

Produce a BBH waveform generator using the Hodlr method.

Methods

bilby(self, time, mass_1, mass_2, …)

Return a waveform from the GPR in a format expected by the Bilby ecosystem

build(self[, mean, white_noise, tol])

Construct the GP object

distribution(self, p, times[, samples, …])

Return the mean waveform and the variance at a given location in the BBH parameter space.

eval(self)

Prepare the model to be evaluated.

log_evidence(self, k, n)

Evaluate the log-evidence of the model at a hyperparameter location k.

mean(self, p, times)

Return the mean waveform at a given location in the BBH parameter space.

train(self)

Prepare the model to be trained.

Heron2DHodlrIMR

This model is a 2D prototype waveform model trained on phenomenological sample waveforms. In contrast to the full HeronHODLR model, this model models only non-spinning waveforms between mass ratios of 1 and 10.

class heron.models.georgebased.Heron2dHodlrIMR[source]

Produce a BBH waveform generator using the Hodlr method with IMRPhenomPv2 training data.

Methods

bilby(self, time, mass_1, mass_2, …)

Return a waveform from the GPR in a format expected by the Bilby ecosystem

build(self[, mean, white_noise, tol])

Construct the GP object

distribution(self, p, times[, samples, …])

Return the mean waveform and the variance at a given location in the BBH parameter space.

eval(self)

Prepare the model to be evaluated.

log_evidence(self, k, n)

Evaluate the log-evidence of the model at a hyperparameter location k.

mean(self, p, times)

Return the mean waveform at a given location in the BBH parameter space.

train(self)

Prepare the model to be trained.

HodlrReducedGPR

This model uses a reduced basis representation of BBH waveforms in an attempt to produce waveforms (much) more rapidly than conventional GPR approaches.

The basis must be precomputed as an offline stage; this can be done using the elk package.

class heron.models.georgebased.HodlrReducedGPR[source]

A Gaussian process regression surrogate using a reduced basis.

Notes

This model builds a surrogate over a reduced basis constructed by the elk package, and is intended to be a template which can be adapted for any timeseries, and not just a GW waveform.

For this specific example implementation the basis is built using non-spinning waveforms from the IMRPhenomPv2 model, and as a result the model is itself non-spinning.

Examples

>>> model = HodlrReducedGPR()
>>> ts = model(0.55)
>>> ts.data[:10]
array([-3.0841799347631674e-20, -3.0866637782847267e-20,
   -2.959224603984205e-20, -2.703825954077637e-20,
   -2.32824648984726e-20, -1.8454458490397586e-20,
   -1.273795996408389e-20, -6.358989280244452e-21,
   4.1729998379767277e-22, 7.302559908465424e-21], dtype=object)

Methods

__call__(self, p)

Call self as a function.

distribution(self, p)

Return the mean timeseries and its variance

mean(self, p)

Returns the mean timeseries