Path: news.mathworks.com!newsfeed-00.mathworks.com!solaris.cc.vt.edu!news.vt.edu!news.glorb.com!news2.glorb.com!tr22g12.aset.psu.edu!news.mathforum.org!not-for-mail
From: Shiyuan Gu <gshy2014@gmail.com>
Newsgroups: comp.soft-sys.matlab
Subject: Re: sparse matrix multiplication and cgs()
Date: Tue, 02 Jun 2009 14:03:45 EDT
Organization: The Math Forum
Lines: 15
Message-ID: <33007859.10528.1243965858198.JavaMail.jakarta@nitrogen.mathforum.org>
References: <h00sh1$jej$1@fred.mathworks.com>
NNTP-Posting-Host: nitrogen.mathforum.org
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Trace: support1.mathforum.org 1243965858 30540 144.118.30.135 (2 Jun 2009 18:04:18 GMT)
X-Complaints-To: news@news.mathforum.org
NNTP-Posting-Date: Tue, 2 Jun 2009 18:04:18 +0000 (UTC)
Xref: news.mathworks.com comp.soft-sys.matlab:544286


> Why not using PCG, which is design for spd matrix?
pcg is slower than cgs. pcg() needs about 16 iterations.

> Not sure about the "theoretical" claim above: 
I mean the floating point operation count. Since there are no more than 26 nozeros each row/column, we only need O(n) (where n=size(A,1)) additions/multiplications for each iteratios. since we only need no more than 10 iterations in total. The total number of addition/multiplications is O(n). But for L\y, we need 2n^2 additions/multiplications. 

>CGS/PCG convergence depends on the condition number of >A. If cond(A)=A it will converge in no time (1 >iteration is enough in fact).

cond(A) is not too bad.(about 1e3). cond(A) will affect the convergence, but it turns out that the it only needs no more than 6 iterations.

> 
> Iterative methods are not always faster than direct
> method.
> 
> Bruno