# Rank of product of a matrix and its transpose [duplicate]

How do we prove that

$$\operatorname{rank}(A) = \operatorname{rank}(AA^T) = \operatorname{rank}(A^TA)$$ ?

Is it always true?

• You may also be interested in this answer. – EuYu Oct 16 '12 at 21:48
• The meaning of the equality is: the rank of a matrix is equal to the number of nonzero singular values of a matrix. – Fischer Oct 16 '12 at 22:34

It is always true. One of the important theorems one learns in linear algebra is that $$\mathrm{Nul}(A^T)^{\perp} = \mathrm{Col}(A), \quad \mathrm{Nul}(A)^{\perp} = \mathrm{Col}(A^T).$$

Therefore $\mathrm{Nul}(A^T) \cap \mathrm{Col}(A) = \{0\}$, and so forth. Now consider the matrix $A^TA$. Then $\mathrm{Col}(A^TA) = \{A^TAx\} = \{A^Ty: y \in \mathrm{Col}(A)\}$. But since the null space of $A^T$ only intersects trivially with $\mathrm{Col}(A)$, then $\mathrm{Col}(A^TA)$ must have the same dimension as $\mathrm{Col}(A)$, which gives us the equality of ranks.

We can replace $A$ with $A^T$ to prove the other equality.

This is only true for real matrices. For instance $\begin{bmatrix} 1 & i \\ 0 &0 \end{bmatrix}\begin{bmatrix} 1 & 0 \\ i &0 \end{bmatrix}$ has rank zero. For complex matrices, you'll need to take the conjugate transpose.

Here is a common proof.

All matrices in this note are real. Think of a vector $X$ as an $m\!\times\!1$ matrix. Let $A$ be an $m\!\times\!n$ matrix.

We will prove that $A A^T X = 0$ if and only if $A^T X = 0$.

It is clear that $A^T X = 0$ implies $AA^T X = 0$.

Assume that $AA^T X = 0$ and set $Y = A^T\!X$. Then $X^T\!A\, Y = 0$, and thus $(A^T\!X)^T Y = 0$. That is $Y^T Y = 0$. This implies $Y = A^T X = 0$.

We just proved that the $m\!\times\!m$ matrix $AA^T$ and the $n\!\times\!m$ matrix $A^T$ have the same null space. Consequently they have the same nullity. The nullity-rank theorem states that $$\operatorname{Nul} AA^T + \operatorname{Rank} AA^T = m = \operatorname{Nul} A^T + \operatorname{Rank} A^T.$$

Hence $\operatorname{Rank} AA^T = \operatorname{Rank} A^T$.

• @wdacda, How does $Y^TY=0$ implys $Y=0$ ? – user268307 Dec 20 '15 at 21:59
• Note that $Y$ is real, say $Y^T = [y_1,\ldots,y_n]$. Then $Y^T Y = y_1^2 + \cdots + y_n^2$. So $0 = Y^T Y = y_1^2 + \cdots + y_n^2$ implies $y_1 = \cdots = y__n =0$. – wdacda Dec 20 '15 at 23:52