Spectra  1.0.0
Header-only C++ Library for Large Scale Eigenvalue Problems
Spectra::SymGEigsShiftSolver< OpType, BOpType, Mode > Class Template Reference

#include <Spectra/SymGEigsShiftSolver.h>

Detailed Description

template<typename OpType, typename BOpType, GEigsMode Mode>
class Spectra::SymGEigsShiftSolver< OpType, BOpType, Mode >

This class implements the generalized eigen solver for real symmetric matrices, i.e., to solve \(Ax=\lambda Bx\) where \(A\) and \(B\) are symmetric matrices. A spectral transform is applied to seek interior generalized eigenvalues with respect to some shift \(\sigma\).

There are different modes of this solver, specified by the template parameter Mode. See the pages for the specialized classes for details.

  • The shift-and-invert mode transforms the problem into \((A-\sigma B)^{-1}Bx=\nu x\), where \(\nu=1/(\lambda-\sigma)\). This mode assumes that \(B\) is positive definite. See SymGEigsShiftSolver (Shift-and-invert mode) for more details.
  • The buckling mode transforms the problem into \((A-\sigma B)^{-1}Ax=\nu x\), where \(\nu=\lambda/(\lambda-\sigma)\). This mode assumes that \(A\) is positive definite. See SymGEigsShiftSolver (Buckling mode) for more details.
  • The Cayley mode transforms the problem into \((A-\sigma B)^{-1}(A+\sigma B)x=\nu x\), where \(\nu=(\lambda+\sigma)/(\lambda-\sigma)\). This mode assumes that \(B\) is positive definite. See SymGEigsShiftSolver (Cayley mode) for more details.

Definition at line 44 of file SymGEigsShiftSolver.h.


The documentation for this class was generated from the following file: