pyproximal.GenericIntersectionProx¶
- class pyproximal.GenericIntersectionProx(projections: list[Callable[[ndarray[tuple[Any, ...], dtype[_ScalarT]]], ndarray[tuple[Any, ...], dtype[_ScalarT]]]], niter: int = 1000, tol: float = 1e-06, use_parallel: bool = False)[source]¶
The proximal operator corresponding to the convex projection to the intersection of convex sets using Dykstra’s algorithm.
- Parameters:
- projections
list A list of projection functions \(P_1, \ldots, P_m\).
- niter
int, optional, default=1000 The maximum number of iterations.
- tol
float, optional, default=1e-6 Tolerance on change of the solution (used as stopping criterion). If
tol=0, run untilniteris reached.- use_parallel
bool, optional, default=False If True, use the parallel version when $m=2$.
- projections
See also
pyproximal.projection.GenericIntersectionProjThe corresponding convex projection.
Notes
As the intersection of convex sets is an indicator function, the proximal operator corresponds to its convex projection (see
pyproximal.projection.GenericIntersectionProjfor details).Methods
__init__(projections[, niter, tol, use_parallel])affine_addition(v)Affine addition
chain(g)Chain
grad(x)Gradient of the Moreau envelope of the function.
postcomposition(sigma)Postcomposition
precomposition(a, b)Precomposition
prox(**kwargs)proxdual(**kwargs)