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}$?

  • 9
    $\begingroup$ You should look into the singular value decomposition, which is essentially a way to write a rank-$k$ matrix as a sum of $k$ such terms, $\mathbf M=\sum\limits_{i=1}^k\sigma_i\mathbf u_i\mathbf v_i^T$. In particular, you can write $\mathbf M$ as a single term $\sigma\mathbf u\mathbf v^T$ if and only if $\mathbf M$ is rank $1$. (If you don't like the presence of the extra scalar $\sigma$, you can think of $\sigma\mathbf u$ and $\mathbf v$, or $\mathbf u$ and $\sigma\mathbf v$, as your two vectors.) $\endgroup$
    – user856
    Mar 10, 2013 at 2:02
  • 3
    $\begingroup$ Much better than either of the proposed answers, IMO. $\endgroup$
    – bubba
    Mar 10, 2013 at 2:31
  • $\begingroup$ @RahulNarain: Well, or rank zero. :-) $\endgroup$
    – cardinal
    Mar 10, 2013 at 3:31
  • $\begingroup$ possible duplicate of Factorize a Symmetric matrix as an 'Approximation' with an outer product. $\endgroup$ May 25, 2014 at 22:05
  • $\begingroup$ @TimSeguine That question is specific to symmetric matrices, and the answer there uses that assumption. Here we have a rectangular matrix. $\endgroup$
    – user147263
    May 25, 2014 at 22:26

3 Answers 3


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.)


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.


No, simply because the space of matrices is $mn$-dimensional, and the space of pairs of vectors is $(m+n)$-dimensional, which can be much smaller. The best thing one can do is decompose into a sum of $\min(m,n)$ products, and this decomposition is of course not even close to being unique.

  • $\begingroup$ Thank you for your answer. What if we have $M_{m,m}$ is a symmetric matrix, which I believe we can write it as $$$$ $\endgroup$
    – pitfall
    Mar 10, 2013 at 1:34

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.