diff --git a/nifty5/energies/hamiltonian.py b/nifty5/energies/hamiltonian.py index f378a3a1b501c438b7d95c00e5e9d85d82cc71d9..895bfd560ea19cc6d2d9556fc41b0c4840e458a4 100644 --- a/nifty5/energies/hamiltonian.py +++ b/nifty5/energies/hamiltonian.py @@ -31,10 +31,10 @@ class Hamiltonian(Energy): lh: Likelihood (energy object) prior: """ - super(Hamiltonian, self).__init__(lh.position) + super(Hamiltonian, self).__init__(lh._position) self._lh = lh self._ic_samp = iteration_controller_sampling - self._prior = GaussianEnergy(Variable(self.position)) + self._prior = GaussianEnergy(Variable(self._position)) def at(self, position): return self.__class__(self._lh.at(position), self._ic_samp) diff --git a/nifty5/library/gaussian_energy.py b/nifty5/library/gaussian_energy.py index 5f726fcccdba2de5b734f2d86edf8c601d02951b..846730565cbb2821c60f39696e814a2a5849143c 100644 --- a/nifty5/library/gaussian_energy.py +++ b/nifty5/library/gaussian_energy.py @@ -32,7 +32,7 @@ class GaussianEnergy(Energy): value = 0.5 * s.vdot(s), i.e. a log-Gauss distribution with unit covariance """ - super(GaussianEnergy, self).__init__(inp.position) + super(GaussianEnergy, self).__init__(inp._position) self._inp = inp self._mean = mean self._cov = covariance diff --git a/nifty5/minimization/quadratic_energy.py b/nifty5/minimization/quadratic_energy.py index 9e27257e6df82e6e16cf37a66622b38763ef5935..1568848be76ea200c16d536500f9e7106184587a 100644 --- a/nifty5/minimization/quadratic_energy.py +++ b/nifty5/minimization/quadratic_energy.py @@ -35,14 +35,14 @@ class QuadraticEnergy(Energy): self._grad = _grad Ax = _grad if b is None else _grad + b else: - Ax = self._A(self.position) + Ax = self._A(self._position) self._grad = Ax if b is None else Ax - b - self._value = 0.5*self.position.vdot(Ax) + self._value = 0.5*self._position.vdot(Ax) if b is not None: - self._value -= b.vdot(self.position) + self._value -= b.vdot(self._position) def at(self, position): - return QuadraticEnergy(position=position, A=self._A, b=self._b) + return QuadraticEnergy(position, self._A, self._b) def at_with_grad(self, position, grad): """ Specialized version of `at`, taking also a gradient. @@ -63,8 +63,7 @@ class QuadraticEnergy(Energy): Energy Energy object at new position. """ - return QuadraticEnergy(position=position, A=self._A, b=self._b, - _grad=grad) + return QuadraticEnergy(position, self._A, self._b, grad) @property def value(self): diff --git a/nifty5/models/multi_model.py b/nifty5/models/multi_model.py index 2033923daf852ac0ddc4342b8b219843674835fa..b661a25bb76bb95e1e7edaebd1b16d42a4a39eca 100644 --- a/nifty5/models/multi_model.py +++ b/nifty5/models/multi_model.py @@ -35,7 +35,7 @@ class MultiModel(Model): val = self._model.value if not isinstance(val.domain, DomainTuple): raise TypeError - self._value = MultiField({key: val}) + self._value = MultiField.from_dict({key: val}) self._jacobian = (MultiAdaptor(self.value.domain) * self._model.jacobian) diff --git a/nifty5/operators/symmetrizing_operator.py b/nifty5/operators/symmetrizing_operator.py index cc31d96a7908445a360beb31f2c14c62cde8d0c1..2d0df00de0374477bcc57cd7664670a2147bcfa3 100644 --- a/nifty5/operators/symmetrizing_operator.py +++ b/nifty5/operators/symmetrizing_operator.py @@ -47,7 +47,7 @@ class SymmetrizingOperator(EndomorphicOperator): tmp2[lead+(slice(1, None),)] -= tmp2[lead+(slice(None, 0, -1),)] if i == ax: tmp = dobj.redistribute(tmp, dist=ax) - return Field(self.target, val=tmp) + return Field(self.target, val=tmp) @property def capability(self):