I tried to solve SDP with CVX and I successfully got an optimal value with SDPT3(my default solver).
Now I’m trying to use SeDuMi as a solver to compare the performance, but an error has occured ONLY with SeDuMi!
Here’s my problem coded with MATLAB,
dd=ones(N,1);
cvx_begin
variable X(N,N) complex semidefinite;
variable Y(M,M) semidefinite;
maximize( log_det(Y) );
subject to
Y <= real(eye(M) + H * kron(eye(K), X) * H');
diag(X) == dd;
X == hermitian_semidefinite(N);
cvx_end
and this is an error message from MATLAB,
(Sorry, it’s not an ORIGINAL message from MATLAB. I translated the message with Google translator.)
An error occurred while using: &
Array sizes are incompatible for this operation.
Error occurred: pretransfo (line 318)
scplx(K.scomplex&~sdiag) = true;
Error: sedumi (line 261)
[A,b,c,K,prep,origcoeff] = pretransfo(A,b,c,K,pars);
Error: cvx_run_solver (line 50)
[ varargout{1:nargout} ] = sfunc( inputs{:} );
Error: cvx_sedumi>solve (line 245)
[ xx, yy, info ] = cvx_run_solver( @sedumi, At, b, c, K, pars, 'xx', 'yy', 'info', settings, 5 );
Error: cvxprob/solve (line 253)
[ x, status, tprec, iters2, y, z ] = shim.solve( [ At, Anew2 ], [ b ; bnew ], c, cones, true, prec, solv.settings, ears{:} );
Error occurred: cvx_end (line 88)
solve( prob );
Error occurred: sdr_irs (line 18)
cvx_end