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