# FunctionalComp¶

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

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
func`Functional`

The left (“outer”) operator

op`Operator`

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