IndicatorSimplex¶
- class odl.solvers.functional.default_functionals.IndicatorSimplex(*args, **kwargs)[source]¶
Bases:
FunctionalIndicator functional of simplex.
Notes
The functional
is given by:
where
is the diameter.- Attributes:
adjointAdjoint of this operator (abstract).
convex_conjThe convex conjugate.
domainSet of objects on which this operator can be evaluated.
grad_lipschitzLipschitz constant for the gradient of the functional.
gradientGradient operator of the functional.
inverseReturn the operator inverse.
is_functionalTrueif this operator's range is aField.is_linearTrueif this operator is linear.proximalReturn the
proximal factoryof the functional.rangeSet 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, diameter=1, sum_rtol=None)[source]¶
Initialize a new instance.
- Parameters:
- space
DiscretizedSpaceorTensorSpace Domain of the functional.
- diameterpositive float, optional
Diameter of the simplex.
- sum_rtolfloat, optional
Relative tolerance for sum comparison. Default:
space.dtype == 'float64':1e-10 * space.sizeOtherwise:
1e-6 * space.size
- space
Examples
Example where a point lies outside the unit simplex ...
>>> space = odl.rn(3) >>> ind_simplex = IndicatorSimplex(space) >>> x = space.one() >>> ind_simplex(x) inf
... and one where it lies inside the unit simplex.
>>> x /= x.ufuncs.sum() >>> ind_simplex(x) 0