I am now stuck on the following problem. Could anyone help me out?
Suppose a rank $1$ $n \times n$ matrix $A$ is form as a follows, $A=a*a'$, were $a$ is a $n\times 1$ vector.
Now, suppose we have the matrix $A$ (but know nothing about $a$), and we want to recover $a$ from $A$.
If $A$ is real, then the way to do it will be the following: do the singular value decomposition by MATLAB $([U,D,V]=\text{svd(}A))$, you will get $U,D,V$ such that $A=U*D*V$.
Then, $a$ can be recovered exactly by $U(:,1)*\text{sqrt}(D(1,1))$, where $D(1,1)$ is the only nonzero singular value and $U(:,1)$ is the corresponding column vector.
However, if $A$ is complex. Then, denote $b$ as the vector we get from the above process, $b$ will be different from $a$, but they have same modulus. i.e. $\text{abs}(b)=\text{abs}(a)$ while $a \neq b$.
My question is is there any way to get $a$ in the complex case ?
Thanks very much.