10.6 Iterative Improvement

   

 
Java Number Cruncher: The Java Programmer's Guide to Numerical Computing
By Ronald  Mak

Table of Contents
Chapter  10.   Solving Systems of Linear Equations

10.6 Iterative Improvement

In Chapter 5, we examined root-finding algorithms, such as Newton's algorithm, that converge toward a correct solution. Each iteration step generated an approximate solution, which was then used in the next iteration to generate a better approximation . We stopped when we deemed an approximation to be "close enough." We can do something similar when we use matrices to solve systems of equations.

Let's say we use the matrix operations described in the previous section to solve a system of equations Ax = b, and we compute our first solution x 1 . Most likely, this solution isn't exact because of roundoff errors, and so we can compute the residual vector

graphics/10equ27.gif


We use r 1 to solve the system

graphics/10equ28.gif


for z 1 .

The values of z 1 represent the discrepancies in the corresponding values of x 1 that caused the residual values in r 1 . In other words, if we compute x 2 = x 1 + z 1 , then x 2 is the correct solution to the original equation Ax = b. That's assuming z 1 was computed correctly, but, of course, it probably wasn't, either.

So we iterate again:

graphics/10equ29.gif


We solve

graphics/10equ30.gif


for z 2 , and then x 3 = x 2 + z 2 .

We continue iterating, and if all goes well, the x i will converge toward the correct solution. We stop when we decide we're "close enough."


   
Top
 


Java Number Cruncher. The Java Programmer's Guide to Numerical Computing
Java Number Cruncher: The Java Programmers Guide to Numerical Computing
ISBN: 0130460419
EAN: 2147483647
Year: 2001
Pages: 141
Authors: Ronald Mak

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net