diff --git a/nifty6/minimization/metric_gaussian_kl.py b/nifty6/minimization/metric_gaussian_kl.py index a4f1589e416b7c0a5d3123a9a6d0f210da53424c..8cfe2a4e5f8dc0d41c666eafdd29c17c73878719 100644 --- a/nifty6/minimization/metric_gaussian_kl.py +++ b/nifty6/minimization/metric_gaussian_kl.py @@ -231,8 +231,12 @@ class MetricGaussianKL(Energy): else: mymap = map(lambda v: self._hamiltonian(lin+v).metric, self._samples) - self.unscaled_metric = utilities.my_sum(mymap) - self._metric = self.unscaled_metric.scale(1./self._n_eff_samples) + unscaled_metric = utilities.my_sum(mymap) + if self._mirror_samples: + mymap = map(lambda v: self._hamiltonian(lin-v).metric, + self._samples) + unscaled_metric = unscaled_metric + utilities.my_sum(mymap) + self._metric = unscaled_metric.scale(1./self._n_eff_samples) def apply_metric(self, x): self._get_metric()