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 .