Log_sum_exp of a convex function is not dcp compli

2019-08-26 04:33发布

问题:

I have a convex function f(b):

f(b) = log(pi) - lambda * log( t(r) %*% b)

dim(pi) = (n,1), lambda is a scalar constant, dim(r) = (n,n)

b is the parameter, dim(b) = (n,1)

The call to

is_convex(f) 
is_dcp(f) 

both return TRUE.

However, I don’t understand why the following returns FALSE:

is_dcp(log_sum_exp(f)) 

As far as I understand, log_sum_exp of a convex function is convex?

I noticed that both

is_convex(f) 

and

is_concave(f) 

return FALSE.

So it seems like CVRX is unable to deduce the convexity of log_sum_exp(f)?

Any help would be appreciated

(I use CVRX ver 0.99 package in R3.5)

回答1:

This bug has been fixed in CVXR v0.99-5.