# hw10 - Due CS 257(Luke Olson Homework#10 Problem 1 Problem...

This preview shows pages 1–3. Sign up to view the full content.

This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: Due: November 20, 2008 CS 257 (Luke Olson): Homework #10 Problem 1 Problem 1 In this problem, we compare the performance of Jacobi, Gauss-Seidel, and Conjugate Gradient versus the problem size. Using the functions jacobi.m , gauss seidel , and cg.m that you will provide, we will plot the number of iterations until convergence for each of the three solvers. The code is in this driver file, called solvercompare.m : Listing 1: Driver code 1 % solvercompare.m 2 3 nmax = 50; iters = zeros (nmax-3,3); 4 5 for n = 4:nmax 6 A = gallery ( ’poisson’ ,n); 7 b = sin (2 * pi * (1:n * n)/(n * n))’; 8 9 % Jacobi 10 x = zeros (n * n,1); 11 [x,niters] = jacobi(A,b,x); 12 iters(n-3,1) = niters; 13 14 % Gauss-Seidel 15 x = zeros (n * n,1); 16 [x,niters] = gauss_seidel(A,b,x); 17 iters(n-3,2) = niters; 18 19 % Conjugate Gradient 20 x = zeros (n * n,1); 21 [x,niters] = cg(A,b,x,ones(n * n,1)); 22 iters(n-3,3) = niters; 23 end 24 25 % plot results 26 probsizes = (4:nmax)’; 27 probsizes = probsizes .ˆ 2; 28 loglog (probsizes,iters(:,1), ’b-’ ); 29 hold on; 30 loglog (probsizes,iters(:,2), ’r-’ ); 31 loglog (probsizes,iters(:,3), ’g-’ ); 32 legend ( ’Jacobi’ , ’Gauss-Seidel’ , ’CG’ ); 33 xlabel ( ’problem size’ ); 34 ylabel ( ’# of iterations’ ); Here is a template for jacobi.m . You may use the code from Lecture 22 iterative jacobi.m , but you will have to modify it to also return the number of iterations used and loop until convergence (using an appropriate test) instead of for a fixed number of iterations. Problem 1 continued on next page... Page 1 of 5 Due: November 20, 2008 CS 257 (Luke Olson): Homework #10 Problem 1 (continued) Listing 2: Jacobi solver 1 function [x,niters]=jacobi(A,b,x) 2 % jacobi(A,b,x) - computes solution to Ax=b using Jacobi iteration 3 % Usage: 4 % [x,niters] = jacobi(A,b,x) 5 % A - n x n matrix 6 % b - n x 1 vector (right-hand side) 7 % x - n x 1 vector that contains initial guess 8 % Returns: 9 % niters - number of iterations until convergence 10 % x - solution Here is a template for...
View Full Document

• Spring '08
• Olson
• Articles with example pseudocode, Gauss–Seidel method, Jacobi method, Iterative method, conjugate gradient, Luke Olson

{[ snackBarMessage ]}

### Page1 / 5

hw10 - Due CS 257(Luke Olson Homework#10 Problem 1 Problem...

This preview shows document pages 1 - 3. Sign up to view the full document.

View Full Document
Ask a homework question - tutors are online