A cubic algorithm for computing the Hermite normal form of a nonsingular integer matrix