How to approach this quadratic optimization problem: $\operatorname{diag}(x_1,x_2,\dots,x_m)\cdot C\cdot\operatorname{diag}(y_1,y_2,\dots,y_n)$?

27 Views Asked by At

I have the following optimization problem which involves minimizing the difference between two matrices $X$ and $T$:

$$ X = \operatorname{diag}(x_1,x_2,\dots,x_m)\cdot C\cdot \operatorname{diag}(y_1,y_2,\dots,y_n) $$

Here $C, T \in \mathbb{R}^{m\,\times\,n}$ and $T$ is the "target" matrix with fixed entries. $X$ is modeled by $m+n$ parameters $p = \{x_1,x_2,\dots,x_m,y_1,y_2,\dots,y_n\}$ and $C$ contains some fixed, problem-specific coefficients. This means $X$ is a matrix-valued, quadratic function of the parameters.

I'm wondering what is the best approach to solve this problem? I guess, first of all, I need to select a suitable metric that can be used for minimizing the difference between $X$ and $T$. I see that there are many options to choose from. For example I could use the Frobenius norm on $(X - T)$ however that transforms the second order polynomial in $p$ into something more complex. The max norm on the other hand preserves the quadratic relationship. So I'm wondering what matrix norm is most suitable for this problem?

Then I suppose this problem needs to be solved numerically (i.e. no closed-form solution exists), so it would be helpful to show/check if the problem is defined by or can be converted to a convex function (under selection of an appropriate matrix norm). I suppose this in turn depends on the values of the coefficient matrix $C$, so I'm wondering what conditions this matrix must fulfill in order to yield a convex function for minimization (for an appropriate matrix norm).

While I could just throw any numerical optimizer at this problem, I feel like, due to the specific structure of the problem, that there might be a more informed approach. However I'm struggling to exploit any of the problem's properties, hence I'm asking this question.


P.S.: I indicated $C, T \in \mathbb{R}^{m\,\times\,n}$ for the sake of generality, however in my specific case $m = n$ if that helps in solving the problem.