FunctionalLeftVectorMult¶
- class odl.operator.operator.FunctionalLeftVectorMult(*args, **kwargs)[source]¶
Bases:
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__
(x[, out])Return
self(x[, out, **kwargs])
.derivative
(x)Return the derivative at
x
.norm
([estimate])Return the operator norm of this operator.
- __init__(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.])