Re: Is there any method to improve the precision of AMG?
- From: spellucci@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx (Peter Spellucci)
- Date: Fri, 26 Oct 2007 13:55:50 +0000 (UTC)
In article <30194394.1193369527467.JavaMail.jakarta@xxxxxxxxxxxxxxxxxxxxxx>,
tangtang <tangzhanghong98@xxxxxxxxx> writes:
Hello all,
I am a beginner of AMG. I have posted a message in
http://softwarecommunity.intel.com/isn/Community/en-US/forums/thread/30242425.aspx
My task is to solve very large sparse matrices by AMG or
AMG-preconditioned iterative methods.
Currently the matrix is generated from the FEM (unstructured mesh)
driven by Possion equations. By numerical tests I found that the
relative residual ||b-A*x||/||b|| could reach to an expected range
(for example, 1.e-10) when the number of unknowns is only about
100,000. However, when the number of unknowns reaches to more than
1,000,000, all AMG-preconditioned iterative methods failed to
converge to the expected value. But even such a large system, the
ILU(0)-preconditioned iterative methods can obtain such a precision for
thousands of iterations.
the precision obtainable under roundoff
for iterative methods depends on the contraction
constant of the method (??? is yours <1 independent on N ??? )
and the condition of the system.
as soon as the theoretical error reduction in the solution is compensated
for by the roundoff involved in one iteration, no improvement is any longer
obtainable.
(In many textbooks nonsense is written about this
and special fallacious
"tests" performed with special integer matrices and integer right hand sides
where the roundoff behaviour is quite special)
with increasing N (decreasing mesh h) the condition number of your matrix
grows like 1/h^2. the residual will stop to decrease if the solution comes
into the range of cond(A)*eps
and case of the preconditioner, this applies to the preconditioned matrix
10^(-10) seems a bit ambitious if eps=2.2*10^(-16)
the result of second method is surprised to me:
My question is:
1. Is it possible for the AMG based solver to obtain such precision and is there any method to do so?
2. Except the tests I posted in my former message, I also did the following tests:
According to the theory of float point error,
fl(a*b)=a*b+eps*a*b
fl(a+b)=a+b+eps*(a+b)
where fl is the float point operator and eps is somewhat related to the machine precision.
I tried to do some process to the matrix:
1) scale the matrix's elements to a small value to decrease the float point error in the latter iteration;
2) solve the system
A'*x'=b'
where
A'=D^(-1/2)*A*D^(-1/2),
D is the diagonal elements of A,
x'=D^(1/2)*x,
b'=D^(-1/2)*b.
However, by the first method, the result has no improvement;
at this time the iterative methods don't converge,
even for very small system.
first: obvious: if you scale the problem , at best by a power of two _nothing
changes_ , not even the roundoff errors.
second: unbelievable: (if you used the same preconditoner subsequently)
a positive symmetric matrix is optimally scaled by diagonal matrices
up to a factor sqrt(n) if its diagonal is the unit matrix (->van der Sluis)
your diagonal transform is well known and one standard preconditioner
which can be used blindly. but clearly, in case of the poisson problem
with uniform mesh it can have no effect, but should have also no bad effect
hth
So could anyone analyze the methods I tested and give me some suggestion?
Thanks,
Zhanghong Tang
peter
.
- Follow-Ups:
- Re: Is there any method to improve the precision of AMG?
- From: tangtang
- Re: Is there any method to improve the precision of AMG?
- From: tangtang
- Re: Is there any method to improve the precision of AMG?
- References:
- Is there any method to improve the precision of AMG?
- From: tangtang
- Is there any method to improve the precision of AMG?
- Prev by Date: Re: Least Squares using parametric equations
- Next by Date: Re: Free sending and sharing any whole solution manual Ebook
- Previous by thread: Is there any method to improve the precision of AMG?
- Next by thread: Re: Is there any method to improve the precision of AMG?
- Index(es):
Relevant Pages
|
|