|
[Sponsors] |
August 9, 2006, 13:34 |
what is the "iterative refinement'
|
#1 |
Guest
Posts: n/a
|
hi: slove Ax=B with iterative refinement! but what is the meaning of the iterative refinement! Regards
|
|
August 9, 2006, 16:55 |
Re: what is the "iterative refinement'
|
#2 |
Guest
Posts: n/a
|
initial guess x_0
do i = 1, maxIters solve A*dx = b-A*x_(i-1) x_i = x_(i-1)+dx if (norm(dx) < solutionTolerance) exit if (norm(b-A*x_i) < residualTolerance) exit end do The above pseudocode is for iterative refinement (using delta form, dx). It helps as compared with non-delta form ("solve Ax=b") only if the residual b-A*x_(i-1) is computed using higher-precision arithmetic. It can also help in cases of poorly conditioned coefficient matrices. |
|
August 9, 2006, 19:37 |
Re: what is the "iterative refinement'
|
#3 |
Guest
Posts: n/a
|
I should have said that x_0 = 0 is a suitable initial guess
|
|
August 10, 2006, 21:56 |
Re: what is the "iterative refinement'
|
#4 |
Guest
Posts: n/a
|
Thank you very much! why not solve the Ax=B directly! what is its advantage! Regards
|
|
August 11, 2006, 18:34 |
Re: what is the "iterative refinement'
|
#5 |
Guest
Posts: n/a
|
You may notice that in the iterative refinement scheme, with x_0 = 0, the first iteration of the loop amounts to
solve A*dx = b x_1 = dx So basically, the first iteration amounts to saying solve A*x = b. In exact arithmetic, this is the original task. However, in finite precision computer arithmetic, espectially with a poorly conditioned matrix A, this direct one-step solution is not accurate enough. The iterative refinement improves the accuracy of the answer, provided that the residual is computed accurately enough. Incidentally, in the delta form of the equation, the matrix A can be replaced by an approximation to it which is cheaper to solve. |
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
[snappyHexMesh] Number of cells in mesh don't match with size of cellLevel | colinB | OpenFOAM Meshing & Mesh Conversion | 14 | December 12, 2018 09:07 |
[snappyHexMesh] Boundary layer in a pipe | Clementhuon | OpenFOAM Meshing & Mesh Conversion | 6 | March 12, 2012 13:41 |
[snappyHexMesh] snappyHexMesh won't work - zeros everywhere! | sc298 | OpenFOAM Meshing & Mesh Conversion | 2 | March 27, 2011 22:11 |
[snappyHexMesh] snappyHexMesh aborting | Tobi | OpenFOAM Meshing & Mesh Conversion | 0 | November 10, 2010 04:23 |
[snappyHexMesh] external flow with snappyHexMesh | chelvistero | OpenFOAM Meshing & Mesh Conversion | 11 | January 15, 2010 20:43 |