<div dir="ltr">Hi PETSc,<br><div><br></div><div>I have a problem for which I need to exclude certain degrees of freedom from the evaluation of the norm as used to monitor the residual in FGMRES (don't ask!). Therefore I would like to replace the existing norm evaluation with my own version.</div><div><br></div><div>Currently this is done within:</div><div><font face="courier new, monospace">KSPFGMRESUpdateHessenberg(ksp,loc_it,hapend,&res_norm)</font></div><div>as:</div><div><font face="courier new, monospace">*res = PetscAbsScalar(*RS(it+1));</font><br></div><div><br></div><div>Firstly, I would like to make sure I can replicate the existing residual norm. I tried to do this as:</div><div><font face="courier new, monospace">KSPFGMRESUpdateHessenberg(ksp,loc_it,hapend,&res_norm);<br>KSPFGMRESBuildSoln(fgmres->nrs,ksp >vec_sol,tmp_sol,ksp,loc_it);<br>VecNorm(tmp_sol,NORM_2,&res_tmp);<br>VecNorm(ksp->vec_rhs,NORM_2,&res_rhs);<br></font></div><div><font face="courier new, monospace">res_norm = fabs(res_tmp-res_rhs);</font></div><div><br></div><div>But this doesn't match the norm that comes out of UpdateHessenberg.</div><div><br></div><div>Any ideas on how I can re-create the norm derived from UpdateHessenberg as an expansion over the Kyrlov vectors in FGMRES?</div><div><br></div><div>Cheers, Dave.</div></div>