I am trying to use the cvx package for optimization. However, I am having some issues with it. I have a variable X which is a matrix but I cannot add $X^{-1}$ in the objective function. What should I do? Is it even possible to use it or it violates the definition of semi definite programming and hence cannot be included

  • $\begingroup$ You need to provide more context in terms of what you're trying to do. What is the objective function you would like to use? Typically, you can only use $X^{-1}$ if $X$ is positive definite, and you must indicate that in the input program. $\endgroup$
    – Victor Liu
    Aug 28 '13 at 18:15
  • $\begingroup$ @VictorLiu. Yeah I have this constraint that $X^{-1}$ is positive definite $\endgroup$
    – user34790
    Aug 28 '13 at 18:23
  • $\begingroup$ @VictorLiu. My objective function is $f(X) = y'Xy + logdet(X) + r'X^{-1}r$ $\endgroup$
    – user34790
    Aug 28 '13 at 20:35
  • 1
    $\begingroup$ You objective is neither convex nor concave in general (consider the scalar case with, e.g., y=0 and r = 0.3.) Hence, cvx and convex semidefinite programming is not applicable. $\endgroup$ Aug 28 '13 at 21:16
  • 1
    $\begingroup$ If a matrix $X^{-1}$ is positive definite, then this is equivalent to $X$ being positive definite. Simply replace your constraint by $X$ being positive definite. $\endgroup$ Aug 30 '13 at 2:17

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.