EPSEVSLSetDOSParameters#

Defines the parameters used for computing the density of states (DOS) in the EVSL solver.

Synopsis#

#include "slepceps.h" 
PetscErrorCode EPSEVSLSetDOSParameters(EPS eps,EPSEVSLDOSMethod dos,PetscInt nvec,PetscInt deg,PetscInt steps,PetscInt npoints)

Logically Collective

Input Parameters#

  • eps - the linear eigensolver context

  • dos - DOS method, see EPSEVSLDOSMethod for possible values

  • nvec - number of sample vectors

  • deg - polynomial degree (KPM only)

  • steps - number of Lanczos steps (Lanczos only)

  • npoints - number of sample points (Lanczos only)

Options Database Keys#

  • -eps_evsl_dos_method <dos> - set the DOS method, either kpm or lanczos

  • -eps_evsl_dos_nvec <nvec> - set the number of sample vectors

  • -eps_evsl_dos_degree <deg> - set the polynomial degree

  • -eps_evsl_dos_steps <steps> - set the number of Lanczos steps

  • -eps_evsl_dos_npoints <npoints> - set the number of sample points

Notes#

The density of states (or spectral density) can be approximated with two methods, Kernel Polynomial Method (KPM) or Lanczos. Some parameters for these methods can be set by the user with this function, with some of them being relevant for one of the methods only.

For the integer argumens, you can use PETSC_CURRENT to keep the current value, and PETSC_DETERMINE to set them to a reasonable default.

See the documentation of EVSL [Li et al., 2019] for details.

References#

[Li19]

R. Li, Y. Xi, L. Erlandson, and Y. Saad. The eigenvalues slicing library (EVSL): algorithms, implementation, and software. SIAM J. Sci. Comput., 41(4):C393–C415, 2019. doi:10.1137/18M1170935.

See Also#

EPS: Eigenvalue Problem Solver, EPSEVSL, EPSEVSLGetDOSParameters(), EPSEVSLDOSMethod

Level#

advanced

Location#

src/eps/impls/external/evsl/evsl.c

Implementations#

EPSEVSLSetDOSParameters_EVSL() in src/eps/impls/external/evsl/evsl.c


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