“Factoring” the two vectors whose tensor product is a given vector

linear algebratensor-productsvectors

So it's easy to take the tensor product of two vectors,

$$\begin{bmatrix}a\\b\\\end{bmatrix}\otimes\begin{bmatrix}c\\d\\\end{bmatrix}=\begin{bmatrix}ac\\ad\\bc\\bd\\\end{bmatrix}$$

but it seems much more difficult to go backwards, to "factor" the vector. Is there a method to find two vectors whose tensor product is a given vector?

In my specific problem, the magnitude of the resultant vector is 1, if that's relevant.

Best Answer

To find a solution, assume your tensor is $(x,y,z,w)^\top.$ We must have $xw=abcd=yz$ for there to be any solution.

Assume $x\neq 0.$

Then $$\frac{b}{a}=\frac zx\\\frac dc=\frac yx.$$

So you get that $$\begin{pmatrix}1\\z/x \end{pmatrix}\otimes \begin{pmatrix}1\\y/x\end{pmatrix}= \begin{pmatrix}1\\y/x\\z/x\\yz/x^2 \end{pmatrix}= \begin{pmatrix}1\\y/x\\z/x\\w/x \end{pmatrix}= \frac1x\begin{pmatrix}x\\y\\z\\w \end{pmatrix},$$ With one step because $yz=xw.$

So we can choose $a=1,b=z/x,c=x,d=y.$

More generally, if $uv=x,$ we can choose:

$$a=u,b=uz/x=z/v,c=v,d=vy/x=y/u.$$

If $x=0,$ you can do the same with any other non-zero coordinate.

If they are all zero, you can set $a=b=0$ and $c,d$ to anything, or $c=d=0$ and $a,b$ anything.