In CVX, I defined a variable Psii_ini(the scope of Psii_ini >=0, but not declared in the program), for 1/Psii_ini in the constraint, I use inv_pos(Psii_ini), but the following error, may I ask what happened?
My code:
variable s(NL,1) complex
variable sigma(1,1)
variable Psii(1,1)
The argument of inv_pos needs to be concave (affine is a special case of concave). Actually, not only is s*s' not concave, it’s an n by n matrix, not a scalar. Did you mean Psii_ini=s'*s; ?
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).