Path: news.mathworks.com!not-for-mail
From: "Penny Anderson" <penny@mathworks.com>
Newsgroups: comp.soft-sys.matlab
Subject: Re: condition number of FE matrix -> improving iterative solver
Date: Mon, 9 Nov 2009 10:10:44 -0500
Organization: The MathWorks, Inc.
Lines: 51
Message-ID: <hd9bdm$9g8$1@fred.mathworks.com>
References: <hd6pba$84c$1@fred.mathworks.com>
Reply-To: "Penny Anderson" <penny@mathworks.com>
NNTP-Posting-Host: andersonp.dhcp.mathworks.com
X-Trace: fred.mathworks.com 1257779446 9736 172.31.46.199 (9 Nov 2009 15:10:46 GMT)
X-Complaints-To: news@mathworks.com
NNTP-Posting-Date: Mon, 9 Nov 2009 15:10:46 +0000 (UTC)
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2900.5843
X-RFC2646: Format=Flowed; Original
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5579
Xref: news.mathworks.com comp.soft-sys.matlab:583566


"A B" <gitsnedbutzi@hotmail.com> wrote in message 
news:hd6pba$84c$1@fred.mathworks.com...
> Hi,
>
> I'm working on a FE software and right now I'm stuck with the solver.
>
> I'm both trying cholmod2 (from Tim Davis' package) and standard pcg.
> Right now, i've got a text matrix, which is just a beam with about 30 
> 000dof and cholmod2 wins hands down. However, when using larger matrices, 
> I can't use cholmod2 because there isn't sufficient memory.
>
> However, I noted a few things which actually surpise me.
> First of all, when using condest on my FE matrix of the beam, the 
> condition number is in the order of 1e8. When checking the statistics of 
> cholmod2, it returns the reciprocal of the condition number as about 1e-3. 
> What is the cause for the big difference in the condition number? I have 
> been told that the condition number for structural problem usually is 
> somewhere arounc 1e4 to 1e5, so I think that the 1e8 is rather high. 
> Especially since it's a simple problem with a regular mesh.
>
> For the pcg I'm using a incomplete lu factorization with zero fill-in. Why 
> is pcg so much slower than the direct solver, even if I use a 
> preconditioner?
>
> Are there any other tricks to improve the condition number of the my FE 
> matrix, or ways to improve the solution speed of pcg? I need it for 
> problems with more dof? Or is there a way to make cholmod2 use less memory 
> (though it already applies reordering...)
>
> Thanks for any help on my problem!!

Hi,

Be careful what you are comparing. cond, condest and rcond in MATLAB all 
compute different things.

1-norm and 2-norm, the quantity or its reciprocal, "exact" or estimate.

The doc will help you distinguish. Add another package like cholmod2 to the 
mix, and you have more information to read.

In general, the (preconditioned) iterative methods only win when you do not 
have the memory to compute the factorization via a direct solve method. Yes, 
they are slow, but you get there eventually, which is faster than not at all 
:-)

Good luck.

Penny.