Mixed l2/l1 norm


  1. I am struggling to implement \ell_2/\ell_1 norm as a cost (objective to be minimized) in CVX. The norm for \mathbf{x}\in\mathbb{R}^{2N\times 1} is defined as
    \|\mathbf{x}\|_{2,1}=\sum_{i=1}^N \sqrt{ x_i^2+x_{N+i}^2}.

The complete problem that I am trying to solve is

\min. \|\mathbf{x}\|_{2,1}
\textrm{s.t.} \|\mathbf{y}-\mathbf{\Phi}\mathbf{x}\|\leq\epsilon.

No matter, what I try, I am unable to get rid of errors in CVX.

  1. The final problem that I have to solve is complex (i.e., \mathbf{x}\in\mathbb{C}^{2N\times 1}), and I am guessing that for complex the norm will be defined as
    \|\mathbf{x}\|_{2,1}=\sum_{i=1}^N \sqrt{ |x_i|^2+|x_{N+i}|^2}. Please excuse my ignorance, but is this norm convex in \mathbf{x}?


Your 2,1 norm is just the sum of (quantity) N separable (variables) 2 norms, so is convex.

I will just give you a simple code extract for the case of N = 2, and let you make it general and efficient

variable x(4)
s.t. put your constraints here

This executes without error for me. You don’t want to be trying to do the square root and such “by yourself”, nor is there any need to as I just showed.