I am trying to minimize the spectral norm of the Hadamard product of two matrices, one of which is in quadratic form. More specifically, I am trying to minimize \|{\bf A} \odot {\bf XX}^H\|_2, where \|\cdot\|_2 denotes the spectral norm, and \odot represent the Hadamard product operator. I assume that {\bf A} is a positive definite matrix (independent of {\bf X}), so that the function is convex. The problem can be alternatively written as

\begin{align}
\underset{t,{\bf X}}{\text{minimize}} \qquad&t\\
\text{subject to} \qquad& {\bf A} \odot {\bf XX}^H \preceq t{\bf I}
\end{align}

The problem written in this form is not accepted in CVX, since a quadratic form is used in the matrix inequality. Any idea how I can write this problem in a form that CVX accepts? Thank you so much for helping!

This would be straightforward were it not for the Hadamard product.

By Schur product theorem, the Hadamard product of two psd matrices is psd. But have you proven this is a convex optimization problem? If so, is your proof constructive?

Thanks for helping, Mark!

The function is convex because it can be written in this way:

\begin{align*}
\|{\bf A} \odot {\bf XX}^H\|_2 &= \lambda_{\mathrm{max}}({\bf A}\odot {\bf XX}^H)\\
&= \underset{{\bf u}: \|{\bf u}\|\leq 1}{\sup} \,\, {\bf u}^H({\bf A}\odot {\bf XX}^H){\bf u}\\
&= \underset{{\bf u}: \|{\bf u}\|\leq 1}{\sup} \,\, \mathrm{tr}\left({\bf D}_{{\bf u}}^H{\bf A}^T{\bf D}_{{\bf u}}{\bf XX}^H\right)\\
&= \underset{{\bf u}: \|{\bf u}\|\leq 1}{\sup} \,\, \mathrm{tr}\left({\bf X}^H{\bf D}_{{\bf u}}^H{\bf A}^T{\bf D}_{{\bf u}}{\bf X}\right),
\end{align*}

where {\bf D}_{{\bf u}} denotes a diagonal matrix with diagonal entries given by {\bf u}. Since {\bf X} \mapsto \mathrm{tr}\left({\bf X}^H{\bf D}_{{\bf u}}^H{\bf A}^T{\bf D}_{{\bf u}}{\bf X}\right) is convex in {\bf X} for each {\bf u} (since {\bf D}_{{\bf u}}^H{\bf A}^T{\bf D}_{{\bf u}} is psd for each {\bf u} when {\bf A} is psd), and since the supremum of convex functions is convex, then the function is convex.

Do you know how this can be written into CVX?

I think you’d need someone more capable than me to figure it out.

I’ll let you figure out whether it is possible to do this by New functions via partially specified problems w.r.t. `u`

applied to the trace or its reformulation `square_pos(norm(sqrtm(A)*D*X,'fro'))`

. I doubt I can give you further help on that.