Trying again. Normally, numIts would be one less than nEntries since the initial residual is computed (and stored in the history) before any iterations. Is this what you are seeing or are you seeing other values for the two? I've started a run of the PETSc test suite that compares the two values for inconsistencies for all tests to see if I can find any problems. Barry Also note the importance of the reset value in KSPSetResidualHistory() which means the values will not match when reset is PETSC_FALSE.
On Jan 10, 2024, at 7:09 PM, Kevin G. Wang <[email protected]> wrote:
Hello everyone!
I am writing a code that uses PETSc/KSP to solve linear systems. I just realized that after running "KSPSolve(...)", the number of iterations given by
KSPGetIterationNumber(ksp, &numIts)
is *different* from the size of the residual history given by
KSPGetResidualHistory(ksp, NULL, &nEntries);
That is, "numIts" is not equal to "nEntries". Is this expected, or a bug in my code? (I thought they should be the same...)
I have tried several pairs of solvers and preconditioners (e.g., fgmres & bjacobi, ibcgs & bjacobi). This issue happens to all of them.
Thanks! Kevin
-- Kevin G. Wang, Ph.D. Associate Professor Kevin T. Crofton Department of Aerospace and Ocean Engineering Virginia Tech 1600 Innovation Dr., VTSS Rm 224H, Blacksburg, VA 24061 Office: (540) 231-7547 | Mobile: (650) 862-2663 URL: https://www.aoe.vt.edu/people/faculty/wang.html Codes: https://github.com/kevinwgy