Solving Reciprocal of Concave

Hello. Can I solve reciprocal of a concave function using CVX? Right now when I am trying to solve, it gives error
Cannot perform the operation: {positive constant} ./ {concave}

Thank you in advance for your time and consideration.

You might be able to use inv_pos

help inv_pos

 inv_pos   Reciprocal of a positive quantity.
     inv_pos(X) returns 1./X if X is positive, and +Inf otherwise.
     X must be real.
     For matrices and N-D arrays, the function is applied to each element.
      Disciplined convex programming information:
          inv_pos is convex and nonincreasing; therefore, when used in CVX
          specifications, its argument must be concave (or affine).

There might be other options, depending on the context within your overall problem.

1 Like

It worked. Thank you Sir.

Hello again. I am trying an objective function which has product of real affine and reciprocal of concave. Is it possible when I use inv_pos?
here is OF:
minimize sum(sum(rho.(inv_pos((log(1+x))/log(2)))))
Disciplined convex programming error:
Cannot perform the operation: {real affine} .

What is wrong here?

I presume rho is a CVX variable or affine expression. So this is non-convex.

1 Like

rho here is defined as a mxn martrix and value is between 0 and 1

1 Like