Skip to content
Snippets Groups Projects
Commit c803a3ec authored by Martin Reinecke's avatar Martin Reinecke
Browse files

efficiency tweaks

parent 151d7b24
No related branches found
No related tags found
No related merge requests found
Pipeline #
......@@ -99,6 +99,14 @@ class ChainOperator(LinearOperator):
def target(self):
return self._ops[0].target
@property
def inverse(self):
return self.make([op.inverse for op in reversed(self._ops)])
@property
def adjoint(self):
return self.make([op.adjoint for op in reversed(self._ops)])
@property
def capability(self):
return self._capability
......
......@@ -81,8 +81,7 @@ class ScalingOperator(EndomorphicOperator):
def capability(self):
if self._factor == 0.:
return self.TIMES | self.ADJOINT_TIMES
return (self.TIMES | self.ADJOINT_TIMES |
self.INVERSE_TIMES | self.ADJOINT_INVERSE_TIMES)
return self._all_ops
def draw_sample(self):
return Field.from_random(random_type="normal",
......
......@@ -122,6 +122,10 @@ class SumOperator(LinearOperator):
def target(self):
return self._ops[0].target
@property
def adjoint(self):
return self.make([op.adjoint for op in self._ops], self._neg)
@property
def capability(self):
return self._capability
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment