Polynomial Algorithms for Computing the Smith and Hermite Normal Forms of an Integer Matrix | Synapse