My code is shown as shown. But it shows error 'inv'. But when I delete 'inv', it also shows error. Please help me, thanks

cvx_begin
    variable Sigma_star(2,2) diagonal;
    variable P_c(3,3);
    Sigma_zc = C*P_c*C'+R+ Sigma_star;
    Sigma_H = Sigma_zc + Sigma_star;
    minimize(trace(Sigma_star))
    subject to 
        Sigma_star == semidefinite(2);
         lambda_max(Sigma_z) * tau / Chi2_beta <= lambda_min(Sigma_H);
         P_c == A*P_c*A'+Q-A*P_c*C'*inv(C*P_c*C'+R+Sigma_star)*C*P_c*A';  
cvx_end

Do you see anywhere in the CVX Users’ Guide where it says you can take the inv of a CVX matrix expression? I don’t, because it is not allowed. That is not generally convex.

Given that the offending constraint is an equality constraint, it can only be convex if the RHS is affine, which it is not.

Thank you very much. I get it.

I think you get it, but just to be clear, inv(cvx_expression) is not allowed… But even without inv, the RHS is not affine; therefore it is non-convex, and CVX does not allow it.