This is something that arises with CG and related methods. As in the previous thread, the "left preconditioner" in CG can be though of as an inner product B which allows you to use CG with the Krylov spaces K_k(BA;Bb) instead of K_k(A;b), while retaining the property that the A-norm of the error is minimal over each successive space.
The natural residual norm is the residual norm with respect to this inner product, ||r||_M = <Mr,r> , which you might end up coding up as (b-Ax)^TB(b-Ax). Noting r = Ae, where e is the error, you could also write this as e^TABAe, as in the notes in the KSPCG implementation. In the standard preconditioned CG algorithm, you compute the natural residual norm in the process, so you can monitor convergence in this norm without computing any additional reductions/inner products/norms. On Mon, Mar 13, 2017 at 9:16 PM, Kong, Fande <[email protected]> wrote: > Hi All, > > What is the definition of KSPNormType natural? It is easy to understand > none, preconditioned, and unpreconditioned, but not natural. > > Fande Kong,
