|
From: | Umut Tabak |
Subject: | Re: [Getfem-users] GMM++ Preconditioner |
Date: | Mon, 13 Sep 2010 11:14:38 +0200 |
User-agent: | Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.10) Gecko/20100620 Icedove/3.0.5 |
On 09/13/2010 11:01 AM, Danesh Daroui wrote:
Dear Renard, I have another question. When I run iterative solvers in GMM++, it takes very very long time and sometimes (specially when ILU precond. is used) the method doesn't even converge. With ILUT and ILUTP I got the error "pivot is too small" and i don't know why. But, with direct solvers, it is possible to solve it in less time. Is it because my matrix is not sparse enough? But I am wondering, if I solve a dense system with iterative solver, shouldn't it take in worse case, the time equal to direct solver? I have run all my tests using GMRES solver. Do you think that I may get better result with other iterative solvers in GMM++? Thanks, Danesh
Hi Danesh,Iterative solvers, most of the time, do not work without a good preconditioner set for them and finding good preconditioners is also pretty hard, and problem specific most of the time.
Apart from this, convergence properties are closely related to the spectral properties of the operator matrix(the scattering of the eigenvalues), using iterative solvers might need serious expertise and knowing your problems in deep, so they are not sth like black box routines, or a shot-in-the-dark like direct(LU factorization) solvers.
And from my experience, if your matrices are really ill-conditioned and you can not improve the condition numbers seriously by the application of a preconditioner, the best bet is to rely on direct solvers, PETSc has interfaces for MUMPS solver package, it seems to be the best option most of the time.
Hope this helps a bit, Umut
[Prev in Thread] | Current Thread | [Next in Thread] |