Maximization of a log det function

3.8k Views Asked by At

I want to solve the following optimization problem

$$ \text{maximize } f(X) = - \log \mathrm{det}(X+Y) - a^T (X+Y)^{-1} a \\ \text{subject to } X \succeq W, $$ where the design variable $X$ is symmetric positive semidefinite, $W, Y$ are fixed symmetric positive semidefinite matrices, and $a$ is a given vector. The inequality $X \succeq W$ means that $X-W$ is symmetric positive semidefinite.

I was wondering if there's hope to find an analytical solution to either the constrained or unconstrained problem. And if there is none, could I use convex optimization techniques to solve this numerically?

2

There are 2 best solutions below

1
On BEST ANSWER

Make the substitution $Z = (X+Y)^{-1} \Leftrightarrow X = Z^{-1} - Y$, then the problem becomes convex:

$$\text{maximize } \log \mathrm{det}(Z) - a^T Z a \\ \text{subject to } 0 \prec Z \preceq (Y+W)^{-1} $$

1
On

Now that @p.s. has shown us how this can be made convex, this can indeed be solved using standard semidefinite programming software.

For instance, this could be solved using my software CVX. Here's the CVX model:

cvx_begin sdp
    variable Z(n,n) symmetric
    maximize(log_det(Z)-a'*Z*a);
    Z <= inv(Y+W);
cvx_end
X = inv(Z) - Y;

This will in turn call an SDP solver, which by default is SDPT3.

Certainly, this will be easy to solve using CVX, but calling SDPT3 directly, if you don't mind a bit of extra coding effort, has a distinct advantage: it can handle the log det term natively. CVX doesn't take advantage of that capability, so it ends up using an iterative method to handle the logarithm. This will make CVX will several times slower even though it is using the same solver!

Another MATLAB-based system that can handle this is YALMIP. I'm not sure it can take advantage of the built-in log-det support of SDPT3.