The goals of this homework are to get experience in the
implementation of simple iteration schemes, and to understand their
relative convergence behavior.

Modifiy the program that you wrote for homework 3 to include the ability to use point Jacobi, standard Gauss-Seidel, and a Gauss-Siedel based SOR as the solution method for your linear equations. For your SOR method, either use the formula in the notes for an "optimal" over-relaxation factor, or obtain one with two significant digits (e.g. 1.2) from a numerical study. Run each method for 1000 iterations on the 100 volume (10x10) problem. At each iteration calculate the difference between the answer from the direct matrix solution and that obtained from the iterative solution. Find the maximum of the absolute values of all of these differences (maximum absolute error). Plot the logorithm of this error versus iteration number for all three of the iteration methods on the same graph. Clearly label your graph. Clearly indicate which iteration method has the fastest convergence. For each method how many iterations would be required to converge to six decimal digits of accuracy (e.g. 500.123)? How many to reach twelve digits of accuracy? In some cases you will need to go beyond 1000 iterations to answer these questions.