Help with log det expression


(mkrck) #1

Hello, I am studying the following convex optimization problem and trying to translate it into CVX. I have no problems with the final two terms; it’s the logdet part that I can’t express.

(Below, A is a rectangular matrix and B is square and \lambda is a parameter; only X is unknown).

\min \limits_{X \succ 0} \left( \log \det ( A X^{-1} A^T + I) + \text{trace}(BX) + \lambda \|\text{vec}(X)\|_{\ell_1} \right)

I have searched these forums and the reference guide to no avail.
If this problem is not suitable for CVX and you think of an alternative, please share! Thank you.


Proof of convexity of logdet term: X \mapsto AX^{-1}A^T + I is convex and nonincreasing on the positive definite cone, so composing it with the concave function logdet(\cdot) is again convex.


(Mark L. Stone) #2

Whoops. Kind of read over the inverse on X.

See my formulation via Schur complement in my next post.


(mkrck) #3

But log det(positive definite) is concave, not convex

I’m afraid I don’t understand. For X positive definite, \log \det (X^{-1}) is convex . . .

Do you mean that it violates some CVX format since the outer \log \det (\cdot) function is concave and we’re searching for a minimum? If so, then I can use matrix identities to reformat the term as

- \log \det ( ( AX^{-1} A^T + I)^{-1} ) = - \log \det (( I - A(X + A^T A)^{-1} A^T ))

so that the outer function is convex.


(Mark L. Stone) #4

I have withdrawn my original answer because I misread the problem.

By Schur complement,
det(eye(n) - A*inv(X + A'*A)*A) * det(X + A'*A) = det([eye(n) A;A' X+A'*A]).
So -log_det(eye(n) - A*inv(X + A'*A)*A) = -log_det([eye(n) A;A' X+A'*A]) + log_det(X + A'*A)
Whoops, the 2nd term on the RHS won’t be accepted by CVX. I made a mistake in my first attempted solution by Schur complement which didn’t have the “illegal” term.


(mkrck) #5

OK no problem Mark. Thank you for the advice – will give the Schur complement a try.


(Mark L. Stone) #6

Sorry again (not a good day). I made a mistake in my Schur complement formulation, and the corrected formulation would not be accepted by CVX.