#include "petscsnes.h" int MatCreateSNESMF(SNES snes,Vec x,Mat *J)Collective on SNES and Vec
snes | - the SNES context | |
x | - vector where SNES solution is to be stored. |
The default code uses the following approach to compute h
F'(u)*a = [F(u+h*a) - F(u)]/h where h = error_rel*u'a/||a||^2 if |u'a| > umin*||a||_{1} = error_rel*umin*sign(u'a)*||a||_{1}/||a||^2 otherwise where error_rel = square root of relative error in function evaluation umin = minimum iterate parameter
The user can set the error_rel via MatSNESMFSetFunctionError() and umin via MatSNESMFDefaultSetUmin(); see the nonlinear solvers chapter of the users manual for details.
The user should call MatDestroy() when finished with the matrix-free matrix context.
-snes_mf_err <error_rel> | - Sets error_rel | |
-snes_mf_unim <umin> | - Sets umin (for default PETSc routine that computes h only) | |
-snes_mf_ksp_monitor | - KSP monitor routine that prints differencing h |
Level:advanced
Location:src/snes/mf/snesmfj.c
Index of all SNESMF routines
Table of Contents for all manual pages
Index of all manual pages