It seems that the argument of norm() must be affine. But I have tried two cases:

The first one:

cvx_begin

variable x

minimize( norm(pos(x)))

x >= 0

cvx_end

This case produces the following error message:

Cannot perform the operation norm( {convex}, 1 )

and the second one:

cvx_begin

variable x

minimize( norm(exp(x)))

x >= 0

cvx_end

This case works fine and it’s solved.

Although in these cases, the arguments of norm() are not affine, but I think both cases one and two meet the composition rules of DCP, why the first one cannot work and the second one works fine? Or maybe I have some misunderstanding of the rules.

My cvx version is Version 2.2, Build 1148.

BTW, I have checked both norm(pos(x)) and norm(exp(x)) on https://dcp.stanford.edu/analyzer, and I am sure that they are all convex functions.