#include "slepceps.h" PetscErrorCode EPSSetEigenvalueComparison(EPS eps,PetscErrorCode (*func)(PetscScalar ar,PetscScalar ai,PetscScalar br,PetscScalar bi,PetscInt *res,void *ctx),void* ctx)Logically Collective
eps | - eigensolver context obtained from EPSCreate() | |
func | - a pointer to the comparison function | |
ctx | - a context pointer (the last parameter to the comparison function) |
PetscErrorCode func(PetscScalar ar,PetscScalar ai,PetscScalar br,PetscScalar bi,PetscInt *res,void *ctx)
ar | - real part of the 1st eigenvalue | |
ai | - imaginary part of the 1st eigenvalue | |
br | - real part of the 2nd eigenvalue | |
bi | - imaginary part of the 2nd eigenvalue | |
res | - result of comparison | |
ctx | - optional context, as set by EPSSetEigenvalueComparison() |
negative | - if the 1st eigenvalue is preferred to the 2st one | |
zero | - if both eigenvalues are equally preferred | |
positive | - if the 2st eigenvalue is preferred to the 1st one |