Log_sum_exp of a convex function is not dcp compliant? (Moderator note: this post pertains to CVXR, not CVX)


(Suwandi Tan) #1

Hi

I have a convex function f(b):

f(b) = log§ - lambda * log( t® %*% b)
dim§ = (n,1)
lambda a scalar constant
dim® = (n,n)
b is the parameter, dim(b) = (n,1)
t() is a marix transpose function

the call to is_convex(f) returns TRUE and the call to is_dcp(f) also returns TRUE.
However, I don’t understand why is_dcp(log_sum_exp(f)) returns FALSE?
I noticed that both is_convex(f) and is_concave(f) return FALSE. So it seems like CVX is unable to deduce the convexity of log_sum_exp(f)?

Any help would be appreciated


(Mark L. Stone) #2

It appears you are working with CVXR, for use in R. That is a different package than CVX, which is for use in MATLAB, and is the subject of this forum.

I suppose this can be very confusing, especially with CVX research, at URL cvxr.com, being the developer and distributor of CVX.

So you will have to seek help on CVXR elsewhere.

Per https://cvxr.rbind.io/post/cvxr_faq/

Where can I go for help?

Please post questions to the cvx tag on StackOverflow.


(Mark L. Stone) #3