Matlab diary from CS 290H, Monday, May 12, 2014 This is /Users/gilbert/Documents/CS290hSpring2014/Matlab/startup.m Starting diary file diary-12-May-2014.txt > load PGPgiantcompo > A = Problem.A; > whos Name Size Bytes Class Attributes A 10680x10680 863560 double sparse Problem 1x1 1037746 struct > A = laplacian(A); > spy(A) > d = sum(spones(A)) - 1; > hist(d,100) > max(d) ans = 205 > mean(d) ans = 4.5536 > sum(d==1) ans = 4229 > n = length(A) n = 10680 > b = rand(n,1); > b = b - mean(b); > sum(b) ans = 1.4038e-11 > [x, flag, relres, iter, resvec] = pcg(A,b,1e-6,n); > iter iter = 640 > semilogy(resvec / resvec(1)),shg,hold on > figure(2) > R = chol(A); > nnz(A) ans = 59312 > nnz(triu(A)) ans = 34996 > spy(A) > spy(R) > clc > close all > [x, flag, relres, iter, resvec] = pcg(A,b,1e-6,n); > norm(A*x-b) ans = 2.8163e-05 > figure > semilogy(resvec / resvec(1)),shg,hold on > xlabel('CG iteration') > ylabel('residual reduction') > title(sprintf('PGPgiantcompo: %d vertices, %d edges',length(A),nnz(triu(A)))) > shg > D = diag(diag(A)); > [x, flag, relres, iter, resvec] = pcg(A,b,1e-6,n,D); > semilogy(resvec / resvec(1),'g'),shg > RR = cholinc(A,'0'); > [x, flag, relres, iter, resvec] = pcg(A,b,1e-6,n,RR',RR); > semilogy(resvec / resvec(1),'r'),shg > legend('no precond', 'Jacobi precond', 'IC precond'),shg > shg > diary off