Suppose I want to construct a rank-$1$ matrix of size $n$ $$ A = \vec{r}\vec{c}^T $$ where $\vec{r}$ and $\vec{c}$ are column vectors of size $n$, in such a way that all row sums $s_i=\sum_j A_{ij}$ and all column sums $t_j=\sum_i A_{ij}$ are prescribed (fixed at the outset). I have a lengthy proof that $A$ is unique, i.e. there are no two different rank-1 matrices with the same prescribed row and column sums. Is this result known? Is there a simple proof?
Simplest proof that a rank-1 matrix with prescribed row and column sums is unique
205 Views Asked by Bumbble Comm https://math.techqa.club/user/bumbble-comm/detail AtThere are 2 best solutions below
On
Since it is known that the matrix $A$ is of rank-1, then it can written as
$$ A = r c^T$$
where $r$ and $c$ are unknown column vectors. Let
$u = [1, 1, 1, ..., 1]^T$
be a column vector of 1's. Then it follows that
$ r c^T u $ is the known column sum, i.e.
$ r c^T u = r (c^T u) = K_1 r = a $
The vector $a$ is known, and $K_1 = c^T u$. Similarly,
$ u^T r c^T = K_2 c^T = b^T $
The vector b is known (the row sum), and $K_2 = u^T r$. It follows that
$u^T a = K_1 u^T r = K_1 K_2 = K_2 (c^T u) = b^T u $
Since $a$ and $b$ (the sums) are given, the product $K_1 K_2$ is known.
Hence, we can write,
$A=rc^T=(\dfrac{1}{K_1}a)(\dfrac{1}{K_2}b^T)=(\dfrac{1}{K_1 K_2})a b^T$
Since the vectors $a$ and $b$ are given, and the product $K_1 K_2 = u^T a = b^T u$ is also known, it follows that matrix $A$ is unique and is given by this last expression.
As a solid example, suppose the column sum is given by
$a = \begin{bmatrix} 10 \\ 20 \\ 50 \end{bmatrix} $
and the row sum is given by
$b^T = \begin{bmatrix} 24 , 36, 20 \end{bmatrix} $
Then $u^T a = 80 = K_1 K_2 $, and hence, the matrix $A$ is
$\begin{equation} \begin{split} A &= \dfrac{1}{80}\begin{bmatrix} 10 \\ 20 \\ 50 \end{bmatrix}\begin{bmatrix} 24 , 36, 20 \end{bmatrix} &= \dfrac{1}{2} \begin{bmatrix} 6 && 9 && 5 \\ 12 && 18 && 10 \\ 30 && 45 && 25 \end{bmatrix} \end{split} \end{equation} $
You can directly get the two vectors $\vec{r},\vec{c}$ from the given row and column sums, except for scales:
As the matrix is rank-1, every row is a multiple of the row vector and every column is a multiple of the column vector. That means that we have $$ \vec{r} = \lambda \cdot \left(\begin{array} &s_1 \\ s_2 \\ \vdots \\ s_n\end{array}\right),\vec{c} = \mu\cdot \left(\begin{array} &t_1 \\ t_2 \\ \vdots \\ t_n\end{array}\right), $$ with the row sums $s_i$ and columns sums $t_j$. We just need to find out $\lambda$ and $\mu$. This is not possible, but we can find $\lambda\mu$ by looking at the first row and the first column:
$$ \sum_{j=1}^n\vec{r}_1\cdot \vec{c}_j\overset{!}{=}s_1 \\ \sum_{i=1}^n\vec{r}_i\cdot \vec{c}_1\overset{!}{=}t_1 \\ $$ By inserting the above values we get: $$ \sum_{j=1}^n\lambda\mu t_j=s_1 $$ so $$\lambda\mu = \frac{s_1}{\sum_{j=1}^n t_j} = \frac{t_1}{\sum_{i=1}^n s_j}$$
Thus we can't specify $\vec{r},\vec{c}$ exactly, but $A$ is uniquely given by the following representation (we only need $\lambda\mu$ for that): $$ A = \frac{s_1}{\sum_{j=1}^n t_j}\left(\begin{array} &s_1 \\ s_2 \\ \vdots \\ s_n\end{array}\right)\cdot \left(\begin{array} &t_1 & t_2 & ... & t_n\end{array}\right) $$