SCS is combiled and added to CVX solvers list, but it does not solve!

I have installed SCS solver and combiled it. Then, I installed CVX 3.0b. The SCS solver now exists in the list of solvers.
I run this problem using SeDuMi and it gets solved

cvx_solver SeDuMi







variable X(N,N) complex semidefinite

maximize( log(trace(A*X))-trace(B*X) )

subject to


X == hermitian_semidefinite(N)


However, when I change the solver to SCS (cvx_solver SCS), I get the following error

Calling SCS 1.0: 424 variables, 103

equality constraints

------------------------------------------------------------ Status: Error Optimal value

(cvx_optval): NaN

Reference to non-existent field ‘prec’.

Error in cvx_scs>solve (line 144)

prec = params.prec;

Error in cvx_solve (line 405)

[ x, status, tprec, iters ] = shim.solve( At, b, c, cones, params );

Error in cvx_finish (line 57)

[ status, result, bound, iters, tol ] = cvx_solve;

Error in cvx_end (line 11)

evalin( ‘caller’, ‘cvx_finish’ );

Error in Untitled (line 15)


Please, Can anyone help ?

I solved the problem by changing the line 144 in cvx_scs


prec = params.prec;


prec = params.precision;

This change should be made to CVX 3.0b.

Thanks for the update!

Excuse me, how to install SCS solver and combiled it ?please help me ,thank you

SCS is only recognized under CVX 3.0beta, which is full of bugs, so I don’t recommend it. Sorry for the bad news.

Thanks for your reply! Can you recommend a better one?I intend to deal with SDP issues.

Have you tried Mosek?

Yes, try Mosek.
… .

Okay,thanks for your reply!

excuse me ! Can Mosek solve large cone problems?

If there is enough memory. But it uses a second order algorithm, so requires more memory than a first order algorithm.

I thought it was trivial to try different optimizers supported by CVX. So why not start with the easy one to try e.g. Mosek or SeDuMi or SDPT3.

Btw some benchmarks