That is incorrect, as you can easily see by plugging in some “random” values for a,b,x,y and seeing that the numerical values are not equal.
Presuming x
is the only CVX variable (or CVX expression), you can use the solution in my answer to your previous question at How to represent this expression in CVX - #6 by Mark_L_Stone by using a*y
in place of y and b*y
in place of A
, which yields
x*log(1+a*y/(b*y+x)) =
-rel_entr(x+b*y,x+b*y+a*y) - b*y*(rel_entr((x+b*y)/(a*y),(x+b*y)/(a*y)+1) + rel_entr((x+b*y)/(a*y)+1,(x+b*y)/(a*y)))