Starting diary file diary-08-May-2013.txt A = grid5(100); n = length(A) n = 10000 b = rand(n,1); [x, flag, relres, iter, resvec] = pcg(A,b,1e-8,10*n); iter iter = 302 semilogy(resvec / resvec(1)),shg help luinc LUINC Sparse Incomplete LU factorization. ... help cholinc CHOLINC Sparse Incomplete Cholesky and Cholesky-Infinity factorizations. ... hold on figure,spy(A) nnz(A) ans = 49600 nnz(chol(A)) ans = 1000099 R = cholinc(A,'0'); nnz(R) ans = 29800 nnz(tril(A)) ans = 29800 figure,spy(R) help pcg PCG Preconditioned Conjugate Gradients Method. ... [x,flag,relres,iter,resvec] = pcg(A,b,1e-8,n,R',R); shg semilogy(resvec / resvec(1),'r'),shg opt.droptol=.1 opt = droptol: 0.1000 R = cholinc(A,opt); nnz(R) ans = 29800 nnz(triu(A)) ans = 29800 opt.droptol=.05 opt = droptol: 0.0500 R = cholinc(A,opt); nnz(R) ans = 39601 nnz(chol(A)) ans = 1000099 [x,flag,relres,iter,resvec] = pcg(A,b,1e-8,n,R',R); semilogy(resvec / resvec(1),'g'),shg diary off