#include "petscmat.h" PetscErrorCode MatCreateMFFD(MPI_Comm comm,PetscInt m,PetscInt n,PetscInt M,PetscInt N,Mat *J)Collective on Vec
comm | - MPI communicator | |
m | - number of local rows (or PETSC_DECIDE to have calculated if M is given) This value should be the same as the local size used in creating the y vector for the matrix-vector product y = Ax. | |
n | - This value should be the same as the local size used in creating the x vector for the matrix-vector product y = Ax. (or PETSC_DECIDE to have calculated if N is given) For square matrices n is almost always m. | |
M | - number of global rows (or PETSC_DETERMINE to have calculated if m is given) | |
N | - number of global columns (or PETSC_DETERMINE to have calculated if n is given) |
Options Database Keys: call MatSetFromOptions() to trigger these
-mat_mffd_type | - wp or ds (see MATMFFD_WP or MATMFFD_DS) | |
-mat_mffd_err | - square root of estimated relative error in function evaluation |
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 MatMFFDSetFunctionError() and umin via MatMFFDDSSetUmin(); see the <A href="../../docs/manual.pdf#nameddest=ch_snes">SNES chapter of the users manual</A> for details.
The user should call MatDestroy() when finished with the matrix-free matrix context.
-mat_mffd_err <error_rel> | - Sets error_rel | |
-mat_mffd_unim <umin> | - Sets umin (for default PETSc routine that computes h only) | |
-mat_mffd_check_positivity | - |
Level:advanced
Location:src/mat/impls/mffd/mffd.c
Index of all Mat routines
Table of Contents for all manual pages
Index of all manual pages