EPSSetProblemType#
Specifies the type of the eigenvalue problem.
Synopsis#
#include "slepceps.h"
PetscErrorCode EPSSetProblemType(EPS eps,EPSProblemType type)
Logically Collective
Input Parameters#
eps - the linear eigensolver context
type - a known type of eigenvalue problem
Options Database Keys#
-eps_hermitian - Hermitian eigenvalue problem
-eps_gen_hermitian - generalized Hermitian eigenvalue problem
-eps_non_hermitian - non-Hermitian eigenvalue problem
-eps_gen_non_hermitian - generalized non-Hermitian eigenvalue problem
-eps_pos_gen_non_hermitian - generalized non-Hermitian eigenvalue problem with positive semi-definite \(B\)
-eps_gen_indefinite - generalized Hermitian-indefinite eigenvalue problem
-eps_bse - structured Bethe-Salpeter eigenvalue problem
-eps_hamiltonian - structured Hamiltonian eigenvalue problem
Notes#
This function must be used to instruct SLEPc to exploit symmetry or other kind of structure. If no problem type is specified, by default a non-Hermitian problem is assumed (either standard or generalized). If the user knows that the problem is Hermitian (i.e., \(A=A^*\)) or generalized Hermitian (i.e., \(A=A^*\), \(B=B^*\), and \(B\) positive definite) then it is recommended to set the problem type so that the eigensolver can exploit these properties.
If the user does not call this function, the solver will use a reasonable guess.
For structured problem types such as EPS_BSE, the matrices passed in via
EPSSetOperators() must have been created with the corresponding helper
function, i.e., MatCreateBSE().
See Also#
EPS: Eigenvalue Problem Solver, EPSSetOperators(), EPSSetType(), EPSGetProblemType(), EPSProblemType
Level#
intermediate
Location#
Examples#
src/eps/tutorials/ex29.c
src/eps/tutorials/ex1f.F90
src/eps/tutorials/ex55.c
src/eps/tutorials/ex18.c
src/eps/tutorials/ex3.c
src/eps/tutorials/ex36.c
src/eps/tutorials/ex9.c
src/eps/tutorials/ex2.c
src/eps/tutorials/ex6f.F90
src/eps/tutorials/ex31.c
Index of all EPS routines Table of Contents for all manual pages Index of all manual pages