IndicatorBox

class odl.functionals.default_functionals.IndicatorBox(*args, **kwargs)[source]

Bases: Functional

Indicator on some box shaped domain.

Notes

The indicator F with lower bound a and upper bound b is defined as:

F(x) = \begin{cases}
    0 & \text{if } a \leq x \leq b \text{ everywhere}, \\
    \infty & \text{else}
    \end{cases}

__init__(space, lower=None, upper=None)[source]

Initialize an instance.

Parameters

spaceLinearSpace

Domain of the functional.

lowerspace.field element or space element-like, optional

The lower bound. Default: None, interpreted as -infinity

upperspace.field element or space element-like, optional

The upper bound. Default: None, interpreted as +infinity

Examples

>>> space = odl.rn(3)
>>> func = IndicatorBox(space, 0, 2)
>>> func([0, 1, 2])  # all points inside
0
>>> func([0, 1, 3])  # one point outside
inf