[petsc-dev] large bug in KSPSolve_Chebyshev() affects all multigrid solvers; all core developers including Mark please read this

Jed Brown jed at jedbrown.org
Thu Sep 20 10:42:17 CDT 2018

"Smith, Barry F." <bsmith at mcs.anl.gov> writes:

>   Problem 2) Less catastrophic 
>   When cheb->kspest is set the "regular" Chebyshev is also run (after the eigenvalues are estimated). I am pretty sure this is wrong because there is no reason to run the Chebyshev when estimating the eigenvalues? The eigenvalues are stored to be used later right?

The solve still needs to be applied because the Chebyshev smoother is
intended as a linear operator.  We use a noisy vector by default for
estimation, but even if we were to use the smoother's RHS, the GMRES
estimation provides a different correction than the associated
Chebyshev.  If we didn't care about nonlinear smoothing, we could use
the GMRES correction instead.  Or (with some math that could be worked
out), we could recombine the first vectors of the GMRES Krylov space to
provide the action of the Chebyshev smoother without needing to do more
MatMults (but the quality of the eigenestimates would suffer unless the
RHS happens to be noisy enough).

More information about the petsc-dev mailing list