Algorithm to Find Matrix x for $xx^T = y$

1k Views Asked by At

Is there an algorithm to find $x$ in $$xx^T = y,$$ where $y$ is a known $N \times N$ matrix, and $x$ is a $N \times M$ matrix?

1

There are 1 best solutions below

5
On BEST ANSWER

There seems to be something missing in the specification of this problem. I prefer using upper case letters for matrices, so let's state this as

Given $ Y \in \mathbb{R}^{n \times n} $ find $ X \in \mathbb{R}^{n \times m} $ such that $ Y = X X^T $.

Now, $ X X^T $ is symmetric, so $ Y $ must be symmetric. $ X X^T $ is also positive semi-definite, so $ Y $ will have to be. $ X $ is also not unique, since you can always pick $ ( X Q ) $ where $ Q $ is unitary ($ Q Q^T = I $) and create another solution. (If $ Y = X X^T $ then $ ( X Q ) ( X Q )^T = X Q Q^T X^T = X X^T = Y $.

So, there is something missing here.

Now, if $ Y $ is symmetric positive definite (SPD), and $ m = n $, then one solution to this is the Cholesky factorization.