FunctionalDefaultConvexConjugate

class odl.solvers.functional.functional.FunctionalDefaultConvexConjugate(*args, **kwargs)[source]

Bases: odl.solvers.functional.functional.Functional

The Functional representing F^*, the convex conjugate of F.

This class does not provide a way to evaluate the functional, it is rather intended to be used for its proximal.

Notes

The proximal is found by using the Moreau identity

\text{prox}_{\sigma F^*}(y) = y -
\sigma \text{prox}_{F / \sigma}(y / \sigma)

which allows the proximal of the convex conjugate to be calculated without explicit knowledge about the convex conjugate itself.

Attributes
adjoint

Adjoint of this operator (abstract).

convex_conj

The original 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 a Field.

is_linear

True if this operator is linear.

proximal

Proximal factory using the Moreu identity.

range

Set in which the result of an evaluation of this operator lies.

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, func)[source]

Initialize a new instance.

Parameters
funcFunctional

Functional corresponding to F.