5903 Intro Scientific Prog:
Linear Solve A: Specification

  1. Write subroutines (the matrix A should be your sparse format) and the vector x should either be a simple array or a vector structure of your choice) that complete one iteration of the following (the wikipedia pages Jacobi Method, GaussSeidel Method, and Succesive Over Relaxation Method provide details) iterative solution techniques. 
    1. Jacobi(A, x, b)
    2. GaussSeidel(A, x, b)
    3. SOR(A, x, b, omega) 
  2. Write a subroutine to iterate your subroutines in (1) to a maximum number of steps is or a suitable convergence criterion is met. The subroutine should have the input form IterativeSolve(A, x, b, NMax, Tol, FLAG) where FLAG inidicates the iteration to use, NMax is the maximum number of steps to take, nd Tol is a specified tolerance.
  3. You must organize your code into seperate files and make the "makefile" reasonably compact.  Provide some estimate of the operation count in the header of each of the iterative routines.
  4. In the ReadMe compare the overall performance of the three methods on a 100 by100 test matrix A.  Make sure that you provide the matrix you used when submitting the homework. Sample matrices are in this directory      


Additions and changes are in red.