diff options
author | Edoardo Pasca <edo.paskino@gmail.com> | 2019-03-06 22:14:37 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-03-06 22:14:37 +0000 |
commit | d9994f9e1576c82e92bfe2684e11d2d768e95046 (patch) | |
tree | 9df6d2e77e428d2904f3fe108e4cf165aeec530d | |
parent | 19ac4b3258adc33bb817cad5bdc4d7cd7799299b (diff) | |
download | framework-d9994f9e1576c82e92bfe2684e11d2d768e95046.tar.gz framework-d9994f9e1576c82e92bfe2684e11d2d768e95046.tar.bz2 framework-d9994f9e1576c82e92bfe2684e11d2d768e95046.tar.xz framework-d9994f9e1576c82e92bfe2684e11d2d768e95046.zip |
created ScaledOperator.py
-rw-r--r-- | Wrappers/Python/ccpi/optimisation/operators/ScaledOperator.py | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/Wrappers/Python/ccpi/optimisation/operators/ScaledOperator.py b/Wrappers/Python/ccpi/optimisation/operators/ScaledOperator.py new file mode 100644 index 0000000..c29effc --- /dev/null +++ b/Wrappers/Python/ccpi/optimisation/operators/ScaledOperator.py @@ -0,0 +1,14 @@ +from ccpi.optimisation.operators import LinearOperator +from numbers import Number + +class ScaledOperator(LinearOperator): + def __init__(self, operator, scalar): + if not isinstance (scalar, Number): + raise TypeError('expected scalar: got {}'.format(type(scalar)) + self.scalar = scalar + self.operator = operator + def direct(self, x, out=None): + return self.scalar * self.operator.direct(x, out=out) + def adjoint(self, x, out=None): + if self.operator.is_linear(): + return self.scalar * self.operator.adjoint(x, out=out) |