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.