PROJ_B2 - Projection onto a L2-ball

Usage

sol=proj_b2(x, ~, param)
[sol, infos]=proj_b2(x, ~, param)

Input parameters

x Input signal.
param Structure of optional parameters.

Output parameters

sol Solution.
info Structure summarizing informations at convergence

Description

proj_b2(x,~,param) solves:

\begin{equation*} sol = arg \min_z ||x - z||_2^2 \hspace{1cm} s.t. \hspace{1cm} \|y - A z\|_2 <= \epsilon \end{equation*}

Remark: the projection is the proximal operator of the indicative function of \(||y - A z||_2 < \epsilon\). So it can be written:

\begin{equation*} prox_{f, \gamma }(x) \hspace{1cm} where \hspace{1cm} f= i_c(\|y - A z\|_2 <= \epsilon) \end{equation*}

param is a Matlab structure containing the following fields:

  • param.y : measurements (default: 0).
  • param.A : Forward operator (default: Id).
  • param.At : Adjoint operator (default: Id).
  • param.epsilon : Radius of the L2 ball (default = 1e-3).
  • param.tight : 1 if A is a tight frame or 0 if not (default = 0)
  • param.nu : bound on the norm of the operator A (default: 1), i.e.
\begin{equation*} \|A x\|^2 \leq \nu \|x\|^2 \end{equation*}
  • param.tol : tolerance for the projection onto the L2 ball (default: 1e-3) . The algorithms stops if
\begin{equation*} \frac{\epsilon}{1-tol} \leq \|y - A z\|_2 \leq \frac{\epsilon}{1+tol} \end{equation*}
  • param.maxit : max. nb. of iterations (default: 200).
  • param.method : is the method used to solve the problem. It can be 'FISTA' or
    'ISTA'. By default, it's 'FISTA'.
  • param.verbose : 0 no log, 1 a summary at convergence, 2 print main steps (default: 1)

info is a Matlab structure containing the following fields:

  • info.algo : Algorithm used
  • info.iter : Number of iteration
  • info.time : Time of execution of the function in sec.
  • info.final_eval : Final evaluation of the function
  • info.crit : Stopping critterion used
  • info.residue : Final residue

Rem: The input "~" is useless but needed for compatibility issue.

References:

M. Fadili and J. Starck. Monotone operator splitting for optimization problems in sparse recovery. In Image Processing (ICIP), 2009 16th IEEE International Conference on, pages 1461--1464. IEEE, 2009.