RowReduce performs a version of Gaussian elimination, adding multiples of rows together so as to produce zero elements when possible. The final matrix is in reduced row echelon form.
If m is a sufficiently non-degenerate rectangular matrix with rows and more than columns, then the first columns of RowReduce[m] will form an identity matrix. »
RowReduce works on both numerical and symbolic matrices.