# Decompose matrix into outer product of vectors

Pacopag
Hi. I'm wondering if anyone can point me to any information on techniques to decompose a matrix (actually a 3D matrix) into an outer product of vectors. Particularly, given $$M_{i,j,k}$$, I want to find vectors $$a_{i}$$, $$b_{i}$$ and $$c_{i}$$ such that

$$M_{i,j,k} = a_{i}b_{i}c_{i}$$
where the multiplication on the right is an outer product.

I've read that this is only possible if the matrix M has a rank of one, but I can find anything on how to actually decompose the matrix, only that it CAN BE done. Also, if M has rank one, does that mean that there is a "unique" decomposition? What if the rank is something other than one? In that case would it be possible to find a family of solutions?

Thanks for any help.

Muphrid
Edit: strike all this, you meant a different outer product. Lemme think on this a bit more.

Last edited:
Bavid
Consider the matrix $$a_ib_j$$. This matrix is rank 1 since only one row and one column of this matrix is independently determined. The others rows(columns) bear constant ratios to this one row(column). Now if you take the ratio of successive elements in each row, it is easy to calculate $$a_1/a_2,b_2/b_3\ldots$$ etc.

Now write these ratios in terms of say $$a_1$$ and $$b_1$$. We name the ratios with the letter $$k$$, e.g., $$a_2=k^a_2a_1$$ (superscript does not denote exponent). Once you substitute all the $$k^a$$s and the $$k^b$$s, you get a matrix where $$a_1b_1$$ can be factored out and its value is known.

At this point, we cannot determine $$a_1$$ and $$b_1$$ individually. You can select $$a_1=p$$ and $$b_1=a_1b_1/p$$ and the resulting vector pairs will all work.

With a little extra work, this approach can be extended to higher order matrices.

Pacopag
That's great Bavid! Is there ANYTHING that can be done if the matrix is not of rank 1? Or is it the case that no such decomposition exists, even up to undetermined coefficients, if the rank is anything other than 1?

Bavid
It appears to me that rank 1 is necessary but not sufficient for a matrix to be represented as a_ib_j. For example, rank one matrices may have rows differing by a constant, as in (row_i)=m*(row_j)+c which could be rank 1 but not decomposable to a_ib_j.

Vector outer product ALWAYS produces a rank 1 matrix, at least among 3*3 matrices..think about it, there are 6 independent components in the constituent vectors but 9 components in the resulting matrix. So there is a well-defined interdependence of the matrix components. You cannot hope for any random matrix to be expressed as an outer product.

Pacopag
That's great. Thanks.