I am regenerating the results of a paper published in IEEE transactions in wireless communications where they used CVX to solve a convex optimization problem. They are minimizing the following function

Minimize

log_2 (1+\frac{\alpha}{b^H X b +1})+ \lambda. tr(X)
S.T.:
X is a postive semi-definite matrix (covariance matrix).

where \alpha and \lambda are constant scalars. and b is a constant vector.

The above problem is convex. Since X is positive semi-definite, therefore b^H X b > 0.

I tried many ways to formulate this problem using CVX. However, none of them succeeded. e.g.

@Marc , I don’t see you to get -log(x/(1+x)) accepted by CVX. Specifically, x/(1+x) is indeed concave for x > 0, but I don’t see how to get it accepted.

@mohamedmarzban ,log(1+1/x) is convex for x > 0, but I don’'t know how it can be entered in CVX, and suspect it can not. Perhaps you can email the article authors and inquire how they used CVX.

Oops, sorry, I didn’t scroll down enough. I see you’ve already reached out to them.

Frankly, while I greatly appreciate all of the citations for CVX in academic papers, I find that this kind of situation happens quite often—authors do not publish the models they use, so there’s no way to reproduce their work.

However, in Writing x*log(1+x/y) ,the wizard of conic reformulation,@Michal_Adamaszek
produced the result x*log(1+x/y) = rel_entr(x+y,y) + rel_entr(y,x+y)

Setting x = 1, then Interchanging the roles of x and y so as to match the problem in this thread, results in log(1 + 1/x) = rel_entr(x,x+1) + rel_entr(x+1,x)
The RHS is accepted by CVX, and as a bonus, is already in a form needed by CVXQUAD. It executes without error.

log(1+1/x) is convex. Therefore, using one of the reformulations shown in the preceding posts, it can be minimized.in CVX. But it can’t be maximized in CVX, because that would be a non-convex optimization problem.