What do you get for -ksp_type ibcgs -ksp_monitor -ksp_monitor_true_residual
with and without -ksp_pc_side right ? > On Dec 6, 2021, at 12:00 PM, Jed Brown <j...@jedbrown.org> wrote: > > "Fischer, Greg A. via petsc-users" <petsc-users@mcs.anl.gov> writes: > >> Hello petsc-users, >> >> I would like to check convergence against the infinity norm, so I defined my >> own convergence test routine with KSPSetConvergenceTest. (I understand that >> it may be computationally expensive.) >> >> I would like to do this with the "ibcgs" method. When I use KSPBuildResidual >> and calculate the NORM_2 against the output vector, I get a value that >> differs from the 2-norm that gets passed into the convergence test function. >> However, when I switch to the "gcr" method, the value I calculate matches >> the function input value. > > IBCGS uses the preconditioned norm by default while GCR uses the > unpreconditioned norm. You can use -ksp_norm_type unpreconditioned or > KSPSetNormType() to make IBCGS use unpreconditioned. > >> Is the KSPBuildResidual function only compatible with a subset of the >> KSPType methods? If I want to evaluate convergence against the infinity >> norm, do I need to set KSPSetInitialGuessNonzero and continually re-start >> the solver with a lower tolerance values until I get a satisfactory value of >> the infinity norm? >> >> Thanks, >> Greg >> >> >> ________________________________ >> >> This e-mail may contain proprietary information of the sending organization. >> Any unauthorized or improper disclosure, copying, distribution, or use of >> the contents of this e-mail and attached document(s) is prohibited. The >> information contained in this e-mail and attached document(s) is intended >> only for the personal and private use of the recipient(s) named above. If >> you have received this communication in error, please notify the sender >> immediately by email and delete the original e-mail and attached document(s).