:orphan: # MatShellTestMultTranspose Compares the multiply transpose routine provided to the `MATSHELL` with differencing on a given function. ## Synopsis ``` #include "petscmat.h" PetscErrorCode MatShellTestMultTranspose(Mat mat, PetscErrorCode (*f)(void *, Vec, Vec), Vec base, void *ctx, PetscBool *flg) ``` Logically Collective; No Fortran Support ## Input Parameters - ***mat -*** the `MATSHELL` shell matrix - ***f -*** the function - ***base -*** differences are computed around this vector, see `MatMFFDSetBase()`, for Jacobians this is the point at which the Jacobian is being evaluated - ***ctx -*** an optional context for the function ## Output Parameter - ***flg -*** `PETSC_TRUE` if the multiply is likely correct ## Options Database Key - ***-mat_shell_test_mult_view -*** print if any differences are detected between the products and print the difference ## See Also [](ch_matrices), `Mat`, `MATSHELL`, `MatCreateShell()`, `MatShellGetContext()`, `MatShellGetOperation()`, `MatShellTestMult()` ## Level advanced ## Location src/mat/impls/shell/shell.c --- [Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/mat/impls/shell/shell.c) [Index of all Mat routines](index.md) [Table of Contents for all manual pages](/manualpages/index.md) [Index of all manual pages](/manualpages/singleindex.md)