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.
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.
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)))))
Error:
Disciplined convex programming error:
Cannot perform the operation: {real affine} . {convex}
What is wrong here?
I presume rho is a CVX variable or affine expression. So this is non-convex.
rho here is defined as a mxn martrix and value is between 0 and 1