Set some or all of the eigenvalue solver properties.

Keyword Arguments:
  • esolver (str) – the eigensolver algorithm to use.
    • 'krylovschur' (default) - Krylov-Schur
    • 'arnoldi' - Arnoldi Method
    • 'lanczos' - Lanczos Method
    • 'power' - Power Iteration/Rayleigh Quotient Iteration
    • 'gd' - Generalized Davidson
    • 'jd' - Jacobi-Davidson,
    • 'lapack' - Uses LAPACK eigenvalue solver routines
    • 'arpack' - only available if SLEPc is compiled with ARPACK linking
  • workType (str) – can be used to set the eigensolver worktype (either 'ncv' or 'mpd'). The default is to let SLEPc decide.
  • workSize (int) – sets the work size if workType is set.
  • tolIn (float) – tolerance of the eigenvalue solver (default 0. (SLEPc decides)).
  • maxIt (int) – maximum number of iterations of the eigenvalue solver (default 0 (SLEPc decides)).
  • verbose (bool) – if True, writes eigensolver information to the console
  • emax_estimate (float) – used to override the calculation of the graphs maximum eigenvalue.


  • If supplied, the value of emax_estimate\(\hat{\lambda}_{\max}\) must satisfy \(\hat{\lambda}_{\max}\geq\lambda_{\max}\), where \(\lambda_{\max}\) is the actual maximum eigenvalue of the graph.
  • The greater the value of \(\hat{\lambda}_{\max} -\lambda_{\max}\), the longer the convergence time of the chebyshev propagator.


  • These properties only apply if propagator='chebyshev'
  • For more information regarding these properties,refer to the SLEPc documentation