Looking in some examples provided with TFOCS (solved first with CVX) as “test_psdCompletion.m”, I do not understand why if you are solving the following problem:
minimize (1/2)*norm( A * X - b )^2 st X >= 0 trace(X) <= lambda
in the following way
objective = @(X) sum_square( X(omega) - b )/2; cvx_begin variable Xcvx(N,N) minimize objective(Xcvx) subject to Xcvx == semidefinite(N) trace(Xcvx) <= lambda cvx_end
In the upper problem you have a matrix multiplication A*X that you want to be as close as possible to b.
But in the lower problem you are setting that X in some indices (omega) has to be as close as possible to b.
I do not get it.