If a matrix is an outer product of two vectors; can I determine the vectors?

41 Views Asked by At

I am working with floating point numbers. There is a 3x3 matrix that has determinant 1e-14.

I have reason to believe this matrix is an outer product of two vectors. If the assumption is correct, how would I find out which vectors it is?

1

There are 1 best solutions below

0
On BEST ANSWER

Let $v\otimes w$ denote the outer product of two vectors $v$ and $w$. If $v=0$ then $v\otimes w=0$ for any $w$, and so it is not possible to retrieve $w$.

If $v\neq0$ and $w\neq0$, then still for any nonzero scalar $\lambda$ you have $$(\lambda v)\otimes(\lambda^{-1} w)=v\otimes w.$$ So it is again not possible to retrieve $v$ and $w$. You can retrieve them up to scaling; if the $(i,j)$-th entry of $v\otimes w$ is nonzero, say $\lambda$, then you can take $w$ to be the the $i$-th row and $v$ to be the $j$-th column divided by $\lambda$.

Of course, if you only want to know whether the matrix is an outer product of two vectors, it suffices to check that its rank is at most $1$.