FunctionalProduct¶
- class odl.solvers.functional.functional.FunctionalProduct(*args, **kwargs)[source]¶
Bases:
Functional,OperatorPointwiseProductProduct
p(x) = f(x) * g(x)of two functionalsfandg.- Attributes:
adjointAdjoint of this operator (abstract).
convex_conjConvex conjugate functional of the functional.
domainSet of objects on which this operator can be evaluated.
grad_lipschitzLipschitz constant for the gradient of the functional.
gradientGradient operator of the functional.
inverseReturn the operator inverse.
is_functionalTrueif this operator's range is aField.is_linearTrueif this operator is linear.leftThe left/first part of this multiplication.
proximalProximal factory of the functional.
rangeSet in which the result of an evaluation of this operator lies.
rightThe left/second part of this multiplication.
Methods
__call__(x[, out])Return
self(x[, out, **kwargs]).bregman(point, subgrad)Return the Bregman distance functional.
derivative(point)Return the derivative operator in the given point.
norm([estimate])Return the operator norm of this operator.
translated(shift)Return a translation of the functional.
- __init__(left, right)[source]¶
Initialize a new instance.
- Parameters:
- left, right
Functional Functionals in the product. Need to have matching domains.
- left, right
Examples
Construct the functional || . ||_2^2 * 3
>>> space = odl.rn(2) >>> func1 = odl.solvers.L2NormSquared(space) >>> func2 = odl.solvers.ConstantFunctional(space, 3) >>> prod = odl.solvers.FunctionalProduct(func1, func2) >>> prod([2, 3]) # expect (2**2 + 3**2) * 3 = 39 39.0