Reduced Row Echelon Form (rref) Matrix in MATLAB

Reduced Row Echelon Form of a matrix is used to find the rank of a matrix and further allows to solve a system of linear equations. A matrix is in Row Echelon form if

  • All rows consisting of only zeroes are at the bottom.
  • The first nonzero element of a nonzero row is always strictly to the right of the first nonzero element of the row above it.

Example :

A matrix can have several row echelon forms. A matrix is in Reduced Row Echelon Form if

  • It is in row echelon form.
  • The first nonzero element in each nonzero row is a 1.
  • Each column containing a nonzero as 1 has zeros in all its other entries.

Example:

Where a1,a2,b1,b2,b3 are nonzero elements.

A matrix has a unique Reduced row echelon form. Matlab allows users to find Reduced Row Echelon Form using rref() method. Different syntax of rref() are:

  • R = rref(A)
  • [R,p] = rref(A)

Let us discuss the above syntaxes in detail:

rref(A)

It returns the Reduced Row Echelon Form of the matrix A using the Gauss-Jordan method.

Matlab

% creating a matrix using magic(n)
% generates n*n matrix with values
% from 1 to n^2 where every row sum
% is equal to every column sum
A = magic(4);
disp("Matrix");
disp(A);
  
% Reduced Row Echelon Form of A
RA = rref(A);
disp("rref :");
disp(RA);

                    

Output :

rref(A)

  • It returns Reduced Row Echelon Form R and a vector of pivots p
  • p is a vector of row numbers that has a nonzero element in its Reduced Row Echelon Form.
  • The rank of matrix A is length(p).
  • R(1:length(p),1:length(p)) (First length(p) rows and length(p) columns in R) is an identity matrix.

Matlab

% creating a matrix using magic(n)
% generates n*n matrix with values 
% from 1 to n^2 where every row sum
% is equal to every column sum
A = magic(5);
disp("Matrix");
disp(A);
  
% Reduced Row Echelon Form of A
[RA,p] = rref(A);
disp("rref :");
disp(RA);
  
% Displaying pivot vector p
disp("Pivot vector");
disp(p);

                    

Output :

Finding solutions to a system of linear equations using Reduced Row Echelon Form:

The System of linear equations is 

Coefficient matrix A is 

Constant matrix B is 

Then Augmented matrix [AB] is 

Matlab

% Coefficient matrix
A = [1  1  1;
     1  2  3;
     1  4  7];
       
% Constant matrix
b = [6 ;14; 30];
  
% Augmented matrix
M = [A b];
disp("Augmented matrix");
disp(M)
  
% Reduced Row echelon form of 
% Augmented matrix
R = rref(M);
disp("rref");
disp(R)

                    

Output :

Then the reduced equations are 

It has infinite solutions, one can be .