Effective spin models
We explore features in the binary black hole effective aligned spin distribution using several different models.
Gaussian
Our simplest approach is just to model the BBH \(\chi_\mathrm{eff}\) distribution as a Gaussian:
This model can be rerun as follows:
$ conda activate gwtc3-spin-studes
$ cd code/numpyroCode/
$ python run_gaussian.py
The output will be a .cdf file storing the resulting posterior samples and diagnostic information:
data/effective_spin_gaussian.cdf
Note
A notebook that demonstrates how to load in, inspect, and manipulate this output file can be found here
GaussianSpike
To explore the possible presence of a zero-spin subpopulation, we extend the Gaussian model with a narrow (possibly delta-function) “spike” at \(\chi_\mathrm{eff}=0\):
In most cases, we will take \(\epsilon_\mathrm{spike}=0\) and let the “spike” population become a true delta function (see Appendix D of our paper text to learn about the KDE trick that allows us to evaluate the delta function’s likelihood). Occasionally, though, we will let \(\epsilon\) be non-zero in order to check the appropriate convergence of our results; see Fig. 10.
This model can be rerun as follows:
$ conda activate gwtc3-spin-studes
$ cd code/numpyroCode/
$ python run_gaussian_spike.py
The output will be a .cdf file storing the resulting posterior samples and diagnostic information:
output/effective_spin_gaussian_spike.cdf
Note
A notebook that demonstrates how to load in, inspect, and manipulate this output file can be found here
We include an analogous script, run_gaussian_spike_gwtc2.py, to run the GaussianSpike model over only those events included in GWTC-2, in order to better compare with past results.
DoubleGaussian
This model can be rerun as follows:
$ conda activate gwtc3-spin-studes
$ cd code/numpyroCode/
$ python run_double_gaussian.py
The output will be a .cdf file storing the resulting posterior samples and diagnostic information:
data/effective_spin_doubleGaussians.cdf
Note
A notebook that demonstrates how to load in, inspect, and manipulate this output file can be found here.
- numpyroCode.likelihoods.gaussian(sampleDict, injectionDict, mMin)[source]
Implementation of a Gaussian effective spin distribution for inference within numpyro
- Parameters
sampleDict (dict) – Precomputed dictionary containing posterior samples for each event in our catalog
injectionDict (dict) – Precomputed dictionary containing successfully recovered injections
mMin (float) – Minimum black hole mass
- numpyroCode.likelihoods.doubleGaussian(sampleDict, injectionDict, mMin)[source]
Implementation of an effective spin distribution described as a mixture of two Gaussians, for inference within numpyro
- Parameters
sampleDict (dict) – Precomputed dictionary containing posterior samples for each event in our catalog
injectionDict (dict) – Precomputed dictionary containing successfully recovered injections
mMin (float) – Minimum black hole mass
- numpyroCode.likelihoods.gaussianSpike(sampleDict, injectionDict, mMin, sig_eps)[source]
Implementation of a Gaussian and zero-spin spike effective spin distribution for inference within numpyro. As this implementation makes use of KDEs over posterior samples and found injections, the “spike width” parameter sig_eps can be zero.
- Parameters
sampleDict (dict) – Precomputed dictionary containing posterior samples for each event in our catalog
injectionDict (dict) – Precomputed dictionary containing successfully recovered injections
mMin (float) – Minimum black hole mass
sig_eps (float) – Width of “spike” mixture component.
- numpyroCode.likelihoods.gaussianSpike_MonteCarloAvg(sampleDict, injectionDict, mMin, sig_eps)[source]
Implementation of a Gaussian and zero-spin spike effective spin distribution for inference within numpyro. Relies on standard Monte Carlo averaging of posterior samples and found injections, hence the “spike width” parameter sig_eps must be non-zero.
- Parameters
sampleDict (dict) – Precomputed dictionary containing posterior samples for each event in our catalog
injectionDict (dict) – Precomputed dictionary containing successfully recovered injections
mMin (float) – Minimum black hole mass
sig_eps (float) – Width of “spike” mixture component.