FunctionalLeftVectorMult¶
- class odl.operator.operator.FunctionalLeftVectorMult(*args, **kwargs)[source]¶
Bases:
OperatorExpression type for the functional left vector multiplication.
A functional is an
OperatorwhoseOperator.rangeis aField. It is multiplied from left with aLinearSpaceElement, resulting in an operator mapping from theOperator.domainto the element'sLinearSpaceElement.space.FunctionalLeftVectorMult(op, y)(x) == y * op(x)- Attributes:
adjointAdjoint of this operator.
domainSet of objects on which this operator can be evaluated.
functionalThe functional part of this multiplication.
inverseReturn the operator inverse.
is_functionalTrueif this operator's range is aField.is_linearTrueif this operator is linear.rangeSet in which the result of an evaluation of this operator lies.
vectorThe 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
rangemust be aField.- vector
functional.rangeelement-like The element to multiply with. Its space's
LinearSpace.fieldmust 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.])