KSPSkipConverged

Todd Munson tmunson at mcs.anl.gov
Wed Aug 29 09:15:09 CDT 2007


Lisandro,

All of these problems have been previously addressed in the development
version, along with some minor changes to the code.  I have not patched
the release (nor do I know how to do this).  The iteration counter now
uses the number of matrix-vector products.  Note that some of the same
problems were in the nash and stcg code.

Todd.

On Tue, 28 Aug 2007, Lisandro Dalcin wrote:

> On 8/28/07, Matthew Knepley <knepley at gmail.com> wrote:
> > I will ask Todd about gltr since it might be supposed to
> > do something
> > funny. You really do not want to look at it.
>
> Now I understand way you said that!! Well, let me say that actually
> GLTR is almost OK, the only two things to remark are:
>
> 1- KSPMonitor is called allways with it=0; perhaps this is OK, but
> perhaps no. You get always output like '0 KSP Residual norm'
>
> 2 - At some point, it converges and returns without incrementing the
> 'ksp->its' counter. That's the reason I though there could be a
> problem. However, as the implementation is a bit contrived and
> 'ksp->its' is used everywere,
>
> I think I'll leave GLTR for review by the author, please FWD this mail
> to him...
>
> Regards,
>
>
> >
> >   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
> >
> >
>
>
> --
> 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
>
>




More information about the petsc-dev mailing list