Writing x*log(1+x/y)

(John) #1

Hi guys,
I met a problem while using cvx. My objective function is f(x,y) = x*log(1+x/y),x>0,y>0. The function is convex, but I don’t know how to express which in cvx. Can you help me?

Does cvx solve nonlinear convex problems?
Log(1+1/x) convex function of x. How to implement in CVX fitting DCP rule?
(Mark L. Stone) #2

I believe x*log(1+x/y) is convex for x > 0, y > 0.

I don’t see how to get it into CVX. Perhaps someone else knows how, although I don’t know whether it can be done.

As has been posted on this forum, the “similar” looking x*log(1+y/x) can be expressed as -rel_entr(x,x+y), and is concave for x > 0, y > 0. But I don’t see how to use rel_entr for x*log(1+x/y)

Xlog( 1+ Y/(X+Y) ): DCP rules, and build-in functions in cvx
Perspective of log det function, and CVX formulations of related log det problems using Quantum Relative Entropy from CVXQUAD
(Michal Adamaszek) #3


Minimize log(1+1/x) where 0<x<inf
(John) #4

Thanks alot I appreciate that.

Writing geo_mean( (1+x/y) ^x )
(Mark L. Stone) #5

@Michal_Adamaszek Nice solution. Nice cancellation of terms. Thanks.