# Optimization problem involving matrix

I am struggling to solve an optimization problem of the following form:

$$\begin{array}{ll} \underset{A}{\text{maximize}} & \log \det (A) \\ \text{subject to} & a^T A^{-1} a \le b\end{array}$$

Is there any solution for it?

• Does $b$ have negative entries? – fedja Aug 25 '20 at 13:46
• @fedja Isn't $b$ a scalar? – Rodrigo de Azevedo Aug 25 '20 at 13:50
• @RodrigodeAzevedo Ah, yes. Is it negative then? – fedja Aug 25 '20 at 13:50
• @fedja Since $A \succ 0$ (I assume), for $b < 0$ the feasible region is empty. – Rodrigo de Azevedo Aug 25 '20 at 13:52
• @RodrigodeAzevedo And for $b>0$ you can multiply $A$ by a huge number and drive the determinant up without any bound. Actually, it is strange either way: WLOG $a=(1,0,\dots,0)$. Then you can take $A=diag(1/b,M,\dots,M)$ if $b>0$ and $diag(1/b,-M,M,\dots,M)$ if $b<0$. So, unless we are in dimension $1$, the answer is always $+\infty$. – fedja Aug 25 '20 at 13:56

## 1 Answer

I will presume you want $$A$$ to be constrained to be symmetric (hermitian) psd. In that case, this is a convex optimization problem which is a Linear Semidefinite Programming problem (SDP) a.k.a. Linear Matrix Inequality (LMI).

A convex optimization modeling tool, such as CVX, can formulate this as a standard Linear SDP and call a solver to solve it.

Here is the code for CVX.

cvx_begin
variable A(n,n) hermitian semidefinite
maximize(log_det(A))
subject to
matrix_frac(a,A) <= b
cvx_end

• Thanks a lot. A is a Hermitian matrix. – user164237 Aug 25 '20 at 11:24
• If A can be complex, you can change the variable statment to "variable A(n,n) hermitian semidefinite, as I have now incorporated in the answer. – Mark L. Stone Aug 25 '20 at 12:12
• Thanks a lot for your help Mark. – user164237 Aug 25 '20 at 22:17
• Sorry I am new here. How can I do it? Is it enough to click on that checkmark? – user164237 Aug 26 '20 at 11:18