RowReduce[m] gives the row-reduced form of the matrix m.
Example: RowReduce[3, 1, a, 2, 1, b] .
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 non-degenerate square matrix, RowReduce[m] is IdentityMatrix[Length[m]].
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.
RowReduce[m, Modulus -> n] performs row reduction modulo n.
RowReduce[m, ZeroTest -> test] evaluates test[ m[[i, j]] ] to determine whether matrix elements are zero.
See The Mathematica Book: Section 3.7.8.
Implementation Notes: see section A.9.4.
See also: LinearSolve, Inverse, NullSpace, GroebnerBasis.