Comfused with the argument of norm to make the function convex

norm(pos(x)) violates CVX 2.2’s DCP rules. However, I believe that would be accepted by CVX 3.0beta, based on sign-dependent monotonicity which is not exploited in CVX 2.2. Unfortunately, CVX 3.0beta is riddled with bugs, so I don’t recommend using it.

As a workaround in CVX 2.2, you can do the following, even when x >= 0 does not hold.

cvx_begin
variables x(2) t
minimize(norm(t))
pos(x) <= t
<insert other constraints to make the problem less trivial>
cvx_end

norm(exp(x)) apparently is accepted by CVX 2.2 based on being log-affine .This is somewhat obscure, but see Log of sigmoid function