Finite index subgroup with free abelianization

Suppose G is a nilpotent, finitely generated group such that it's abelianization has rank r. How does one go on proving that G has a finite-index subgroup H with free abelianization of rank r?

-
Then after abelianization G is of rank 0, hence we can take H to be the trivial subgroup. – Matthew Clayton Aug 24 '11 at 23:24
@Geoff: there is no problem there; then $r=0$. – user641 Aug 24 '11 at 23:27
@Geoff: You are not using the usual definition of rank of an abelian group. – Grumpy Parsnip Aug 25 '11 at 14:46

The abelianization gives you a surjection $G\twoheadrightarrow G^{ab}\cong\mathbb Z^r\oplus T$, where $T$ is a finite torsion group. (Finite because the abelianization is finitely generated.) Now let $H$ be the inverse image of $\mathbb Z^r$ under this surjection.
Edit: As pointed out in the comments, $H^{ab}$ could be $\mathbb Z^r\oplus T_1$. So you repeat the process by taking a finite index subgroup of $H$, say $H_1$. Now it's not hard to show that $G,H,H_1,\ldots$ is a descending central series. That means each term is contained in the corresponding term of the lower central series and the quotients $H_i/H_{i+1}$ are contained in the quotients $\Gamma_i/\Gamma_{i+1}$ of the lower central series, which are eventually trivial.
$H$ maps onto $\mathbb Z^r$ so its abelianization is at least as big as $\mathbb Z^r$, since any homomorphism to an abelian group factors through its abelianization. Perhaps this is where nilpotency is used, since you can only repeat this process finitely many times. – Grumpy Parsnip Aug 24 '11 at 23:54
@Jim: Are you using rank in the sense of "minimum number of generators", or in some other sense? If you are, then the rank of $\mathbb{Z}^{r} \oplus T$ is greater than $r$ if the torsion part is non-zero. – Geoff Robinson Aug 25 '11 at 13:40