Solving a non-linear matrix equation

1k Views Asked by At

I'm trying to solve for a vector $\bf x$ of size n, such that given a vector $\bf y$ and nxn matrix $\bf A$ we have:

\begin{equation} \dfrac{\textbf{xA}}{\sqrt{\textbf{xAx}^T}} = \textbf{y} \end{equation}

Essentially this ends up being a system of n equalities, with n degrees of freedom. Further it is scale-invariant in that for any solution $\bf x$ then $k\bf x$ would yield the same result.

So far I've tried to "simplify" it as such:

\begin{equation} \textbf{xA}\circ\textbf{xA} = \textbf{xAx}^T\textbf{y}^2 \end{equation}

I originally hoped I could then proceed to cancel out a pair of $\bf xA$ from each side but it seems that isn't applicable as the underlying multiplication operation is different (Hadamard vs vector/matrix multiply); $\textbf{xAx}^T$ produces a scalar while clearly $\textbf{x}^T$ would leave a vector in its place. One can also rewrite that term as $(\textbf{x} \otimes \textbf{x})\text{vec}(\textbf{A})$ but that doesn't seem very fruitful.

I've tried to solve a small n=5 problem numerically (in R & Matlab), and both produced solutions with a decent amount of error and were also fairly different. Not sure if I've missed something simple but this leads me to suspect that there might be no analytical solution to the problem?

1

There are 1 best solutions below

5
On BEST ANSWER

Assuming $A$ to be positive definite and denoting $t=\sqrt{xAx^T}\ne 0$ we get \begin{align} xA=ty\quad\Rightarrow\qquad (\text{multiply by } A^{-1})\quad x&=tyA^{-1}\qquad\text{and}\\(\text{multiply by } x^T)\quad t^2&=xAx^T=tyx^T\quad\Rightarrow\quad t=yx^T. \end{align} Substitute $x$ from the first line to the second one $$ t=yx^T=tyA^{-1}y^T\quad\Leftrightarrow\quad \fbox{$yA^{-1}y^T=1$}. $$ This is the necessary and sufficient condition for a solution to exist. Then all solutions are given by $$ x=tyA^{-1},\quad t\in\Bbb R. $$