# The solver is sdpt3. error: log(convex)

Hello, everyone. I have a very difficult problem. The target function I need to express is Rs(m,n), where t(m,n) is a variable and B(m,n) is the constant associated with the result of the previous subfunction.

Rs(m,n) = log(1+B(m,n)/t(m,n)).
max sum(sum(Rs))

For Rs, what I express in cvx is Rs(m,n) = -log(1-B(m,n)*pow_p(t(n)+B(m,n),-1)).
However, in the iterative process of n∈N=100, this expression will occasionally cause log (convex) error to terminate the iteration, but in the iterative process of n∈N=60, no error will be reported. The solver I use is sdpt3, I wonder why this is the case?

I know Rs can also be represented like this
Rs(m,n) = (rel_entr(B(m,n)+t(m,n),t(m,n))+rel_entr(t(m,n),B(m,n)+t(m,n)))/B(m,n),
but when the solver is mosek, there will be a situation where the opt value decreases at each iteration.

Unsafeguarded SCA is rot reliable or robust. There is no law of mathematics preventing the argument of log being convex in some iteration instead of concave, not is there any assurance the objective function won’t get worse from one iteration tr the next. Maybe you should used a high quality off-the-shelf non-convex nonlinear optimizer.