I'm attempting to formulate the semidefinite programs used in the paper "Hedging Bets with Correlated Quantum Strategies" (specifically those on page 7) into CVX so that I can play around with the values of the SDPs. The CVX package seems to be very straightforward to get up and running, but I'm a bit unsure in how to convert the SDPs in this scenario and how to interpret the results. For completeness and to try to be a bit helpful, the primal and dual problems for the maximization constraint are replicated from the paper below.
Primal Problem:
maximize: $\langle Q_a, X \rangle$
subject to: $Tr_{\mathcal{Y}}(X) = \mathcal{I}_{\mathcal{X}},$
$\qquad \qquad X \in Pos(\mathcal{Y} \otimes \mathcal{X})$
Dual Problem:
minimize: $Tr(Y)$
subject to: $\mathcal{I}_{\mathcal{Y}} \otimes Y \geq Q_a,$
$\qquad \qquad Y \in Herm(\mathcal{X})$
In this case, these are the SDPs which correspond to Bob's maximum probability for winning some quantum protocol between two parties (more information is in the paper, but if you're going to take the time to help me, by all means ask if I can clarify something in a bit more detail). The variables $Q_a$ and $X$ correspond to the Choi-Jamiolkowski representation of the channel for Alice and Bob respectively. My attempt at putting this into MATLAB is as follows:
n = 3;
cvx_begin sdp
variable Y(n,n) hermitian;
dual variable X;
maximize ( trace ( Y ) );
subject to
X : kron(eye(n), Y) >= 0;
cvx_end
Since I don't have a partial trace operation, I'm essentially flipping the roles of the primal and dual functions by swapping the maximization and minimization constraints. This may not be the right way to go about it though, so any feedback would certainly be helpful. Basically my understanding is that if you provide the primal problem, CVX is smart enough to solve the corresponding dual (Section 3.7 of the CVX manual).
Running the above works, but yields a status failed result, leading me to think that there is something I'm most likely missing here:
Status: Failed
Optimal value (cvx_optval): NaN