OperatorRightScalarMult

class odl.operator.operator.OperatorRightScalarMult(*args, **kwargs)[source]

Bases: odl.operator.operator.Operator

Expression type for the operator right scalar multiplication.

OperatorRightScalarMult(op, s) == op(s * x)

The scalar multiplication is well-defined only if op.domain is a LinearSpace.

Attributes
adjoint

Adjoint of this operator.

domain

Set of objects on which this operator can be evaluated.

inverse

Inverse of this operator.

is_functional

True if this operator’s range is a Field.

is_linear

True if this operator is linear.

operator

The operator part of this multiplication.

range

Set in which the result of an evaluation of this operator lies.

scalar

The scalar part of this multiplication.

Methods

_call(self, x[, out])

Implement self(x[, out]).

derivative(self, x)

Return the derivative at x.

norm(self[, estimate])

Return the operator norm of this operator.

__init__(self, operator, scalar, tmp=None)[source]

Initialize a new OperatorLeftScalarMult instance.

Parameters
operatorOperator

Operator in the scalar multiplication. Its domain must be a LinearSpace or Field.

scalaroperator.range.field element

A real or complex number, depending on the field of the operator domain.

tmpdomain element, optional

Used to avoid the creation of a temporary when applying the operator.

Examples

>>> space = odl.rn(3)
>>> operator = odl.IdentityOperator(space)
>>> left_mul_op = OperatorRightScalarMult(operator, 3)
>>> left_mul_op([1, 2, 3])
rn(3).element([ 3.,  6.,  9.])