On Mon, Apr 1, 2019 at 10:24 AM Matthew Knepley via petsc-users < [email protected]> wrote:
> On Mon, Apr 1, 2019 at 10:22 AM Yingjie Wu via petsc-users < > [email protected]> wrote: > >> Dear PETSc developers: >> Hi, >> >> I've been using -snes_mf_operator and I've customized a precondition >> matrix to solve my problem.I have two questions about the residuals of >> linear steps(KSP residual). >> >> >> 1.Since I'm using a matrix-free method, how do we get KSP residuals in >> PETSc? >> >> r_m = b - A*x_m >> >> Is finite difference used to approximate "A*x_m" ? >> > > Yes. > > >> 2.What is the difference between instruction ' -ksp_monitor ' and ' >> -ksp_monitor_true_residual ' in how they are calculated? >> > > The true residual is the unpreconditioned residual. > I actually have some specific understanding on " -ksp_monitor_true_residual", but not sure it is right or not. If I am wrong, please correct me. When the preconditioning matrix is super ill-conditioned, the ``true residual" is not necessary ``true" for the right preconditioning since an unwind process is applied. That is, "-ksp_monitor_true_residual" does not print ||b-Ax||, instead, it prints the unpreconditioned residual by unpreconditioning the preconditioned residual. Thanks, Fande, > > Matt > > >> Thanks, >> >> Yingjie >> >> >> >> > > -- > 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 > > https://www.cse.buffalo.edu/~knepley/ > <http://www.cse.buffalo.edu/~knepley/> >
