# Some questions about log_det function,

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