Is it possible to decompose a matrix as the product of two vectors?

This question maybe stupid to some of you, but I would like to know whether it is possible to decompose a matrix $M_{m\times n}$ as the product of two vectors, i.e.

$$M_{m\times n} = \vec{y}_{m\times 1}\times\vec{x}_{1\times n}+const.$$

Obviously, this should be true for some cases, but I am not sure whether this conclusion is always hold. Meanwhile, I want to know at what condition, we can do this decomposition and how to find the vectors $\vec{y}$ and $\vec{x}$?


Solution 1:

If you by $\times$ mean the cross product, then this of course doesn't make sense.

If you mean a matrix product, then this also will not work. Take for example $$ \pmatrix{1 & 0 \\ 0 & 1} $$ and assume that $$ \pmatrix{1 & 0 \\ 0 & 1} = \pmatrix{a \\ b}\pmatrix{c & d} = \pmatrix{ac & da \\ bc & bd}. $$ You see that $ac \neq 0$ and that $bd \neq 0$, so $a, b, c, d\neq 0$. So $da\neq 0$ and $bc\neq 0$. (I assume that your constant is zero, otherwise you would just take that constant to be $M$ and $x$ and $y$ both zero vectors.)

Solution 2:

In general, rank $n$ matrix can be expressed as sum of $n$ rank 1 matrix using singular value decomposition.

When the matrix is rank 1 we can express as you suggested in your question. If it is $>1$, we can't express like that.