Rank-one matrices: a representation theorem

We prove the theorem mentioned here:

Theorem: outer product representation of a rank-one matrix

Every rank-one matrix A in mathbf{R}^{m times n} can be written as an ‘‘outer product’’, or dyad

 A = p q^T,

where p in mathbf{R}^m, q in mathbf{R}^n.

Proof: For any non-zero vectors p in mathbf{R}^m, q in mathbf{R}^n, the matrix pq^T is indeed of rank one: if x in mathbf{R}^n, then

 pq^Tx = (q^Tx) p .

When x spans mathbf{R}^n, the scalar q^Tx spans the entire real line (since q ne 0), and the vector (q^Tx) p spans the subspace of vectors proportional to p. Hence, the range of pq^T is the line

 mathbf{R}(pq^T) = left{ t p ~:~  t in mathbf{R} right},

which is of dimension 1.

Conversely, if A is of rank one, then its range is of dimension one, hence it must be a line passing through 0. Hence for any x there exist a function t: mathbf{R} rightarrow mathbf{R} such that

 Ax = t(x) p.

Using x = e_i, where e_i is the i-th vector of the standard basis, we obtain that there exist numbers t_1,ldots,t_n such that for every i:

 Ae_i = t_i p, ;; i=1,ldots,p.

We can write the above in a single matrix equation:

 A left( begin{array}{ccc} e_1 & ldots & e_n end{array}right) = p  left( begin{array}{ccc} t_1 & ldots & t_n end{array}right) .

(Indeed, the previous equation is the above, written column by column.)

Now letting q = (t_1,ldots,t_n) in mathbf{R}^n, and realizing that the matrix (e_1,ldots,e_n) is simply the identity matrix, we obtain

 A = pq^T,

as desired.