pyproximal.projection.L1BallProjยถ

class pyproximal.projection.L1BallProj(n: int, radius: float, maxiter: int = 100, xtol: float = 1e-05)[source]ยถ

\(L_1\) ball projection.

Parameters:
nint

Number of elements of input vector

radiusfloat

Radius

maxiterint, optional

Maximum number of iterations used by scipy.optimize.bisect

xtolfloat, optional

Absolute tolerance of scipy.optimize.bisect

Notes

Given an L1 ball defined as:

\[L1_{r} = \{ \mathbf{x}: ||\mathbf{x}||_1 \leq r \}\]

its orthogonal projection is:

\[P_{L1_{r}} (\mathbf{x}) = sign(\mathbf{x}) P_{\operatorname{Simplex}(r)}(\mathbf{x})\]

Note that this is the proximal operator of the corresponding indicator function \(\mathcal{I}_{L1_{r}}\).

Methods

__init__(n, radius[, maxiter, xtol])