Skip to main content
`Ctrl`+`K`

# PEPSetStoppingTestFunction

Sets a function to decide when to stop the outer iteration of the eigensolver.

## Synopsis

    #include "slepcpep.h"
    PetscErrorCode PEPSetStoppingTestFunction(PEP pep,PEPStoppingTestFn *stop,void *ctx,PetscCtxDestroyFn *destroy)

Logically Collective

## Input Parameters

- pep - the polynomial eigensolver context

- stop - stopping test function, see `PEPStoppingTestFn` for the calling sequence

- ctx - context for private data for the stopping routine (may be `NULL`)

- destroy - a routine for destroying the context (may be `NULL`), see `PetscCtxDestroyFn` for the calling sequence

## Note

When implementing a function for this, normal usage is to first call the default routine `PEPStoppingBasic()` and then set `reason` to `PEP_CONVERGED_USER` if some user-defined conditions have been met. To let the eigensolver continue iterating, the result must be left as `PEP_CONVERGED_ITERATING`.

## See Also

PEP: Polynomial Eigenvalue Problems, `PEPSetStoppingTest()`, `PEPStoppingBasic()`

## Level

advanced

## Location

src/pep/interface/pepopts.c

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