# Show that $\operatorname{rank}(A)=p$

Let $A$ be an $m \times n$ matrix. Let $p$ be the smallest integer so that $A=BC$ for some $m \times p$ matrix $B$ and some $p \times n$ matrix $C$.

I want to show that $\operatorname{rank}(A)=p$.

My attempt:

Take $v \in \operatorname{Col}(A)$, where $\operatorname{Col}(A)$ denotes the column space of $A$. So $v=Ax$ for some $x$. This implies that $v=BCx=B(Cx) \in \operatorname{Col}(B)$. Thus $\operatorname{rank}(A) \leq \operatorname{rank}(B) \leq p$.

I guess I now need to show that $\operatorname{rank}(A) \geq p$, I'm not sure how to do this though.

• HINT: $p$ is the smallest number such that "something": this means that $p \le$ something. Consider the epimorphism $f_A : k^n \to Ak^n$ given by $v \mapsto Av$, and then the inclusion $i: Ak^n \to k^m$. – Crostul Dec 6 '16 at 22:30
• @Crostul Hmm. I'm not quite sure how to use your hint. I understand what you're saying but I don't know how to use it. – Si.0788 Dec 6 '16 at 22:35
• What you need to show is that for any matrix of rank $p$, there exists a factorization $AB$ in which $A$ is $n \times p$. – Omnomnomnom Dec 6 '16 at 22:36
• @Omnomnomnom Is this not the converse of what I want to show? – Si.0788 Dec 6 '16 at 22:44
• @user332597 no. What you've already shown is that for any such factorization, $A$ must have at least $p$ columns. – Omnomnomnom Dec 6 '16 at 22:46