as shown in the picture, i don not know why is error occurs, and i have test that the value of log_det(X) is different from log(det(X))， can you help me to solve these problems? thank you

Did you use the “optimal” variable value of a previous CVX problem instance to this problem? if so, the previous problem could have been infeasible, unbounded, or encountered numerical difficulty, so that the variable values were `NaN`

after CVX completed. This resulted in `NaN`

input to a subsequent CVX problem instance, which CVX considers to be `invalid`

, hence the error message.

As for `log)det(X)`

being different than `log(det(X))`

, please show us the details supporting your claim.

It is not q good idea to use `quiet`

until you have verified everything is working correctly, which evidently it is not yet.

help log_det

log_det Logarithm of the determinant of an SDP matrix.

For a square matrix X, log_det(X) returns

LOG(DET(X))

if X is symmetric (real) or Hermitian (complex) and positive semidefinite,

and -Inf otherwise.`When used in a CVX model, log_det(X) causes CVX's successive approximation method to be invoked, producing results exact to within the tolerance of the solver. Therefore, whenever possible, the use of DET_ROOTN(X) is to be preferred, because the latter choice can be represented exactly in an SDP. For example, the objective MAXIMIZE(log_det(X)) can be (and should be) replaced with MAXIMIZE(DET_ROOTN(X)) in fact, log_det(X) is implemented simply as N*LOG(DET_ROOTN(X)). Disciplined convex programming information: log_det is concave and nonmonotonic; therefore, when used in CVX specifications, its argument must be affine.`

thank you maybe the matrix X is not positive matrix

Does `log_det(X)`

have the value -`Inf`

for some numerical matrix `X`

?

yes, the result is inf +a*i ,a is a finite number