pyproximal.projection.IntersectionProj¶
- class pyproximal.projection.IntersectionProj(k: int, n: int, sigma: float | ndarray[tuple[Any, ...], dtype[_ScalarT]], niter: int = 100, tol: float = 1e-05)[source]¶
Intersection of multiple convex sets
- Parameters:
- k
int Size of vector to be projected
- n
int Number of vectors to be projected simultaneously
- sigma
numpy.ndarray Matrix of distances of size \(k \times k\)
- niter
int, optional Number of iterations
- tol
float, optional Tolerance of update
- k
Notes
Given an Intersection of simple sets defined as:
\[K = \bigcap_{1 \leq i_1 < i_2 \leq k} K_{i_1,i_2}, \quad K_{i_1,i_2}= \{ \mathbf{x}: |x_{i_2} - x_{i_1}| \leq \sigma_{i1, i2} \}\]its orthogonal projection can be obtained using the Dykstra’s algorithm [1].
[1]A., Chambolle, D., Cremers, and T., Pock, “A Convex Approach to Minimal Partitions”, Journal of Mathematical, 2011.
Methods
__init__(k, n, sigma[, niter, tol])