# How to handle square of norm operations in CVX

I want to solve a group Lasso minimization problem with optimization variable matrix \mathbf{W} \in \mathcal{C}^{N\times M} when there is a square of norm expression in the objective function but according to the DCP rules I can not use the square function of a norm operation (it gives a DCP error). How do we handle this problem in CVX since there are lots of optimization problem that they deal with square of norm?
Here is my objective function :

minimize ||\mathbf{HW-I_M}||_F^2+\sum_{i=1}^N ||\mathbf{w}_i||_2,

where $\mathbf{w}_i$s are the rows of \mathbf{W} and \mathbf{H} \in \mathcal{C}^{M\times N}.

currently I wrote the problem in Matlab as follows but I can not square the first norm expression.

%

cvx_begin

i=N;

j=M;

variable w(i,j) complex;

minimize( norm(H*w-I,‘fro’) + \lambda .*sum( norms(w,2,2) ) );

cvx_end

%

First of all: I would not square that term. You do not need to if you’re trying to do a tradeoff between the two norms. Solving the problem as written is equivalent to solving the squared version, albeit with a different version of \lambda. And squaring will just serve to make the problem less accurate to solve. See this discussion for more details.

But if you must, here are two choices:

square_pos(norm(H*w-I,'fro'))
sum_square(vec(H*w-I))


These functions are documented in the function reference guide.

To understand why the ruleset is rejecting your original try, see this section of the documentation.