FunctionalComp

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

Bases: odl.solvers.functional.functional.Functional, odl.operator.operator.OperatorComp

Composition of a functional with an operator.

Given a functional func and an operator op, such that the range of the operator is equal to the domain of the functional, this corresponds to the functional

(func * op)(x) == func(op(x)).

Attributes
adjoint

Adjoint of this operator.

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 of the compositon according to the chain rule.

inverse

Inverse of this operator.

is_functional

True if this operator’s range is a Field.

is_linear

True if this operator is linear.

left

The left/first part of this composition.

proximal

Proximal factory of the functional.

range

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

right

The left/second part of this composition.

Methods

_call(self, x[, out])

Implement self(x[, out]).

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

Initialize a new instance.

Parameters
funcFunctional

The left (“outer”) operator

opOperator

The right (“inner”) operator. Its range must coincide with the domain of func.