Problems with row reduction
Row Reduction Errors
We examine how row reduction can lead to errors in computing the inverse
of certain types of matrix. This indicates the
contexts in which we need to use more advanced pivoting techniques.
There are three types of pivoting that we consider:
- No pivoting. In other words, we always take the diagonal entry as the pivot.
- Partial Pivoting. At the
-th step we take the largest entry in the
-th column as the pivot.
- Scaled pivoting. At the
-th step we compare the ratios of the entry in the
-th column to the largest entry in the same row. We take as pivot the entry for which this ratio is the largest.
Let us assume that the matrix has entries as powers of 2 and that row interchange has been performed so that the pivot is at the top-left corner. This means that the matrix is:
Moreover, the numbers satisfy the conditions as given below:
Applying row-reduction with the top-left corner as the pivot we obtain:
The "machine epsilon" is the biggest number such that
is the same as 1 when the arithmetic is done on the
machine. In a typical modern computer this is
in double
precision calculations.
Thus if , then some information is lost
in
. There are two cases to consider:
In the first case, we see that the result of the computation is not the matrix we started with whereas in the second case we get what we started.
We note that if we use "scaled pivoting" then the second case cannot
occur! Further, even in the case of "partial pivoting", we have
so that the condition
is only
achieved if
which happens in fewer cases.
When the matrix is larger, we can produce examples where even "scaled pivoting" will lead to an accmulation of errors. Hence, the most stable method for pivoting is to use "full pivoting" where the pivot chosen is the largest entry of the matrix. However, this is a comparatively slower method and is only employed in rare cases.