I am interested in
$$\lim_{k \to \infty} \operatorname{rank} \left( \mathbf{A}^k \right)$$
for a $n \times n$ matrix $\mathbf{A}$. I know that
for a nilpotent matrix, $\mathbf{A}^k=0$ when $k$ is big enough, which means $\operatorname{rank} (\mathbf{A}^k) \to 0$ when $k \to \infty$.
for a nonsingular matrix, $\mathbf{A}^k$ is also nonsingular and $\operatorname{rank} \left( \mathbf{A}^k \right)$ is the number of the columns/rows.
Is there any general theorem that tells us the result for a general square matrix?