From 486fda186af8162aafb73b13e8d24d1d42c07477 Mon Sep 17 00:00:00 2001 From: Philipp Arras <parras@mpa-garching.mpg.de> Date: Tue, 23 Mar 2021 17:31:14 +0100 Subject: [PATCH] Remove draw_sample for KL.metric The information theoretic interpretation of drawing samples from the metric of the KL samples is not clear. This may be the reason why it was not documented before. --- src/minimization/metric_gaussian_kl.py | 22 ---------------------- 1 file changed, 22 deletions(-) diff --git a/src/minimization/metric_gaussian_kl.py b/src/minimization/metric_gaussian_kl.py index 5b60e5f9a..6f6866425 100644 --- a/src/minimization/metric_gaussian_kl.py +++ b/src/minimization/metric_gaussian_kl.py @@ -38,9 +38,6 @@ class _KLMetric(EndomorphicOperator): self._check_input(x, mode) return self._KL.apply_metric(x) - def draw_sample(self, from_inverse=False): - return self._KL._metric_sample(from_inverse) - def _get_lo_hi(comm, n_samples): ntask, rank, _ = utilities.get_MPI_params_from_comm(comm) @@ -260,22 +257,3 @@ class MetricGaussianKL(Energy): yield s if self._mirror_samples: yield -s - - def _metric_sample(self, from_inverse=False): - if from_inverse: - raise NotImplementedError() - s = ('This draws from the Hamiltonian used for evaluation and does ' - ' not take point_estimates into accout. Make sure that this ' - 'is your intended use.') - logger.warning(s) - lin = Linearization.make_var(self.position, True) - samp = [] - sseq = random.spawn_sseq(self._n_samples) - for i, s in enumerate(self._local_samples): - s = _modify_sample_domain(s, self._hamiltonian.domain) - with random.Context(sseq[self._lo+i]): - tmp = self._hamiltonian(lin+s).metric.draw_sample(from_inverse=False) - if self._mirror_samples: - tmp = tmp + self._hamiltonian(lin-s).metric.draw_sample(from_inverse=False) - samp.append(tmp) - return utilities.allreduce_sum(samp, self._comm)/self.n_eff_samples -- GitLab