How can we get back a vector if we have a matrix consisting of product of that vector? Let $x \in \mathbb{C}^N$ be a $N$ dimensional complex coloumn vector. Now let a matrix $A = x x^H \in \mathbb{C}^{N \times N}$ be what we have. Is it possible to recover the vector $x$ if we have this matrix?
From what I have till now lets take a simple case where $N = 2$. Let $$ x = \begin{bmatrix}a e^{-j\theta_1} \\ b e^{-j\theta_2} \end{bmatrix}.$$ Then the matrix $A$ can be written as
$$A = \begin{bmatrix} a^2 & ab e^{-j (\theta_1- \theta_2)} \\ ab e^{-j (\theta_2- \theta_1)} & b^2 \end{bmatrix}$$
While we can extract the magnitude of the vectors, is there a way to get out the phase since we just have the phase difference in the matrix?
Edit: I found a solution in an already asked question here in SE.
 A: No it is not possible since you can multiply the vector $x$ with any complex scalar on the unit circle $e^{j\theta}$ and get the same $xx^*$ ( starring conjugate transpose ).

Edit
One way you can do it (disregarding magnitudes $a,b$) is for example like this:
$$x = \left[\begin{array}{cc}
1&\phi_1\\
0&1\\
-1&0\\
\phi_2&-1
\end{array}\right]$$
then $$xx^T = \left[\begin{array}{cccc}
*&*&*&\phi_2-\phi_1\\
*&*&*&\phi_2+\phi_1\\
\phi_2+\phi_1&*&*&*\\
\phi_2-\phi_1&*&*&*
\end{array}\right]$$
And then you can reconstruct $\phi_1,\phi_2$ from sums and differences.
A: (Edit: This answer was based on the question when it read transpose, not conjugate transpose. The basic idea should work, but the conclusion will be different.)
Yes, up to a sign anyway. This is, incidentally, related to a construction in algebraic geometry called the "Veronese embedding."
The basic idea is as follows: 
Suppose that vector $v$ is $(a,b)$. Then we have entries $a^2, ab, b^2$ in the matrix of products. Assume $v \not = 0$ (you can treat this case separately). We can compute $a / b  = ab / b^2 $ or $b / a  = ab / a^2$, since one of $a$ or $b$ is nonzero. This tells us the vector $(a,b)$ up to scaling, since up to scalar $v$ was $(1, b / a)$ (if $a \not = 0$), or $(a/b,1)$ (if $b \not = 0$). We can compute $(a/b)^2$, so up to sign we can then multiply through an reproduce the original vector.
Note that $(1,1)$ and $(-1,-1)$ will produce the same matrix of products.
For general vector $v = (a_1, \ldots, a_n)$ in $\mathbb{C}^N$, you try the same idea ... the products you have access to are $a_i a_j$. Assume that $a_n \not = 0$. Then we can compute $a_i / a_n = (a_i a_n) / (a_n^2)$. Again you can recover $a_n$ from $a_n^2$, up to sign, and then you can multiply $(a_1 / a_n, \ldots, a_n / a_n = 1)$ by $\pm a_n$ to get $\pm v$.
