This preview has intentionally blurred sections. Sign up to view the full version.
View Full DocumentThis preview has intentionally blurred sections. Sign up to view the full version.
View Full DocumentThis preview has intentionally blurred sections. Sign up to view the full version.
View Full Document
Unformatted text preview: Iterative Methods for Solving Avectorx = vector b A good (free) online source for iterative methods for solving Avectorx = vector b is given in the description of a set of iterative solvers called templates found at netlib: http : // www . netlib . org / linalg / html templates / Templates . html A good paperback monograph on iterative methods is the SIAM book Iterative Methods for Linear and Nonlinear Equations by Tim Kelley. Why do we want to look at solvers other than direct solvers? • The main reason is storage ! Oftentimes (especially in 3D calculations) we have a working code but we are unable to store our coefficient matrix when we attempt to do fine grid calculations even when we take advantage of the structure of our matrix. • Sometimes iterative methods may take less work than a direct method if we have a good initial guess. For example, if we are solving a time dependent problem for a sequence of time steps, Δ t, 2Δ t, 3Δ t,. .. then we can use the solution at k Δ t as a starting guess for our iterative method at ( k + 1)Δ t and if Δ t is sufficiently small, the method may converge in just a handful of iterations. • If we have a large sparse matrix (the structure of zeros is random or there are many zeros inside the bandwidth) then one should use a method which only stores the nonzero entries in the matrix. There are direct methods for sparse matrices but they are much more complicated than iterative methods for sparse matrices. Complications with using iterative methods • When we use an iterative method, the first thing we realize is that we have to decide how to terminate our method; this was not an issue with direct methods. • Another complication is that many methods are only guaranteed to converge for certain classes of matrices. • We will also find in some methods that it is straightforward to find a search direction but determining how far to go in that direction is not known. There are two basic types of iterative methods: 1. Stationary methods . These are methods where the data in the equation to find vectorx k +1 remains fixed; they have the general form vectorx k +1 = Pvectorx k + vector c for fixed matrix P and a fixed vector vector c We call P the iteration matrix . 2. Nonstationary methods. These are methods where the data changes at each iteration; these are methods of the form vectorx k +1 = vectorx k + α k vector p k Note here that the data, α k and vector p k change for each iteration k . Here vector p k is called the search direction and α k the step length. Stationary Iterative Methods The basic idea is to split (not factor) A as the sum of two matrices A = M − N where M is easily invertible. Then we have Avectorx = vector b = ⇒ ( M − N ) vectorx = vector b = ⇒ Mvectorx = Nvectorx + vector b = ⇒ vectorx = M − 1 Nvectorx + M − 1 vector b This suggests the iteration Given vectorx then vectorx k +1 = M − 1 Nvectorx k + M − 1 vector b, k = 0 , 1 , 2 ,. . ....
View
Full Document
 Spring '11
 staff
 xk, Gauss–Seidel method, Jacobi method, Iterative method, iteration matrix

Click to edit the document details