My problem can be solved by SDPT3 but not by SeDuMi. WHY?

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

Perhaps this is a big.

Thank you for replying!
But I actually don’t get it. :frowning:

Below is the message from the model which I had tried first,

Successive approximation method to be employed.
   For improved efficiency, SeDuMi is solving the dual problem.
   SeDuMi will be called several times to refine the solution.
   Original size: 8267 variables, 4057 equality constraints
   1 exponentials add 8 variables, 5 equality constraints

And this one is the message from the model with fewer variables, but still making the same error.

Successive approximation method to be employed.
   For improved efficiency, SeDuMi is solving the dual problem.
   SeDuMi will be called several times to refine the solution.
   Original size: 55 variables, 21 equality constraints
   1 exponentials add 8 variables, 5 equality constraints  

What does exactly “big” mean?
How can I make my problem “small”?

I recommend you read CVXQUAD: How to use CVXQUAD's Pade Approximant instead of CVX's unreliable Successive Approximation for GP mode, log, exp, entr, rel_entr, kl_div, log_det, det_rootn, exponential cone. CVXQUAD's Quantum (Matrix) Entropy & Matrix Log related functions .

Bottom line: Use CVX 2.2 with Mosek 9.x as solver if avallable to you… Otherwise, install CVXQUAD and follow the directions in the link.

I really appreciate your kindful help! :slight_smile:

THANK YOU!