I apologize in advance if I’m doing something extremely silly here, but I can’t figure out what is causing some weird behaviour on one of my CVX problems. Here is a minimal CVX example that displays the weirdness that I’m encountering:

```
cvx_begin sdp quiet
variable X(2,2) hermitian
minimize norm_nuc(X)
subject to
trace(X) == 1;
X >= 0;
X(1,2) == 0.2*1i;
cvx_end
```

The above code should return a value of 1, since the nuclear norm of every positive semidefinite matrix is just equal to its trace, which is constrained to be 1 here. However, when I run this code (on MATLAB R2013a, using CVX 2.1), I get a value of 1.4000 in cvx_optval. Nonetheless, subsequently running

```
norm_nuc(X)
```

on the output of the above CVX problem gives a value of 1.000, as expected. Where is the 1.4000 coming from?

The problem seems to be with the 0.2*1i constraint. If I change that to a real number, then this problem goes away. Also, I get the same weirdness whether I use SDPT3 or SeDuMi as the solver.