When is rank(A+B)=rank(A)+rank(B) for matrices? I know that for matrices  $$\operatorname{rank}(A+B)\leq \operatorname{rank}(A) + \operatorname{rank}(B)$$ but when does the equality hold?
 A: Let $A,B\in\mathbb F^{n\times m}$. Then the following statements are equivalent:


*

*$\operatorname{rank}(A+B)=\operatorname{rank}(A)+\operatorname{rank}(B)$.

*(As suggested by Omnomnomnom.) $\operatorname{rank}[A|B]=\operatorname{rank}(A)+\operatorname{rank}(B)=\operatorname{rank}[A^T|B^T]$.

*With respect to some two bases for the domain and codomain, $A$ and $B$ are block-diagonal matrices whose nonzero diagonal subblocks do not overlap. That is, $A$ and $B$ can be written in the form of
$$
A=X\pmatrix{A'_{a\times a}\\ &0_{b\times b}\\ &&0}Y^T,
\quad B=X\pmatrix{0_{a\times a}\\ &B'_{b\times b}\\ &&0}Y^T\tag{a}
$$
for some nonsingular matrices $X\in\mathbb F^{n\times n}$ and $Y\in\mathbb F^{m\times m}$, with $a=\operatorname{rank}(A)$ and $b=\operatorname{rank}(B)$.


Denote the row space and column space of a matrix $M$ by $\operatorname{col}(M)$. In general,
\begin{align}
\operatorname{rank}(A+B)
&=\dim\operatorname{col}(A+B)\\
&\le\dim(\operatorname{col}(A)+\operatorname{col}(B))=\operatorname{rank}[A|B]\tag{b}\\
&\le\dim\operatorname{col}(A)+\dim\operatorname{col}(B)\tag{c}\\
&=\operatorname{rank}(A)+\operatorname{rank}(B).\tag{d}
\end{align}
Now suppose statement 1 is true. Then line (b) is equal to line (d), i.e. $\operatorname{rank}[A|B]=\operatorname{rank}(A)+\operatorname{rank}(B)$. Since every matrix has the same rank as its transpose, if we consider $A^T$ and $B^T$ instead, we will also get $\operatorname{rank}[A^T|B^T]=\operatorname{rank}(A)+\operatorname{rank}(B)$. Therefore statement 2 is true.
Next, suppose statement 2 is true. Then lines (b) and (d) are equal. In turn, (b) and (c) are equal too. Since
$$
\dim\left(\operatorname{col}(A)+\operatorname{col}(B)\right)
=\dim\left(\operatorname{col}(A))+\dim(\operatorname{col}(B)\right)
-\dim\left(\operatorname{col}(A)\cap\operatorname{col}(B)\right),
$$
we must have $\operatorname{col}(A)\cap\operatorname{col}(B)=0$. Thus there exists a basis $\{x_1,\ldots,x_n\}$ of $\mathbb F^n$ such that $\operatorname{col}(A)$ and $\operatorname{col}(B)$ are spanned by $\{x_1,\ldots,x_a\}$ and $\{x_{a+1},\ldots,x_{a+b}\}$ respectively. Similarly, since row rank is equal to column rank, if we consider the row spaces of $A$ and $B$ instead, the analogous argument will imply the existence of a basis $\{y_1,\ldots,y_m\}$ of $\mathbb F^m$ such that the row spaces of $A$ and $B$ are spanned by $\{y_1^T,\ldots,y_a^T\}$ and $\{y_{a+1}^T,\ldots,y_{a+b}^T\}$ respectively. Hence $A$ and $B$ can be written in the form of (a) and statement 3 is true.
Finally, if statements 3 is true, statement 1 evidently follows. Hence the three statements are equivalent.

Edit. One may also easily prove that statement 3 follows from statement 1 using tensors. Recall that the rank of a matrix is the least number of summands in a decomposition into sum of rank-$1$ matrices. Let $a=\operatorname{rank}(A)$ and $b=\operatorname{rank}(B)$. Then $A=\sum_{i=1}^a u_iv_i^T$ and $B=\sum_{j=1}^b x_jy_j^T$ where $\{u_1,\ldots,u_a\}\subset\mathbb F^n,\ \{v_1,\ldots,v_a\}\subset\mathbb F^m,\ \{x_1,\ldots,x_b\}\subset\mathbb F^n$ and $\{y_1,\ldots,y_b\}\subset\mathbb F^m$ are four linearly independent sets of vectors. So, when $\operatorname{rank}(A+B)=\operatorname{rank}(A)+\operatorname{rank}(B)$, i.e. when $\operatorname{rank}\left(\sum_{i=1}^a u_iv_i^T+\sum_{j=1}^b x_jy_j^T\right)=a+b$, $\{u_1,\ldots,u_a,x_1,\ldots,x_b\}$ must be linearly independent. Similarly, so is $\{v_1,\ldots,v_a,y_1,\ldots,y_b\}$. Hence statement 3 follows. (We still use matrix algebra in the above. In terms of tensors, since $\operatorname{Hom}(V,U)\cong U\otimes V^\ast$, we may write
$A=\sum_{i=1}^a u_i\otimes v_i$ where $u_i\in U=\mathbb F^n$ and $v_i\in V=(\mathbb F^m)^\ast$. The symbols are different but the idea remains the same.)
