Skip to content

Support objective functions in SNESNGMRES

Stefano Zampini requested to merge stefanozampini/ngmres-objective into main

This MR adds support for objective functions in SNESNGMRES.

The reference I have used is this https://epubs.siam.org/doi/pdf/10.1137/110835530. @knepley Please let me know if there's some other work I should consider

Another change in the MR is that now all SNES line search objects call the PostCheck uniformly (i.e. with Y unscaled). Previously, BT was passing the scaled direction. This change didn't break any code in the testsuite, so I presume it is ok. I have made it clear in the documentation (if anyone reads it...)

Another change in SNESNGMRES is that I have replaced a few occurrences of PetscSqrtReal(fnorm) with the objective value, which is fnorm if SNES has no objective. It seems a bugfix to me and there are some improvements in convergence histories in some tests

I approve for `TAO` since the changes are not in the base code, only in the `TAOSNES` wrapper code

Edited by Stefano Zampini

Merge request reports