KullbackLeiblerConvexConj

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

Bases: odl.solvers.functional.functional.Functional

The convex conjugate of Kullback-Leibler divergence functional.

See also

KullbackLeibler

convex conjugate functional

Notes

The functional F^* with prior g>=0 is given by:

F^*(x)
=
\begin{cases}
    \sum_{i} \left( -g_i \ln(1 - x_i) \right)
    & \text{if } x_i < 1 \forall i
    \\
    +\infty & \text{else}
\end{cases}

Attributes
adjoint

Adjoint of this operator (abstract).

convex_conj

The convex conjugate functional of the conjugate KL-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.

prior

The prior in convex conjugate Kullback-Leibler functional.

proximal

Return the proximal factory of the functional.

range

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

Methods

_call(self, x)

Return the value in the point x.

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, space, prior=None)[source]

Initialize a new instance.

Parameters
spaceDiscretizedSpace or TensorSpace

Domain of the functional.

priorspace element-like, optional

Depending on the context, the prior, target or data distribution. It is assumed to be nonnegative. Default: if None it is take as the one-element.