How to interpret "Status: Solved; Optimal value (cvx_optval): NaN"?

I have convex problem and I solve it by CVX.
The outcome is
Status: Solved
Optimal value (cvx_optval): NaN
It’s quite weird to me: since the CVX successfully solved our problem, how come I get a NaN in the end?
Any interpretation what’s wrong with my problem here?
Thanks so much!
Full output attached:



Calling SDPT3 4.0: 2402 variables, 601 equality constraints
For improved efficiency, SDPT3 is solving the dual problem.

num. of constraints = 601
dim. of socp var = 1202, num. of socp blk = 1
dim. of linear var = 1200


SDPT3: Infeasible path-following algorithms


version predcorr gam expon scale_data
NT 1 0.000 1 0
it pstep dstep pinfeas dinfeas gap prim-obj dual-obj cputime

0|0.000|0.000|1.5e+00|3.2e+00|2.8e+09| 4.024897e+07 0.000000e+00| 0:0:00| chol 1 1
1|0.943|0.946|8.3e-02|2.1e-01|2.1e+08| 3.308536e+07 -1.017673e+06| 0:0:01| chol 1 1
2|0.374|0.368|5.2e-02|1.4e-01|1.5e+08| 2.909551e+07 -7.501093e+05| 0:0:01| chol 1 1
3|0.426|0.388|3.0e-02|9.0e-02|1.1e+08| 2.615938e+07 -5.465477e+05| 0:0:01| chol 1 1
4|0.621|0.435|1.1e-02|5.9e-02|7.4e+07| 2.350364e+07 -4.004051e+05| 0:0:02| chol 1 1
5|0.934|0.565|7.4e-04|2.9e-02|3.9e+07| 2.187270e+07 -3.311649e+05| 0:0:02| chol 1 1
6|0.277|1.000|5.4e-04|1.5e-03|2.0e+07| 1.690219e+07 -1.342157e+06| 0:0:02| chol 1 1
7|0.942|1.000|3.1e-05|7.8e-04|1.3e+06| 2.089277e+05 -1.021617e+06| 0:0:03| chol 1 1
8|0.873|0.714|3.9e-06|4.7e-04|4.8e+05|-2.203168e+05 -6.806642e+05| 0:0:03| chol 1 1
9|0.968|0.480|1.3e-07|3.2e-04|1.9e+05|-4.475808e+05 -6.299986e+05| 0:0:03| chol 1 1
10|0.599|0.824|5.1e-08|1.3e-04|9.4e+04|-4.958566e+05 -5.869122e+05| 0:0:04| chol 1 1
11|0.962|0.786|3.3e-09|6.0e-05|2.8e+04|-5.427831e+05 -5.693918e+05| 0:0:04| chol 1 1
12|1.000|1.000|4.0e-09|2.1e-05|8.7e+03|-5.522764e+05 -5.605767e+05| 0:0:04| chol 1 1
13|0.990|1.000|3.3e-08|1.0e-05|2.1e+03|-5.560192e+05 -5.579003e+05| 0:0:05| chol 1 1
14|0.878|0.945|3.4e-09|5.5e-06|2.2e+02|-5.569680e+05 -5.570854e+05| 0:0:05| chol 1 1
15|0.979|0.937|2.0e-11|2.8e-06|1.1e+01|-5.571145e+05 -5.570708e+05| 0:0:05| chol 1 1
16|0.950|0.876|1.1e-08|3.5e-07|1.1e+00|-5.571188e+05 -5.571132e+05| 0:0:06| chol 1 1
17|0.849|0.828|4.6e-07|6.0e-08|3.0e-01|-5.571194e+05 -5.571182e+05| 0:0:06| chol 2 2
18|1.000|0.566|6.8e-06|2.6e-08|1.3e-01|-5.571247e+05 -5.571187e+05| 0:0:06| chol 1 2
19|0.782|0.857|5.1e-06|3.7e-09|3.1e-02|-5.571233e+05 -5.571191e+05| 0:0:07| chol 1 1
20|0.987|0.983|1.7e-07|6.7e-11|8.0e-04|-5.571190e+05 -5.571191e+05| 0:0:07| chol 2 2
21|0.410|0.570|5.0e-08|3.1e-11|4.9e-04|-5.571191e+05 -5.571191e+05| 0:0:07| chol
linsysolve: Schur complement matrix not positive definite
switch to LU factor. lu 30 30
22|0.000|0.250|NaN|2.7e-11|NaN|NaN -5.571191e+05| 0:0:08|
stop: max(relative gap, infeasibilities) < 1.49e-08

number of iterations = 22
primal objective value = NaN
dual objective value = -5.57119121e+05
gap := trace(XZ) = NaN
relative gap = NaN
actual relative gap = NaN
rel. primal infeas (scaled problem) = NaN
rel. dual " " " = 2.69e-11
rel. primal infeas (unscaled problem) = 0.00e+00
rel. dual " " " = 0.00e+00
norm(X), norm(y), norm(Z) = NaN, 4.4e+04, 6.3e+04
norm(A), norm(b), norm© = 5.0e+01, 8.4e+04, 4.0e+02
Total CPU time (secs) = 7.89
CPU time per iteration = 0.36
termination code = 0
DIMACS: NaN 0.0e+00 1.2e-10 0.0e+00 NaN NaN


Status: Solved
Optimal value (cvx_optval): NaN

looks like a solver issue, since SDPT3 itself is seeing nan values. Try SeDuMi.

Seems like SeDuMi works better, thanks so much!

By the way, a little description about my optimization problem:
all the constraints are linear equality and inequality constraints,
the objective is quadratic function in the form of x’Qx+c’x. Here Q is a positive semi-definite matrix, and in most cases Q is singular.
From the CVX guidance, to fulfill the performance, I’d better write the object in terms of norms rather than the quadratic form directly. Is that correct?
What is the best formation you recommend, to get the best efficiency? Maybe to write my problem in the form of SOCP or more general DCP?

Thanks so much, Micheal!