From d0a13c2d4d1129bc04dfd540ec6f071a8731fa61 Mon Sep 17 00:00:00 2001 From: Gregory Ashton <gregory.ashton@ligo.org> Date: Wed, 22 Mar 2023 02:18:37 +0000 Subject: [PATCH] BUGFIX: Resolve "Some MCMC proposals with non-trivial boundaries breaks detailed balance" --- bilby/bilby_mcmc/proposals.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/bilby/bilby_mcmc/proposals.py b/bilby/bilby_mcmc/proposals.py index 29c40d057..90e2f567d 100644 --- a/bilby/bilby_mcmc/proposals.py +++ b/bilby/bilby_mcmc/proposals.py @@ -131,7 +131,8 @@ class BaseProposal(object): def __call__(self, chain): sample, log_factor = self.propose(chain) - sample = self.apply_boundaries(sample) + if log_factor == 0: + sample = self.apply_boundaries(sample) return sample, log_factor @abstractmethod @@ -945,7 +946,8 @@ class EnsembleProposal(BaseProposal): def __call__(self, chain, chain_complement): sample, log_factor = self.propose(chain, chain_complement) - sample = self.apply_boundaries(sample) + if log_factor == 0: + sample = self.apply_boundaries(sample) return sample, log_factor -- GitLab