About function of log,can't solve


in my work,-log(x) is convex optimization,i use matlab’s cvx.

for example,minimize(norm(-log(x)));
x is matrix

but matlab said,error( ‘Disciplined convex programming error:\n Cannot perform the operation norm( {%s}, %g
)\n when the first argument is a matrix.’, cvx_class( xt ), p );
i don’t know why it can’t work,I ask for help

(Mark L. Stone) #2

help cvx/norm

Disciplined convex programming information:
    norm is convex, except when P<1, so an error will result if
    these non-convex "norms" are used within CVX expressions. norm 
    is nonmonotonic, so its input must be affine.

-log(x) us not affine.


{convex} - {convex} or {convex} + {convex} is a convex function?
and the matlab said , Illegal operation: {convex} - {convex}

should i transform the “{convex} - {convex}” to the full convex?and other way?

(Mark L. Stone) #5

In order to use CVX, you need to formulate a convex optimization problem. That means, among other things (constraints), your objective function needs to be convex.

{convex} + {convex} is convex. {convex} - {convex} may or may not be convex, so CVX rejects it