[petsc-users] KSPNormType natural

Patrick Sanan patrick.sanan at gmail.com
Mon Mar 13 17:28:58 CDT 2017


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 <fande.kong at inl.gov> wrote:
> Hi All,
>
> What is the definition of KSPNormType natural? It is easy to understand
> none, preconditioned, and unpreconditioned, but not natural.
>
> Fande Kong,


More information about the petsc-users mailing list