KSPSkipConverged

Matthew Knepley knepley at gmail.com
Tue Aug 28 13:38:56 CDT 2007


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




More information about the petsc-dev mailing list