diff options
author | jthorn <jthorn@f88db872-0e4f-0410-b76b-b9085cfa78c5> | 2003-06-12 01:28:36 +0000 |
---|---|---|
committer | jthorn <jthorn@f88db872-0e4f-0410-b76b-b9085cfa78c5> | 2003-06-12 01:28:36 +0000 |
commit | 2796e76dc3f5b0b7c77b2b0d6596a3e48cc2836c (patch) | |
tree | 4f232e0ae980f2faf4258f900bff9d0463d55d64 /src/sparse-matrix | |
parent | 2c5520b97975524905f45db3dd865a5cbbfb8e29 (diff) |
change convergence criterion to fix a bug (which I introduced
when modifying these subroutines in 1989) which causes the conjugate gradient
iteration to spuriously claim "convergence" after way too few iterations
(sometimes only 1 iteration) if the rhs vector is very small
(as it is when AHFinderDirect has almost -- but not quite --
converged to the apparent horizon)
git-svn-id: http://svn.einsteintoolkit.org/cactus/EinsteinAnalysis/AHFinderDirect/trunk@1106 f88db872-0e4f-0410-b76b-b9085cfa78c5
Diffstat (limited to 'src/sparse-matrix')
-rw-r--r-- | src/sparse-matrix/ilucg/dilucg.f77 | 5 | ||||
-rw-r--r-- | src/sparse-matrix/ilucg/silucg.f77 | 5 |
2 files changed, 8 insertions, 2 deletions
diff --git a/src/sparse-matrix/ilucg/dilucg.f77 b/src/sparse-matrix/ilucg/dilucg.f77 index 11d6c4b..f5e5136 100644 --- a/src/sparse-matrix/ilucg/dilucg.f77 +++ b/src/sparse-matrix/ilucg/dilucg.f77 @@ -48,6 +48,8 @@ C * ADD CONVERGENCE CRITERIA, J. THORNBURG, 17/MAY/85. C * CHANGED CONVERGENCE CRITERIA, J. THORNBURG, 4/AUG/89. C * AVOID SKIP RETURNS, J. THORNBURG, 10/SEP/89. C * CHANGE FUNCTION BACK TO SUBROUTINE, J. THORNBURG, 3.JUN.2003 +C * CHANGE CONVERGENCE CRITERIA TO AVOID SPURIOUSLY STOPPING TOO SOON +C ON SMALL RHS VECTORS -- J. THORNBURG, 11.JUN.2003 C C REFERENCE: C D.S.KERSHAW,"THE INCOMPLETE CHOLESKY-CONJUGATE GRADIENT @@ -311,7 +313,8 @@ C C ALPHA=RDOT/PDOT C EQUATION 9PA ALPHA=(R,LINV*R)/(P,UT*U*P) - XMAX=1.0D0 +C 1 + ||X CHANGE|| CHANGED TO ||X CHANGE|| -- J. THORNBURG, 11.JUN.2003 + XMAX=0.0D0 XDIF=0.0D0 DO 30 I=1,N AP=ALPHA*P(I) diff --git a/src/sparse-matrix/ilucg/silucg.f77 b/src/sparse-matrix/ilucg/silucg.f77 index fc97c3b..8198ecb 100644 --- a/src/sparse-matrix/ilucg/silucg.f77 +++ b/src/sparse-matrix/ilucg/silucg.f77 @@ -48,6 +48,8 @@ C * ADD CONVERGENCE CRITERIA, J. THORNBURG, 17/MAY/85. C * CHANGED CONVERGENCE CRITERIA, J. THORNBURG, 4/AUG/89. C * AVOID SKIP RETURNS, J. THORNBURG, 10/SEP/89. C * CHANGE FUNCTION BACK TO SUBROUTINE, J. THORNBURG, 3.JUN.2003 +C * CHANGE CONVERGENCE CRITERIA TO AVOID SPURIOUSLY STOPPING TOO SOON +C ON SMALL RHS VECTORS -- J. THORNBURG, 11.JUN.2003 C C REFERENCE: C D.S.KERSHAW,"THE INCOMPLETE CHOLESKY-CONJUGATE GRADIENT @@ -306,7 +308,8 @@ C C ALPHA=RDOT/PDOT C EQUATION 9PA ALPHA=(R,LINV*R)/(P,UT*U*P) - XMAX=1.0 +C 1 + ||X CHANGE|| CHANGED TO ||X CHANGE|| -- J. THORNBURG, 11.JUN.2003 + XMAX=0.0 XDIF=0.0 DO 30 I=1,N AP=ALPHA*P(I) |