A problem with log functions

Hi, i’ve got a optimization problem, the objective function is convex by proof.

variables x(10)
minimize sum_square_(x) - log(sum_square(x)/sum_square_(x(1:9)))

However, it seems that “log(convex)” violates DCP, so is it possible to transform this problem into a tractable one? In other words, is it possible to use expressions like log(sum_square(x)) in cvx?

I’d love to see the proof that this is convex. I’m not buying it. But regardless, there is absolutely no way CVX will be able to solve it.

For a simpler problem, consider such a function x^2-log(1+x^2). This function is convex, because t-log(t+1) is convex and increasing when t>0 and x^2 is convex and greater than zero. CVX could not solve this problem either.

I agree that this simpler function is convex. But it does not matter. We do not claim CVX can solve any convex problem; it only solves those that can be proven convex by application of the DCP rules. That is a fundamental aspect of its design, as well as the design of the solvers it uses.

Thanks :slight_smile: