FunctionalLeftVectorMult¶
-
class
odl.operator.operator.
FunctionalLeftVectorMult
(*args, **kwargs)[source]¶ Bases:
odl.operator.operator.Operator
Expression type for the functional left vector multiplication.
A functional is an
Operator
whoseOperator.range
is aField
. It is multiplied from left with aLinearSpaceElement
, resulting in an operator mapping from theOperator.domain
to the element’sLinearSpaceElement.space
.FunctionalLeftVectorMult(op, y)(x) == y * op(x)
- Attributes
adjoint
Adjoint of this operator.
domain
Set of objects on which this operator can be evaluated.
functional
The functional part of this multiplication.
inverse
Return the operator inverse.
is_functional
True
if this operator’s range is aField
.is_linear
True
if this operator is linear.range
Set in which the result of an evaluation of this operator lies.
vector
The element 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, functional, vector)[source]¶ Initialize a new instance.
- Parameters
- functional
Operator
Functional in the vector multiplication. Its
range
must be aField
.- vector
functional.range
element-like
The element to multiply with. Its space’s
LinearSpace.field
must be the same asfunctional.range
.
- functional
Examples
Create the operator
(y * y^T)(x) = y * <x, y>
>>> space = odl.rn(3) >>> y = space.element([1, 2, 3]) >>> functional = odl.InnerProductOperator(y) >>> left_mul_op = FunctionalLeftVectorMult(functional, y) >>> left_mul_op([1, 2, 3]) rn(3).element([ 14., 28., 42.])