diff --git a/demos/getting_started_3.py b/demos/getting_started_3.py index a4f6458ff3e6713d3bc228198b3e43ca7fedc5c5..00875a34c4227304927c2b1b9a9e5b34e0a0c595 100644 --- a/demos/getting_started_3.py +++ b/demos/getting_started_3.py @@ -109,7 +109,8 @@ if __name__ == '__main__': minimizer = ift.NewtonCG(ic_newton) # Set up likelihood and information Hamiltonian - likelihood = ift.GaussianEnergy(mean=data, covariance=N)(signal_response) + likelihood = ift.GaussianEnergy(mean=data, + inverse_covariance=N.inverse)(signal_response) H = ift.StandardHamiltonian(likelihood, ic_sampling) initial_mean = ift.MultiField.full(H.domain, 0.) diff --git a/nifty5/operators/energy_operators.py b/nifty5/operators/energy_operators.py index 17a97d8040ee44e643c73c59219a4370a6281987..aad60f4a58bd2c926757923b6c0b3ec5b1126221 100644 --- a/nifty5/operators/energy_operators.py +++ b/nifty5/operators/energy_operators.py @@ -110,8 +110,8 @@ class GaussianEnergy(EnergyOperator): ---------- mean : Field Mean of the Gaussian. Default is 0. - covariance : LinearOperator - Covariance of the Gaussian. Default is the identity operator. + inverse_covariance : LinearOperator + Inverse covariance of the Gaussian. Default is the identity operator. domain : Domain, DomainTuple, tuple of Domain or MultiDomain Operator domain. By default it is inferred from `mean` or `covariance` if specified @@ -121,28 +121,27 @@ class GaussianEnergy(EnergyOperator): At least one of the arguments has to be provided. """ - def __init__(self, mean=None, covariance=None, domain=None): + def __init__(self, mean=None, inverse_covariance=None, domain=None): if mean is not None and not isinstance(mean, (Field, MultiField)): raise TypeError - if covariance is not None and not isinstance(covariance, - LinearOperator): + if inverse_covariance is not None and not isinstance(inverse_covariance, LinearOperator): raise TypeError self._domain = None if mean is not None: self._checkEquivalence(mean.domain) - if covariance is not None: - self._checkEquivalence(covariance.domain) + if inverse_covariance is not None: + self._checkEquivalence(inverse_covariance.domain) if domain is not None: self._checkEquivalence(domain) if self._domain is None: raise ValueError("no domain given") self._mean = mean - if covariance is None: + if inverse_covariance is None: self._op = SquaredNormOperator(self._domain).scale(0.5) else: - self._op = QuadraticFormOperator(covariance.inverse) - self._icov = None if covariance is None else covariance.inverse + self._op = QuadraticFormOperator(inverse_covariance) + self._icov = None if inverse_covariance is None else inverse_covariance def _checkEquivalence(self, newdom): newdom = makeDomain(newdom)