IndicatorSumConstraint¶
- class odl.solvers.functional.default_functionals.IndicatorSumConstraint(*args, **kwargs)[source]¶
Bases:
Functional
Indicator functional of a unit sum constraint.
Notes
The functional is given by:
- Attributes:
adjoint
Adjoint of this operator (abstract).
convex_conj
The convex conjugate.
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 aField
.is_linear
True
if this operator is linear.proximal
Return the
proximal factory
of the functional.range
Set in which the result of an evaluation of this operator lies.
Methods
__call__
(x[, out])Return
self(x[, out, **kwargs])
.bregman
(point, subgrad)Return the Bregman distance functional.
derivative
(point)Return the derivative operator in the given point.
norm
([estimate])Return the operator norm of this operator.
translated
(shift)Return a translation of the functional.
- __init__(space, sum_value=1, sum_rtol=None)[source]¶
Initialize a new instance.
- Parameters:
- space
DiscretizedSpace
orTensorSpace
Domain of the functional.
- sum_valuefloat
Desired value of the sum constraint.
- sum_rtolfloat, optional
Relative tolerance for sum comparison. If set to None, the default is
space.size
times1e-10
whenspace.dtype
isfloat64
and1e-6
otherwise.
- space
Examples
Example where a point does not have unit sum ...
>>> space = odl.rn(3) >>> ind_sum = IndicatorSumConstraint(space) >>> x = space.one() >>> ind_sum(x) inf
... and one where it does.
>>> x /= x.ufuncs.sum() >>> ind_sum(x) 0