**petsc-master 2020-01-15**

# MATMFFD_WP

Implements an alternative approach for computing the differencing parameter h used with the finite difference based matrix-free Jacobian. This code implements the strategy of M. Pernice and H. Walker: h = error_rel * sqrt(1 + ||U||) / ||a||

### Notes

1) || U || does not change between linear iterations so is reused
2) In GMRES || a || == 1 and so does not need to ever be computed except at restart
when it is recomputed.
Reference: M. Pernice and H. F. Walker, "NITSOL: A Newton Iterative
Solver for Nonlinear Systems", SIAM J. Sci. Stat. Comput.", 1998,
vol 19, pp. 302--318.

### Options Database Keys

**-mat_mffd_compute_normu ** -Compute the norm of u everytime see MatMFFDWPSetComputeNormU()

### Notes

Requires no global collectives when used with GMRES

### Formula used

F'(u)*a = [F(u+h*a) - F(u)]/h where

### See Also

MATMFFD, MatCreateMFFD(), MatCreateSNESMF(), MATMFFD_DS

### Level

intermediate

### Location

src/mat/impls/mffd/wp.c

Index of all Mat routines

Table of Contents for all manual pages

Index of all manual pages