The source project of this merge request has been removed.
Implement phase-marginalization
This addresses #18 (closed). The main changes are
- MonteCarloMarginalizeCode/Code/bin/util_InitMargTable: implement distance integrator for phase marginalization based on the algorithm described by dist_phi_marg.pdf at https://dcc.ligo.org/LIGO-T2100485. Implementing phase marginalization is not a big change, as it just amounts to multiplying the exponentially scaled Bessel function by distance prior.
- MonteCarloMarginalizeCode/Code/bin/integrate_likelihood_extrinsic_batchmode: do not sample phase when phase marginalization is used.
- MonteCarloMarginalizeCode/Code/RIFT/likelihood/factored_likelihood.py: add phase marginalization option to likelihood. The (2, -2) or (2, 2) term for kappa_sq needs to be replaced by its complex conjugate to properly calculate the input kappa_sq to likelihood, because of their different dependence on
\phi_{\mathrm{orb}}
(i.e.Y_{2,2} \propto \exp(2 i \phi_{\mathrm{orb}})
andY_{2,-2} \propto \exp(-2 i \phi_{\mathrm{orb}})
).
It was confirmed that this produces the same evidence value with that from the master version for a BNS injection. Below is the evolution of n_{\mathrm{eff}}
with/without phase marginalization, which shows \sim 10 \times
speedup.
Edited by Soichiro Morisaki