#include <GenEigsComplexShiftSolver.h>

Public Member Functions | |
| GenEigsComplexShiftSolver (OpType *op, Index nev, Index ncv, const Scalar &sigmar, const Scalar &sigmai) | |
Public Member Functions inherited from Spectra::GenEigsBase< Scalar, SelectionRule, OpType, IdentityBOp > | |
| Index | compute (Index maxit=1000, Scalar tol=1e-10, int sort_rule=LARGEST_MAGN) |
| ComplexVector | eigenvalues () const |
| ComplexMatrix | eigenvectors (Index nvec) const |
| ComplexMatrix | eigenvectors () const |
| int | info () const |
| void | init (const Scalar *init_resid) |
| void | init () |
| Index | num_iterations () const |
| Index | num_operations () const |
Private Types | |
| typedef std::complex< Scalar > | Complex |
| typedef Eigen::Matrix< Complex, Eigen::Dynamic, 1 > | ComplexVector |
| typedef Eigen::Index | Index |
| typedef Eigen::Matrix< Scalar, Eigen::Dynamic, 1 > | Vector |
Private Member Functions | |
| void | sort_ritzpair (int sort_rule) |
Private Attributes | |
| const Scalar | m_sigmai |
| const Scalar | m_sigmar |
Additional Inherited Members | |
Protected Attributes inherited from Spectra::GenEigsBase< Scalar, SelectionRule, OpType, IdentityBOp > | |
| ArnoldiFac | m_fac |
| const Index | m_n |
| const Index | m_ncv |
| const Index | m_nev |
| Index | m_niter |
| Index | m_nmatop |
| OpType * | m_op |
| ComplexVector | m_ritz_est |
| ComplexVector | m_ritz_val |
| ComplexMatrix | m_ritz_vec |
This class implements the eigen solver for general real matrices with a complex shift value in the shift-and-invert mode. The background knowledge of the shift-and-invert mode can be found in the documentation of the SymEigsShiftSolver class.
| Scalar | The element type of the matrix. Currently supported types are float, double and long double. |
| SelectionRule | An enumeration value indicating the selection rule of the shifted-and-inverted eigenvalues. The full list of enumeration values can be found in Enumerations. |
| OpType | The name of the matrix operation class. Users could either use the DenseGenComplexShiftSolve wrapper class, or define their own that implements all the public member functions as in DenseGenComplexShiftSolve. |
Definition at line 40 of file GenEigsComplexShiftSolver.h.
|
private |
Definition at line 44 of file GenEigsComplexShiftSolver.h.
|
private |
Definition at line 46 of file GenEigsComplexShiftSolver.h.
|
private |
Definition at line 43 of file GenEigsComplexShiftSolver.h.
|
private |
Definition at line 45 of file GenEigsComplexShiftSolver.h.
|
inline |
Constructor to create a eigen solver object using the shift-and-invert mode.
| op | Pointer to the matrix operation object. This class should implement the complex shift-solve operation of : calculating for any vector . Users could either create the object from the DenseGenComplexShiftSolve wrapper class, or define their own that implements all the public member functions as in DenseGenComplexShiftSolve. |
| nev | Number of eigenvalues requested. This should satisfy , where is the size of matrix. |
| ncv | Parameter that controls the convergence speed of the algorithm. Typically a larger ncv means faster convergence, but it may also result in greater memory use and more matrix operations in each iteration. This parameter must satisfy , and is advised to take . |
| sigmar | The real part of the shift. |
| sigmai | The imaginary part of the shift. |
Definition at line 147 of file GenEigsComplexShiftSolver.h.
|
inlineprivatevirtual |
Reimplemented from Spectra::GenEigsBase< Scalar, SelectionRule, OpType, IdentityBOp >.
Definition at line 52 of file GenEigsComplexShiftSolver.h.
|
private |
Definition at line 49 of file GenEigsComplexShiftSolver.h.
|
private |
Definition at line 48 of file GenEigsComplexShiftSolver.h.