Reduced row echelon form (Gauss-Jordan elimination)
R = rref(A)
[R,jb] = rref(A)
[R,jb] = rref(A,tol)
R = rref(A) produces the
reduced row echelon form of
A using Gauss Jordan
elimination with partial pivoting. A default tolerance of (
max(size(A))*eps *norm(A,inf)) tests for negligible column elements.
[R,jb] = rref(A) also returns
jb such that:
r = length(jb) is this algorithm's
idea of the rank of
x(jb) are the pivot variables in
a linear system
Ax = b.
A(:,jb) is a basis for the range
R(1:r,jb) is the
[R,jb] = rref(A,tol) uses
the given tolerance in the rank tests.
Roundoff errors may cause this algorithm to compute a different
value for the rank than
mldivide to solve linear systems
when high precision is required.
rref on a rank-deficient magic square:
A = magic(4), R = rref(A) A = 16 2 3 13 5 11 10 8 9 7 6 12 4 14 15 1 R = 1 0 0 1 0 1 0 3 0 0 1 -3 0 0 0 0