pyproximal.projection.L1BallProj#

class pyproximal.projection.L1BallProj(n, radius, maxiter=100, xtol=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])