ARPACK-Armadillo
|
#include <GenEigsSolver.h>
Public Member Functions | |
GenEigsRealShiftSolver (OpType *op_, int nev_, int ncv_, Scalar sigma_) | |
![]() | |
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.