You have violated CVX’s rules for inv_pos` . Why isn't CVX accepting my model? READ THIS FIRST!
I am presuming Matrix(ii,kk) >= 0
due to being a singular value of something. Therefore, the argument of inv_pos
is convex, which is not allowed (unless affine, which this is not).
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).
Indeed, obj(ii,kk)
is non-convex. Looking at the 2nd derivative of the RHS, even for Pa(ii,kk) > 0
, the sign of the 2nd derivative changes from negative to positive at Pa(ii,kk) = 1/sqrt(Matrix(ii,kk)*a)
, assuming that Matrix(ii,kk) > 0
;