I am getting different answers when specifying the ‘semidefinite’ structure on the optimization variable. I was trying to solve a fairly simple optimization problem when I noticed this glitch. The difference between examples 1 and 2 (mentioned below) is that in example 1, X is defined to be complex semidefinite, and in example 2, X is defined to be complex and is enforced to be semidefinite through the constraint.

I get different answers for both optimization problems, and in example 1, CVX gives out a real valued X completely ignoring the definition that X is complex.

Is this how it has been designed? If yes, could it be added in the manual, please?( I didn’t find it when I looked for it. Pardon me if it is already in there).

Example - 1

```
M = 5;N=20;
H = cNormrnd(0,1,M,N);
cvx_begin
variable X(N,N) complex semidefinite
maximize log_det(eye(M) + H * X * H' )
trace(X) == M
cvx_end
```

Example - 2

```
M = 5;N=20;
H = cNormrnd(0,1,M,N);
cvx_begin
variable X(N,N) complex
maximize log_det(eye(M) + H * X * H' )
X == semidefinite(N);
trace(X) == M
cvx_end
```

FYI, I am using CVX version 2.1 with MATLAB 2014a.