Skip to main content
`Ctrl`+`K`

# PCShellSetMatApply

Sets routine to use as preconditioner on a block of vectors.

## Synopsis

    #include "petscpc.h"
    PetscErrorCode PCShellSetMatApply(PC pc, PetscErrorCode (*matapply)(PC pc, Mat Xin, Mat Xout))

Logically Collective

## Input Parameters

- pc - the preconditioner context

- matapply - the application-provided preconditioning routine

## Calling sequence of `matapply`

- pc - the preconditioner

- Xin - input block of vectors represented as a dense `Mat`

- Xout - output block of vectors represented as a dense `Mat`

## Note

You can get the `PCSHELL` context set with `PCShellSetContext()` using `PCShellGetContext()` if needed by `matapply`.

## See Also

KSP: Linear System Solvers, `PCSHELL`, `PCShellSetApply()`, `PCShellSetContext()`, `PCShellGetContext()`

## Level

advanced

## Location

src/ksp/pc/impls/shell/shellpc.c

## Examples

src/ksp/ksp/tutorials/ex79.c

## Implementations

PCShellSetMatApply_Shell(PC pc, PetscErrorCode (*matapply)() in src/ksp/pc/impls/shell/shellpc.c

Index of all PC routines
Table of Contents for all manual pages
Index of all manual pages