```
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.