Mixed l2/l1 norm

Hi,

  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}?

Thanks!

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

cvx_begin
variable x(4)
minimize(norm(x(1:2:3))+norm(x(2:2:4)))
s.t. put your constraints here
cvx_end

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.