how to be expressed by cvx？

Assume

\begin{array}{l}
A = ay + x,\\
B = cy + x,\\
\therefore x\log \left( {\frac{{ay + x}}{{cy + x}}} \right) = \left( {\frac{{A - \frac{a}{c}B}}{{1 - \frac{a}{c}}}} \right)\log \left( {\frac{A}{B}} \right)
\end{array}

then you have terms like B\log \left( {\frac{A}{B}} \right) and A\log \left( {\frac{A}{B}} \right), those two can be expressed by `-rel_entr(B,A)`

and `rel_entr(A,B)`

respectively, then replace A and B back with the equations above. It **might** work.

2 Likes

@jackfsuia Very nice. This will be accepted by CVX as a concave expression.

`1/(1-a/c)*(rel_entr(a*y+x,c*y+x)+a/c*rel_entr(c*y+x,a*y+x))`

This would also work as a convex expression if `0 < a < c`

.

2 Likes

Very beautiful.that is great. Thank you very much.