Another method for solving systems of linear equations involves reducing a matrix to row echelon form.  In addition to being able to solve both singular and nonsingular systems, this method can simultaneously determine solutions to more than one set of constants on the right side of the equations.


Row echelon form is sometimes called reduced row echelon form or Hermite normal form.  A matrix is in row echelon form if:

       the first nonzero element in every row is 1,

       the first nonzero element in every row occurs to the right of the first nonzero element in the row above it, and

       all the elements above the first nonzero element in a row are 0.


Use ROW_REDUCE to compute the row echelon form of a matrix.  The only matrix operations used are multiplying rows by scalars and adding rows.  These elementary row operations do not change the solution set.


If ROW_REDUCE is given two matrices, it adjoins them and returns the row echelon form of this augmented matrix.  Thus, to solve the matrix equation A·X = B where A and B are matrices and X is a vector of variables, enter and simplify (or approximate) an expression of the form

ROW_REDUCE(A, B)

If A is nonsingular, the result is a matrix in row echelon form: the identity matrix adjoined to the solution matrix.  For example,

ROW_REDUCE([1, 2; 5, 6], [3, 4; 7, 8])

simplifies to

1  0  -1  -2
             
0  1   2   3

and the solution is

-1  -2
       
 2   3


If A is singular, rows having 0 on the main diagonal are consistent only with augmented columns having 0 in the same row, in which case the corresponding element of X is arbitrary.  For example, since

ROW_REDUCE([1, 1; 2, 2], [1, 1; 2, 1])

simplifies to

1  1  1  0
           
0  0  0  1

the right column is inconsistent, but the column preceding it is consistent.


RANK(A) simplifies to the rank of matrix A.  The rank of a matrix is equal to the number of nonzero rows in the row echelon form of the matrix.  For example,

RANK([2, 3, 5; 4, 6, 10; 1, 2, 3])

simplifies to 2, since the second row is a multiple of the first.  Note that in approximate mode, RANK may return erroneous results due to roundoff errors.


If a matrix contains symbolic entries, reducing it to row echelon form may result in the loss of information about special cases.  For example,

ROW_REDUCE([1, 0; 0, x-2])

simplifies to [1,0;0,1].  However, in the special case x=2

ROW_REDUCE([1, 0; 0, 2-2])

simplifies to [1,0;0,0].


Turing LU matrix factoring is useful to determine the location of such special cases.  The last factor of a Turing factorization is the row echelon form of the matrix.  If the determinant of the third factor is nonzero, this row echelon form is always valid.  However, if the matrix contains variables and there are sets of values for those variables such that the determinant of the third factor is zero, the row echelon form must be re-computed separately for each of those sets of values.  For example,

FACTOR([1, 0; 0, x - 2], Turing)

simplifies to

1  0 1  0 1    0   1  0 1  0
     ·      ·          ·      ·      
0  1 0  1 0  x - 2 0  1 0  1

and

DET([1, 0; 0, x - 2])

simplifies to x2.  For more information about Turing LU matrix factoring see Factoring MatricesFactoring_Matrices.


Other Vectors and MatricesVectors_and_Matrices topics

Created with the Personal Edition of HelpNDoc: Benefits of a Help Authoring Tool