On 8/28/07, Matthew Knepley <knepley at gmail.com> wrote: > On 8/28/07, Lisandro Dalcin <dalcinl at gmail.com> wrote: > > On 8/28/07, Matthew Knepley <knepley at gmail.com> wrote: > > > Todd's response was that there are reasons it can stop early, like happy > > > breakdown, so we really need to test this with the dev version to track > > > down this behavior. > > > > OK, my tests script just looped over all available KPS types, but some > > of them are special purpose. However, GLTR does not seems to stopping > > because of happy breakdown, it always stop at maxit-1 (with my skip > > converged), so perhaps there are a problem with the loop index. > > Okay, should be fixed in dev. > > > Matt, from your previous mail, something is not clear to me: > > > > Can I modify KSPSkipConverged for release-2.3.3 ? > > Yes, that seems fine. Have you made a patch to release before?
Yes, patch and commit and push in release, next pull on my local dev copy, and finally push on central petsc-dev repo. Thanks. Of course, any GLTR fix only on dev (unless it is really trivially wrong, and in such case I will ask again). > > Thanks, > > Matt > > > > > > > Matt > > > > > > On 8/28/07, Matthew Knepley <knepley at gmail.com> wrote: > > > > On 8/28/07, Lisandro Dalcin <dalcinl at gmail.com> wrote: > > > > > On 8/28/07, Matthew Knepley <knepley at gmail.com> wrote: > > > > > > Yes, definitely. Go ahead and push it. > > > > > > > > > > I started to try this by implementing first on petsc4py with > > > > > petsc-2.3.3-p4, by solving a trivial SPD diagonal system { A_ii = > > > > > 1/(i+1) } with no PC and maxit=5. Below the results, some things seems > > > > > broken. > > > > > > > > > > I think I will do the following: > > > > > > > > > > 1- Correct things in release-2.3.3, KSP's should not set > > > > > KSP_DIVERGED_ITS if the convergence test returned other than > > > > > KSP_CONVERGED_ITERATING (all GMRES's, RICHARDSON and TCQMR seems to do > > > > > this). It also seems that I have to review KSP type GLTR (it stopped > > > > > at iteration 4 and not 5, as it should). > > > > > > > > > > 2- Modify KSPSkipConverged and push on petsc-dev. Or perhpas can we > > > > > also push this on release-2.3.3? The previous way is rather buggy, > > > > > especially in conjunction with KSP_NORM_NO. > > > > > > > > Sounds good. I will ask Todd about gltr since it might be supposed to > > > > do something > > > > funny. You really do not want to look at it. > > > > > > > > Matt > > > > > > > > > Below the result (petsc4py is a nice tool for test/debug, isn't it?) > > > > > > > > > > > > > > > tfqmr - CONVERGED_ITS - iters: 5, ||r|| = 4.881889e-03, > > > > > x0,N-1=0.999996,9.978373 > > > > > minres - CONVERGED_ITS - iters: 5, ||r|| = 5.356222e-02, > > > > > x0,N-1=1.000009,9.701171 > > > > > fgmres - DIVERGED_ITS - iters: 5, ||r|| = 5.356222e-02, > > > > > x0,N-1=1.000009,9.701171 > > > > > stcg - CONVERGED_ITS - iters: 5, ||r|| = 5.629995e-02, > > > > > x0,N-1=1.000052,9.771470 > > > > > qcg - CONVERGED_ITS - iters: 5, ||r|| = 5.629995e-02, > > > > > x0,N-1=-1.000052,-9.771470 > > > > > cg - CONVERGED_ITS - iters: 5, ||r|| = 5.629995e-02, > > > > > x0,N-1=1.000052,9.771470 > > > > > lgmres - DIVERGED_ITS - iters: 5, ||r|| = 5.356222e-02, > > > > > x0,N-1=1.000009,9.701171 > > > > > cgne - CONVERGED_ITS - iters: 5, ||r|| = 7.192229e-02, > > > > > x0,N-1=1.000000,7.116166 > > > > > chebychev - DIVERGED_ITS - iters: 5, ||r|| = 2.591834e+00, > > > > > x0,N-1=0.636559,0.708271 > > > > > cgs - CONVERGED_ITS - iters: 5, ||r|| = 1.457830e-03, > > > > > x0,N-1=1.000000,9.994777 > > > > > bicg - CONVERGED_ITS - iters: 5, ||r|| = 5.629995e-02, > > > > > x0,N-1=1.000052,9.771470 > > > > > lsqr - CONVERGED_ITS - iters: 5, ||r|| = 4.612376e-01, > > > > > x0,N-1=1.000000,7.116166 > > > > > gltr - CONVERGED_ITS - iters: 4, ||r|| = 5.629995e-02, > > > > > x0,N-1=1.000052,9.771470 > > > > > tcqmr - DIVERGED_ITS - iters: 5, ||r|| = 0.000000e+00, > > > > > x0,N-1=1.000009,9.701171 > > > > > bcgs - CONVERGED_ITS - iters: 5, ||r|| = 2.566301e-03, > > > > > x0,N-1=0.999703,9.982615 > > > > > cr - CONVERGED_ITS - iters: 5, ||r|| = 5.356222e-02, > > > > > x0,N-1=1.000009,9.701171 > > > > > symmlq - CONVERGED_ITS - iters: 5, ||r|| = 5.629995e-02, > > > > > x0,N-1=1.000052,9.771470 > > > > > bcgsl - CONVERGED_ITS - iters: 5, ||r|| = 1.232695e-03, > > > > > x0,N-1=0.999988,9.999315 > > > > > lcd - DIVERGED_ITS - iters: 5, ||r|| = 5.629995e-02, > > > > > x0,N-1=1.000052,9.771470 > > > > > preonly - CONVERGED_ITS - iters: 1, ||r|| = 0.000000e+00, > > > > > x0,N-1=1.000000,1.000000 > > > > > gmres - DIVERGED_ITS - iters: 5, ||r|| = 5.356222e-02, > > > > > x0,N-1=1.000009,9.701171 > > > > > richardson - DIVERGED_ITS - iters: 5, ||r|| = 1.215430e+00, > > > > > x0,N-1=1.000000,4.095100 > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On 8/28/07, Lisandro Dalcin <dalcinl at gmail.com> wrote: > > > > > > > Does it make sense to change KSPSkipConverged to return > > > > > > > KSP_CONVERGED_ITS if iternum==maxit ? > > > > > > > > > > > > > > KSP_DIVERGED_ITS means convergence failure, but IMHO, > > > > > > > KSPSkipConverged > > > > > > > should not imply convergence failure (this has implications in > > > > > > > SNES). > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > Lisandro Dalc?n > > > > > > > --------------- > > > > > > > Centro Internacional de M?todos Computacionales en Ingenier?a > > > > > > > (CIMEC) > > > > > > > Instituto de Desarrollo Tecnol?gico para la Industria Qu?mica > > > > > > > (INTEC) > > > > > > > Consejo Nacional de Investigaciones Cient?ficas y T?cnicas > > > > > > > (CONICET) > > > > > > > PTLC - G?emes 3450, (3000) Santa Fe, Argentina > > > > > > > Tel/Fax: +54-(0)342-451.1594 > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > What most experimenters take for granted before they begin their > > > > > > experiments is infinitely more interesting than any results to which > > > > > > their experiments lead. > > > > > > -- Norbert Wiener > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > Lisandro Dalc?n > > > > > --------------- > > > > > Centro Internacional de M?todos Computacionales en Ingenier?a (CIMEC) > > > > > Instituto de Desarrollo Tecnol?gico para la Industria Qu?mica (INTEC) > > > > > Consejo Nacional de Investigaciones Cient?ficas y T?cnicas (CONICET) > > > > > PTLC - G?emes 3450, (3000) Santa Fe, Argentina > > > > > Tel/Fax: +54-(0)342-451.1594 > > > > > > > > > > > > > > > > > > > > > > -- > > > > What most experimenters take for granted before they begin their > > > > experiments is infinitely more interesting than any results to which > > > > their experiments lead. > > > > -- Norbert Wiener > > > > > > > > > > > > > -- > > > What most experimenters take for granted before they begin their > > > experiments is infinitely more interesting than any results to which > > > their experiments lead. > > > -- Norbert Wiener > > > > > > > > > > > > -- > > Lisandro Dalc?n > > --------------- > > Centro Internacional de M?todos Computacionales en Ingenier?a (CIMEC) > > Instituto de Desarrollo Tecnol?gico para la Industria Qu?mica (INTEC) > > Consejo Nacional de Investigaciones Cient?ficas y T?cnicas (CONICET) > > PTLC - G?emes 3450, (3000) Santa Fe, Argentina > > Tel/Fax: +54-(0)342-451.1594 > > > > > > > -- > What most experimenters take for granted before they begin their > experiments is infinitely more interesting than any results to which > their experiments lead. > -- Norbert Wiener > > -- Lisandro Dalc?n --------------- Centro Internacional de M?todos Computacionales en Ingenier?a (CIMEC) Instituto de Desarrollo Tecnol?gico para la Industria Qu?mica (INTEC) Consejo Nacional de Investigaciones Cient?ficas y T?cnicas (CONICET) PTLC - G?emes 3450, (3000) Santa Fe, Argentina Tel/Fax: +54-(0)342-451.1594