An Analysis of Matrix Reduction by Columns and its Applications to Simplicial Homology