|
ARPACK-Armadillo
|
#include <GenEigsSolver.h>
Public Member Functions | |
| GenEigsRealShiftSolver (OpType *op_, int nev_, int ncv_, Scalar sigma_) | |
Public Member Functions inherited from GenEigsSolver< Scalar, SelectionRule, OpType > | |
| GenEigsSolver (OpType *op_, int nev_, int ncv_) | |
| void | init (Scalar *init_resid) |
| void | init () |
| int | compute (int maxit=1000, Scalar tol=1e-10) |
| int | num_iterations () |
| int | num_operations () |
| ComplexVector | eigenvalues () |
| ComplexMatrix | eigenvectors (int nvec) |
| ComplexMatrix | eigenvectors () |
This class implements the eigen solver for general real matrices with a real 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 and 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 SelectionRule.h . |
| OpType | The name of the matrix operation class. Users could either use the DenseGenRealShiftSolve wrapper class, or define their own that impelemnts all the public member functions as in DenseGenRealShiftSolve. |
Definition at line 281 of file GenEigsSolver.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 shift-solve operation of \(A\): calculating \((A-\sigma I)^{-1}y\) for any vector \(y\). Users could either create the object from the DenseGenRealShiftSolve wrapper class, or define their own that impelemnts all the public member functions as in DenseGenRealShiftSolve. |
| nev_ | Number of eigenvalues requested. This should satisfy \(1\le nev \le n-2\), where \(n\) 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 \(nev+2 \le ncv \le n\), and is advised to take \(ncv \ge 2\cdot nev + 1\). |
| sigma_ | The real-valued shift. |
Definition at line 316 of file GenEigsSolver.h.