InfimalConvolution¶
-
class
odl.solvers.functional.functional.
InfimalConvolution
(*args, **kwargs)[source]¶ Bases:
odl.solvers.functional.functional.Functional
Functional representing
h(x) = inf_y f(x-y) + g(y)
.- Attributes
adjoint
Adjoint of this operator (abstract).
convex_conj
Convex conjugate functional of the functional.
domain
Set of objects on which this operator can be evaluated.
grad_lipschitz
Lipschitz constant for the gradient of the functional.
gradient
Gradient operator of the functional.
inverse
Return the operator inverse.
is_functional
True
if this operator’s range is aField
.is_linear
True
if this operator is linear.left
Left functional.
proximal
Proximal factory of the functional.
range
Set in which the result of an evaluation of this operator lies.
right
Right functional.
Methods
_call
(self, x[, out])Implementation of the operator evaluation.
bregman
(self, point, subgrad)Return the Bregman distance functional.
derivative
(self, point)Return the derivative operator in the given point.
norm
(self[, estimate])Return the operator norm of this operator.
translated
(self, shift)Return a translation of the functional.
-
__init__
(self, left, right)[source]¶ Initialize a new instance.
- Parameters
- left
Functional
Function corresponding to
f
.- right
Functional
Function corresponding to
g
.
- left
Examples
>>> space = odl.rn(3) >>> l1 = odl.solvers.L1Norm(space) >>> l2 = odl.solvers.L2Norm(space) >>> f = odl.solvers.InfimalConvolution(l1.convex_conj, l2.convex_conj) >>> x = f.domain.one() >>> f.convex_conj(x) - (l1(x) + l2(x)) 0.0