From c9a6a709f469164228231a5c7b8f3301dce9de20 Mon Sep 17 00:00:00 2001 From: Martin Reinecke <martin@mpa-garching.mpg.de> Date: Wed, 8 Aug 2018 19:45:08 +0200 Subject: [PATCH] long overdue cleanup --- demos/polynomial_fit.py | 8 ---- nifty5/library/amplitude_model.py | 8 ---- nifty5/library/correlated_fields.py | 8 ---- nifty5/library/inverse_gamma_model.py | 10 +---- nifty5/library/los_response.py | 8 ---- nifty5/multi_domain.py | 1 + nifty5/operators/block_diagonal_operator.py | 4 -- nifty5/operators/central_zero_padder.py | 8 ---- nifty5/operators/chain_operator.py | 10 +---- nifty5/operators/diagonal_operator.py | 4 -- nifty5/operators/dof_distributor.py | 8 ---- nifty5/operators/domain_distributor.py | 8 ---- nifty5/operators/endomorphic_operator.py | 2 +- nifty5/operators/energy_operators.py | 37 +++------------- nifty5/operators/exp_transform.py | 8 ---- nifty5/operators/field_zero_padder.py | 8 ---- nifty5/operators/harmonic_operators.py | 34 +------------- nifty5/operators/inversion_enabler.py | 5 +-- nifty5/operators/laplace_operator.py | 4 -- nifty5/operators/mask_operator.py | 8 ---- nifty5/operators/operator.py | 42 +++--------------- nifty5/operators/operator_adapter.py | 10 +---- nifty5/operators/qht_operator.py | 8 ---- nifty5/operators/relaxed_sum_operator.py | 8 ---- nifty5/operators/sampling_enabler.py | 5 +-- nifty5/operators/sandwich_operator.py | 5 +-- nifty5/operators/scaling_operator.py | 4 -- nifty5/operators/simple_linear_operators.py | 49 +-------------------- nifty5/operators/slope_operator.py | 8 ---- nifty5/operators/sum_operator.py | 8 ---- nifty5/operators/symmetrizing_operator.py | 4 -- 31 files changed, 25 insertions(+), 317 deletions(-) diff --git a/demos/polynomial_fit.py b/demos/polynomial_fit.py index 108d9a06d..969e6822a 100644 --- a/demos/polynomial_fit.py +++ b/demos/polynomial_fit.py @@ -62,14 +62,6 @@ class PolynomialResponse(ift.LinearOperator): out = self._mat.conj().T.dot(val) return ift.from_global_data(self._tgt(mode), out) - @property - def domain(self): - return self._domain - - @property - def target(self): - return self._target - @property def capability(self): return self.TIMES | self.ADJOINT_TIMES diff --git a/nifty5/library/amplitude_model.py b/nifty5/library/amplitude_model.py index f9ff03b79..77842d2ef 100644 --- a/nifty5/library/amplitude_model.py +++ b/nifty5/library/amplitude_model.py @@ -133,14 +133,6 @@ class AmplitudeModel(Operator): self._smooth_op = sym(qht(ceps)) self._keys = tuple(keys) - @property - def domain(self): - return self._domain - - @property - def target(self): - return self._target - def apply(self, x): smooth_spec = self._smooth_op(x[self._keys[0]]) phi = x[self._keys[1]] + self._norm_phi_mean diff --git a/nifty5/library/correlated_fields.py b/nifty5/library/correlated_fields.py index b2edc026c..07f4a90b3 100644 --- a/nifty5/library/correlated_fields.py +++ b/nifty5/library/correlated_fields.py @@ -50,14 +50,6 @@ class CorrelatedField(Operator): (self._amplitude_model.domain, MultiDomain.make({"xi": self._h_space}))) - @property - def domain(self): - return self._domain - - @property - def target(self): - return self._ht.target - def apply(self, x): A = self._power_distributor(self._amplitude_model(x)) correlated_field_h = A * x["xi"] diff --git a/nifty5/library/inverse_gamma_model.py b/nifty5/library/inverse_gamma_model.py index 3cce6ae16..e40ac0960 100644 --- a/nifty5/library/inverse_gamma_model.py +++ b/nifty5/library/inverse_gamma_model.py @@ -30,18 +30,10 @@ from ..sugar import makeOp class InverseGammaModel(Operator): def __init__(self, domain, alpha, q): - self._domain = domain + self._domain = self._target = domain self._alpha = alpha self._q = q - @property - def domain(self): - return self._domain - - @property - def target(self): - return self._domain - def apply(self, x): lin = isinstance(x, Linearization) val = x.val.local_data if lin else x.local_data diff --git a/nifty5/library/los_response.py b/nifty5/library/los_response.py index ec946bdb7..f8c112f23 100644 --- a/nifty5/library/los_response.py +++ b/nifty5/library/los_response.py @@ -221,14 +221,6 @@ class LOSResponse(LinearOperator): self._target = DomainTuple.make(UnstructuredDomain(nlos)) - @property - def domain(self): - return self._domain - - @property - def target(self): - return self._target - @property def capability(self): return self.TIMES | self.ADJOINT_TIMES diff --git a/nifty5/multi_domain.py b/nifty5/multi_domain.py index a4fb03aec..f2257ba96 100644 --- a/nifty5/multi_domain.py +++ b/nifty5/multi_domain.py @@ -109,6 +109,7 @@ class MultiDomain(object): @staticmethod def union(inp): res = {} + # FIXME speed up! for dom in inp: for key, subdom in zip(dom._keys, dom._domains): if key in res: diff --git a/nifty5/operators/block_diagonal_operator.py b/nifty5/operators/block_diagonal_operator.py index 956be8dcb..9a601e15c 100644 --- a/nifty5/operators/block_diagonal_operator.py +++ b/nifty5/operators/block_diagonal_operator.py @@ -45,10 +45,6 @@ class BlockDiagonalOperator(EndomorphicOperator): if op is not None: self._cap &= op.capability - @property - def domain(self): - return self._domain - @property def capability(self): return self._cap diff --git a/nifty5/operators/central_zero_padder.py b/nifty5/operators/central_zero_padder.py index 2a7f0649c..1f48c8d83 100644 --- a/nifty5/operators/central_zero_padder.py +++ b/nifty5/operators/central_zero_padder.py @@ -53,14 +53,6 @@ class CentralZeroPadder(LinearOperator): self.slicer[i] = tuple(tmp) self.slicer = tuple(self.slicer) - @property - def domain(self): - return self._domain - - @property - def target(self): - return self._target - @property def capability(self): return self.TIMES | self.ADJOINT_TIMES diff --git a/nifty5/operators/chain_operator.py b/nifty5/operators/chain_operator.py index 9f78bae75..548ba0474 100644 --- a/nifty5/operators/chain_operator.py +++ b/nifty5/operators/chain_operator.py @@ -36,6 +36,8 @@ class ChainOperator(LinearOperator): self._capability = self._all_ops for op in ops: self._capability &= op.capability + self._domain = self._ops[-1].domain + self._target = self._ops[0].target @staticmethod def simplify(ops): @@ -117,14 +119,6 @@ class ChainOperator(LinearOperator): return ops[0] return ChainOperator(ops, _callingfrommake=True) - @property - def domain(self): - return self._ops[-1].domain - - @property - def target(self): - return self._ops[0].target - def _flip_modes(self, trafo): ADJ = self.ADJOINT_BIT INV = self.INVERSE_BIT diff --git a/nifty5/operators/diagonal_operator.py b/nifty5/operators/diagonal_operator.py index 48b06cff5..506964163 100644 --- a/nifty5/operators/diagonal_operator.py +++ b/nifty5/operators/diagonal_operator.py @@ -150,10 +150,6 @@ class DiagonalOperator(EndomorphicOperator): return Field.from_local_data(x.domain, x.local_data*xdiag) return Field.from_local_data(x.domain, x.local_data/xdiag) - @property - def domain(self): - return self._domain - @property def capability(self): return self._all_ops diff --git a/nifty5/operators/dof_distributor.py b/nifty5/operators/dof_distributor.py index 31ce2eca4..ef864760c 100644 --- a/nifty5/operators/dof_distributor.py +++ b/nifty5/operators/dof_distributor.py @@ -143,14 +143,6 @@ class DOFDistributor(LinearOperator): self._check_input(x, mode) return self._times(x) if mode == self.TIMES else self._adjoint_times(x) - @property - def domain(self): - return self._domain - - @property - def target(self): - return self._target - @property def capability(self): return self.TIMES | self.ADJOINT_TIMES diff --git a/nifty5/operators/domain_distributor.py b/nifty5/operators/domain_distributor.py index eb1899c76..08939a45f 100644 --- a/nifty5/operators/domain_distributor.py +++ b/nifty5/operators/domain_distributor.py @@ -36,14 +36,6 @@ class DomainDistributor(LinearOperator): if i in self._spaces] self._domain = DomainTuple.make(self._domain) - @property - def domain(self): - return self._domain - - @property - def target(self): - return self._target - def apply(self, x, mode): self._check_input(x, mode) if mode == self.TIMES: diff --git a/nifty5/operators/endomorphic_operator.py b/nifty5/operators/endomorphic_operator.py index 081742441..56e65b039 100644 --- a/nifty5/operators/endomorphic_operator.py +++ b/nifty5/operators/endomorphic_operator.py @@ -38,7 +38,7 @@ class EndomorphicOperator(LinearOperator): Returns `self.domain`, because this is also the target domain for endomorphic operators.""" - return self.domain + return self._domain def draw_sample(self, from_inverse=False, dtype=np.float64): """Generate a zero-mean sample diff --git a/nifty5/operators/energy_operators.py b/nifty5/operators/energy_operators.py index bf779728d..dc5c75e94 100644 --- a/nifty5/operators/energy_operators.py +++ b/nifty5/operators/energy_operators.py @@ -33,20 +33,12 @@ from .simple_linear_operators import VdotOperator class EnergyOperator(Operator): _target = DomainTuple.scalar_domain() - @property - def target(self): - return EnergyOperator._target - class SquaredNormOperator(EnergyOperator): def __init__(self, domain): super(SquaredNormOperator, self).__init__() self._domain = domain - @property - def domain(self): - return self._domain - def apply(self, x): if isinstance(x, Linearization): val = Field(self._target, x.val.vdot(x.val)) @@ -62,10 +54,7 @@ class QuadraticFormOperator(EnergyOperator): if not isinstance(op, EndomorphicOperator): raise TypeError("op must be an EndomorphicOperator") self._op = op - - @property - def domain(self): - return self._op.domain + self._domain = op.domain def apply(self, x): if isinstance(x, Linearization): @@ -102,10 +91,6 @@ class GaussianEnergy(EnergyOperator): if self._domain is not newdom: raise ValueError("domain mismatch") - @property - def domain(self): - return self._domain - def apply(self, x): residual = x if self._mean is None else x-self._mean res = self._op(residual) @@ -118,10 +103,7 @@ class GaussianEnergy(EnergyOperator): class PoissonianEnergy(EnergyOperator): def __init__(self, op, d): self._op, self._d = op, d - - @property - def domain(self): - return self._op.domain + self._domain = d.domain def apply(self, x): x = self._op(x) @@ -136,10 +118,7 @@ class BernoulliEnergy(EnergyOperator): def __init__(self, p, d): self._p = p self._d = d - - @property - def domain(self): - return self._p.domain + self._domain = d.domain def apply(self, x): x = self._p(x) @@ -157,10 +136,7 @@ class Hamiltonian(EnergyOperator): self._lh = lh self._prior = GaussianEnergy(domain=lh.domain) self._ic_samp = ic_samp - - @property - def domain(self): - return self._lh.domain + self._domain = lh.domain def apply(self, x): if self._ic_samp is None or not isinstance(x, Linearization): @@ -182,12 +158,9 @@ class SampledKullbachLeiblerDivergence(EnergyOperator): """ super(SampledKullbachLeiblerDivergence, self).__init__() self._h = h + self._domain = h.domain self._res_samples = tuple(res_samples) - @property - def domain(self): - return self._h.domain - def apply(self, x): res = (utilities.my_sum(map(lambda v: self._h(x+v), self._res_samples)) * (1./len(self._res_samples))) diff --git a/nifty5/operators/exp_transform.py b/nifty5/operators/exp_transform.py index c4fbcad89..db12ba311 100644 --- a/nifty5/operators/exp_transform.py +++ b/nifty5/operators/exp_transform.py @@ -84,14 +84,6 @@ class ExpTransform(LinearOperator): self._domain[self._space] = log_space self._domain = DomainTuple.make(self._domain) - @property - def domain(self): - return self._domain - - @property - def target(self): - return self._target - def apply(self, x, mode): self._check_input(x, mode) x = x.val diff --git a/nifty5/operators/field_zero_padder.py b/nifty5/operators/field_zero_padder.py index d3afb12bb..b0f67daa4 100644 --- a/nifty5/operators/field_zero_padder.py +++ b/nifty5/operators/field_zero_padder.py @@ -31,14 +31,6 @@ class FieldZeroPadder(LinearOperator): self._target[self._space] = tgt self._target = DomainTuple.make(self._target) - @property - def domain(self): - return self._domain - - @property - def target(self): - return self._target - @property def capability(self): return self.TIMES | self.ADJOINT_TIMES diff --git a/nifty5/operators/harmonic_operators.py b/nifty5/operators/harmonic_operators.py index 6eeb5b434..e07d3da10 100644 --- a/nifty5/operators/harmonic_operators.py +++ b/nifty5/operators/harmonic_operators.py @@ -127,14 +127,6 @@ class FFTOperator(LinearOperator): fct *= self._target[self._space].scalar_dvol return Tval if fct == 1 else Tval*fct - @property - def domain(self): - return self._domain - - @property - def target(self): - return self._target - @property def capability(self): return self._all_ops @@ -247,14 +239,6 @@ class HartleyOperator(LinearOperator): fct = self._target[self._space].scalar_dvol return Tval if fct == 1 else Tval*fct - @property - def domain(self): - return self._domain - - @property - def target(self): - return self._target - @property def capability(self): return self._all_ops @@ -367,14 +351,6 @@ class SHTOperator(LinearOperator): odat = dobj.redistribute(odat, dist=dobj.distaxis(x.val)) return Field(tdom, odat) - @property - def domain(self): - return self._domain - - @property - def target(self): - return self._target - @property def capability(self): return self.TIMES | self.ADJOINT_TIMES @@ -421,19 +397,13 @@ class HarmonicTransformOperator(LinearOperator): self._op = HartleyOperator(domain, target, space) else: self._op = SHTOperator(domain, target, space) + self._domain = self._op.domain + self._target = self._op.target def apply(self, x, mode): self._check_input(x, mode) return self._op.apply(x, mode) - @property - def domain(self): - return self._op.domain - - @property - def target(self): - return self._op.target - @property def capability(self): return self.TIMES | self.ADJOINT_TIMES diff --git a/nifty5/operators/inversion_enabler.py b/nifty5/operators/inversion_enabler.py index ba9fff48a..9b7cc7654 100644 --- a/nifty5/operators/inversion_enabler.py +++ b/nifty5/operators/inversion_enabler.py @@ -55,10 +55,7 @@ class InversionEnabler(EndomorphicOperator): self._op = op self._ic = iteration_controller self._approximation = approximation - - @property - def domain(self): - return self._op.domain + self._domain = op.domain @property def capability(self): diff --git a/nifty5/operators/laplace_operator.py b/nifty5/operators/laplace_operator.py index 0725d8ea3..a779b9279 100644 --- a/nifty5/operators/laplace_operator.py +++ b/nifty5/operators/laplace_operator.py @@ -68,10 +68,6 @@ class LaplaceOperator(EndomorphicOperator): self._dposc[1:] += self._dpos self._dposc *= 0.5 - @property - def domain(self): - return self._domain - @property def capability(self): return self.TIMES | self.ADJOINT_TIMES diff --git a/nifty5/operators/mask_operator.py b/nifty5/operators/mask_operator.py index 84b15e3cb..6cc700f2f 100644 --- a/nifty5/operators/mask_operator.py +++ b/nifty5/operators/mask_operator.py @@ -59,11 +59,3 @@ class MaskOperator(LinearOperator): @property def capability(self): return self.TIMES | self.ADJOINT_TIMES - - @property - def domain(self): - return self._domain - - @property - def target(self): - return self._target diff --git a/nifty5/operators/operator.py b/nifty5/operators/operator.py index 88efbbf79..24b5e4357 100644 --- a/nifty5/operators/operator.py +++ b/nifty5/operators/operator.py @@ -15,14 +15,14 @@ class Operator(NiftyMetaBase()): """DomainTuple or MultiDomain : the operator's input domain The domain on which the Operator's input Field lives.""" - raise NotImplementedError + return self._domain @property def target(self): """DomainTuple or MultiDomain : the operator's output domain The domain on which the Operator's output Field lives.""" - raise NotImplementedError + return self._target def scale(self, factor): if factor == 1: @@ -73,17 +73,9 @@ for f in ["sqrt", "exp", "log", "tanh", "positive_tanh"]: class _FunctionApplier(Operator): def __init__(self, domain, funcname): from ..sugar import makeDomain - self._domain = makeDomain(domain) + self._domain = self._target = makeDomain(domain) self._funcname = funcname - @property - def domain(self): - return self._domain - - @property - def target(self): - return self._domain - def apply(self, x): return getattr(x, self._funcname)() @@ -114,14 +106,8 @@ class _CombinedOperator(Operator): class _OpChain(_CombinedOperator): def __init__(self, ops, _callingfrommake=False): super(_OpChain, self).__init__(ops, _callingfrommake) - - @property - def domain(self): - return self._ops[-1].domain - - @property - def target(self): - return self._ops[0].target + self._domain = self._ops[-1].domain + self._target = self._ops[0].target def apply(self, x): for op in reversed(self._ops): @@ -132,14 +118,8 @@ class _OpChain(_CombinedOperator): class _OpProd(_CombinedOperator): def __init__(self, ops, _callingfrommake=False): super(_OpProd, self).__init__(ops, _callingfrommake) - - @property - def domain(self): - return self._ops[0].domain - - @property - def target(self): - return self._ops[0].target + self._domain = self._ops[0].domain + self._target = self._ops[0].target def apply(self, x): return my_product(map(lambda op: op(x), self._ops)) @@ -151,13 +131,5 @@ class _OpSum(_CombinedOperator): self._domain = domain_union([op.domain for op in self._ops]) self._target = domain_union([op.target for op in self._ops]) - @property - def domain(self): - return self._domain - - @property - def target(self): - return self._target - def apply(self, x): raise NotImplementedError diff --git a/nifty5/operators/operator_adapter.py b/nifty5/operators/operator_adapter.py index 310a56b66..6d4d79c38 100644 --- a/nifty5/operators/operator_adapter.py +++ b/nifty5/operators/operator_adapter.py @@ -50,14 +50,8 @@ class OperatorAdapter(LinearOperator): self._trafo = int(op_transform) if self._trafo < 1 or self._trafo > 3: raise ValueError("invalid operator transformation") - - @property - def domain(self): - return self._op._dom(1 << self._trafo) - - @property - def target(self): - return self._op._tgt(1 << self._trafo) + self._domain = self._op._dom(1 << self._trafo) + self._target = self._op._tgt(1 << self._trafo) @property def capability(self): diff --git a/nifty5/operators/qht_operator.py b/nifty5/operators/qht_operator.py index d60bb1248..b2d0f07b3 100644 --- a/nifty5/operators/qht_operator.py +++ b/nifty5/operators/qht_operator.py @@ -60,14 +60,6 @@ class QHTOperator(LinearOperator): self._target[self._space].get_default_codomain() self._domain = DomainTuple.make(self._domain) - @property - def domain(self): - return self._domain - - @property - def target(self): - return self._target - def apply(self, x, mode): self._check_input(x, mode) dom = self._domain[self._space] diff --git a/nifty5/operators/relaxed_sum_operator.py b/nifty5/operators/relaxed_sum_operator.py index 4b52cea43..fb4d6117d 100644 --- a/nifty5/operators/relaxed_sum_operator.py +++ b/nifty5/operators/relaxed_sum_operator.py @@ -46,14 +46,6 @@ class RelaxedSumOperator(LinearOperator): # else: # self._ops += [op] - @property - def domain(self): - return self._domain - - @property - def target(self): - return self._target - @property def adjoint(self): return RelaxedSumOperator([op.adjoint for op in self._ops]) diff --git a/nifty5/operators/sampling_enabler.py b/nifty5/operators/sampling_enabler.py index f2666db20..728f4ad86 100644 --- a/nifty5/operators/sampling_enabler.py +++ b/nifty5/operators/sampling_enabler.py @@ -56,6 +56,7 @@ class SamplingEnabler(EndomorphicOperator): self._prior = prior self._ic = iteration_controller self._approximation = approximation + self._domain = self._op.domain def draw_sample(self, from_inverse=False, dtype=np.float64): try: @@ -76,10 +77,6 @@ class SamplingEnabler(EndomorphicOperator): energy, convergence = inverter(energy) return energy.position - @property - def domain(self): - return self._op.domain - @property def capability(self): return self._op.capability diff --git a/nifty5/operators/sandwich_operator.py b/nifty5/operators/sandwich_operator.py index 480e098db..76ea55a50 100644 --- a/nifty5/operators/sandwich_operator.py +++ b/nifty5/operators/sandwich_operator.py @@ -38,6 +38,7 @@ class SandwichOperator(EndomorphicOperator): self._bun = bun self._cheese = cheese self._op = op + self._domain = op.domain @staticmethod def make(bun, cheese=None): @@ -65,10 +66,6 @@ class SandwichOperator(EndomorphicOperator): return op return SandwichOperator(bun, cheese, op, _callingfrommake=True) - @property - def domain(self): - return self._op.domain - @property def capability(self): return self._op.capability diff --git a/nifty5/operators/scaling_operator.py b/nifty5/operators/scaling_operator.py index 371b5b440..b3d5e5d42 100644 --- a/nifty5/operators/scaling_operator.py +++ b/nifty5/operators/scaling_operator.py @@ -82,10 +82,6 @@ class ScalingOperator(EndomorphicOperator): fct = 1./fct return ScalingOperator(fct, self._domain) - @property - def domain(self): - return self._domain - @property def capability(self): return self._all_ops diff --git a/nifty5/operators/simple_linear_operators.py b/nifty5/operators/simple_linear_operators.py index bef589f75..cb047d324 100644 --- a/nifty5/operators/simple_linear_operators.py +++ b/nifty5/operators/simple_linear_operators.py @@ -35,16 +35,9 @@ class VdotOperator(LinearOperator): def __init__(self, field): super(VdotOperator, self).__init__() self._field = field + self._domain = field.domain self._target = DomainTuple.scalar_domain() - @property - def domain(self): - return self._field.domain - - @property - def target(self): - return self._target - @property def capability(self): return self.TIMES | self.ADJOINT_TIMES @@ -62,14 +55,6 @@ class SumReductionOperator(LinearOperator): self._domain = domain self._target = DomainTuple.scalar_domain() - @property - def domain(self): - return self._domain - - @property - def target(self): - return self._target - @property def capability(self): return self.TIMES | self.ADJOINT_TIMES @@ -86,10 +71,6 @@ class ConjugationOperator(EndomorphicOperator): super(ConjugationOperator, self).__init__() self._domain = domain - @property - def domain(self): - return self._domain - @property def capability(self): return self._all_ops @@ -104,10 +85,6 @@ class Realizer(EndomorphicOperator): super(Realizer, self).__init__() self._domain = domain - @property - def domain(self): - return self._domain - @property def capability(self): return self.TIMES | self.ADJOINT_TIMES @@ -123,14 +100,6 @@ class FieldAdapter(LinearOperator): self._name = name_dom self._target = dom[name_dom] - @property - def domain(self): - return self._domain - - @property - def target(self): - return self._target - @property def capability(self): return self.TIMES | self.ADJOINT_TIMES @@ -167,14 +136,6 @@ class GeometryRemover(LinearOperator): target_list = [UnstructuredDomain(dom.shape) for dom in self._domain] self._target = DomainTuple.make(target_list) - @property - def domain(self): - return self._domain - - @property - def target(self): - return self._target - @property def capability(self): return self.TIMES | self.ADJOINT_TIMES @@ -216,14 +177,6 @@ class NullOperator(LinearOperator): return self._nullfield(self._target) return self._nullfield(self._domain) - @property - def domain(self): - return self._domain - - @property - def target(self): - return self._target - @property def capability(self): return self.TIMES | self.ADJOINT_TIMES diff --git a/nifty5/operators/slope_operator.py b/nifty5/operators/slope_operator.py index dadee40c0..618b022c8 100644 --- a/nifty5/operators/slope_operator.py +++ b/nifty5/operators/slope_operator.py @@ -56,14 +56,6 @@ class SlopeOperator(LinearOperator): self.pos[i] += tmp.reshape( (1,)*i + (shape[i],) + (1,)*(self.ndim-i-1)) - @property - def domain(self): - return self._domain - - @property - def target(self): - return self._target - def apply(self, x, mode): self._check_input(x, mode) diff --git a/nifty5/operators/sum_operator.py b/nifty5/operators/sum_operator.py index a2b9ffe6c..de43f1650 100644 --- a/nifty5/operators/sum_operator.py +++ b/nifty5/operators/sum_operator.py @@ -159,14 +159,6 @@ class SumOperator(LinearOperator): return ops[0] return SumOperator(ops, neg, dom, tgt, _callingfrommake=True) - @property - def domain(self): - return self._domain - - @property - def target(self): - return self._target - @property def adjoint(self): return self.make([op.adjoint for op in self._ops], self._neg) diff --git a/nifty5/operators/symmetrizing_operator.py b/nifty5/operators/symmetrizing_operator.py index a8c9e49ed..5c4d6276a 100644 --- a/nifty5/operators/symmetrizing_operator.py +++ b/nifty5/operators/symmetrizing_operator.py @@ -35,10 +35,6 @@ class SymmetrizingOperator(EndomorphicOperator): if not (isinstance(dom, LogRGSpace) and not dom.harmonic): raise TypeError("nonharmonic LogRGSpace needed") - @property - def domain(self): - return self._domain - def apply(self, x, mode): self._check_input(x, mode) tmp = x.val.copy() -- GitLab