#include <SymEigsBase.h>
Public Member Functions | |
Index | compute (Index maxit=1000, Scalar tol=1e-10, int sort_rule=LARGEST_ALGE) |
Vector | eigenvalues () const |
virtual Matrix | eigenvectors (Index nvec) const |
virtual Matrix | eigenvectors () const |
int | info () const |
void | init (const Scalar *init_resid) |
void | init () |
Index | num_iterations () const |
Index | num_operations () const |
Protected Member Functions | |
virtual void | sort_ritzpair (int sort_rule) |
Protected Attributes | |
LanczosFac | m_fac |
const Index | m_n |
const Index | m_ncv |
const Index | m_nev |
Index | m_niter |
Index | m_nmatop |
OpType * | m_op |
Vector | m_ritz_val |
Private Types | |
typedef ArnoldiOp< Scalar, OpType, BOpType > | ArnoldiOpType |
typedef Eigen::Array< Scalar, Eigen::Dynamic, 1 > | Array |
typedef Eigen::Array< bool, Eigen::Dynamic, 1 > | BoolArray |
typedef Eigen::Index | Index |
typedef Lanczos< Scalar, ArnoldiOpType > | LanczosFac |
typedef Eigen::Map< const Vector > | MapConstVec |
typedef Eigen::Map< Matrix > | MapMat |
typedef Eigen::Map< Vector > | MapVec |
typedef Eigen::Matrix< Scalar, Eigen::Dynamic, Eigen::Dynamic > | Matrix |
typedef Eigen::Matrix< Scalar, Eigen::Dynamic, 1 > | Vector |
Private Member Functions | |
Index | nev_adjusted (Index nconv) |
Index | num_converged (Scalar tol) |
void | restart (Index k) |
void | retrieve_ritzpair () |
Private Attributes | |
const Scalar | m_eps |
const Scalar | m_eps23 |
int | m_info |
const Scalar | m_near_0 |
BoolArray | m_ritz_conv |
Vector | m_ritz_est |
Matrix | m_ritz_vec |
This is the base class for symmetric eigen solvers, mainly for internal use. It is kept here to provide the documentation for member functions of concrete eigen solvers such as SymEigsSolver and SymEigsShiftSolver.
Definition at line 44 of file SymEigsBase.h.
|
private |
Definition at line 56 of file SymEigsBase.h.
|
private |
Definition at line 50 of file SymEigsBase.h.
|
private |
Definition at line 51 of file SymEigsBase.h.
|
private |
Definition at line 47 of file SymEigsBase.h.
|
private |
Definition at line 57 of file SymEigsBase.h.
|
private |
Definition at line 54 of file SymEigsBase.h.
|
private |
Definition at line 52 of file SymEigsBase.h.
|
private |
Definition at line 53 of file SymEigsBase.h.
|
private |
Definition at line 48 of file SymEigsBase.h.
|
private |
Definition at line 49 of file SymEigsBase.h.
|
inline |
Conducts the major computation procedure.
maxit | Maximum number of iterations allowed in the algorithm. |
tol | Precision parameter for the calculated eigenvalues. |
sort_rule | Rule to sort the eigenvalues and eigenvectors. Supported values are Spectra::LARGEST_ALGE , Spectra::LARGEST_MAGN , Spectra::SMALLEST_ALGE and Spectra::SMALLEST_MAGN , for example LARGEST_ALGE indicates that largest eigenvalues come first. Note that this argument is only used to sort the final result, and the selection rule (e.g. selecting the largest or smallest eigenvalues in the full spectrum) is specified by the template parameter SelectionRule of SymEigsSolver. |
Definition at line 334 of file SymEigsBase.h.
|
inline |
Returns the converged eigenvalues.
Eigen::Vector<Scalar, ...>
, depending on the template parameter Scalar
defined. Definition at line 382 of file SymEigsBase.h.
|
inlinevirtual |
Returns the eigenvectors associated with the converged eigenvalues.
nvec | The number of eigenvectors to return. |
Eigen::Matrix<Scalar, ...>
, depending on the template parameter Scalar
defined. Definition at line 412 of file SymEigsBase.h.
|
inlinevirtual |
Returns all converged eigenvectors.
Definition at line 440 of file SymEigsBase.h.
|
inline |
Returns the status of the computation. The full list of enumeration values can be found in Enumerations.
Definition at line 363 of file SymEigsBase.h.
|
inline |
Initializes the solver by providing an initial residual vector.
init_resid | Pointer to the initial residual vector. |
Spectra (and also ARPACK) uses an iterative algorithm to find eigenvalues. This function allows the user to provide the initial residual vector.
Definition at line 281 of file SymEigsBase.h.
|
inline |
Initializes the solver by providing a random initial residual vector.
This overloaded function generates a random initial residual vector (with a fixed random seed) for the algorithm. Elements in the vector follow independent Uniform(-0.5, 0.5) distribution.
Definition at line 309 of file SymEigsBase.h.
|
inlineprivate |
Definition at line 125 of file SymEigsBase.h.
|
inlineprivate |
Definition at line 113 of file SymEigsBase.h.
|
inline |
Returns the number of iterations used in the computation.
Definition at line 368 of file SymEigsBase.h.
|
inline |
Returns the number of matrix operations used in the computation.
Definition at line 373 of file SymEigsBase.h.
|
inlineprivate |
Definition at line 85 of file SymEigsBase.h.
|
inlineprivate |
Definition at line 148 of file SymEigsBase.h.
|
inlineprotectedvirtual |
Reimplemented in Spectra::SymEigsShiftSolver< Scalar, SelectionRule, OpType >.
Definition at line 194 of file SymEigsBase.h.
|
private |
Definition at line 80 of file SymEigsBase.h.
|
private |
Definition at line 81 of file SymEigsBase.h.
|
protected |
Definition at line 69 of file SymEigsBase.h.
|
private |
Definition at line 76 of file SymEigsBase.h.
|
protected |
Definition at line 63 of file SymEigsBase.h.
|
protected |
Definition at line 65 of file SymEigsBase.h.
|
private |
Definition at line 78 of file SymEigsBase.h.
|
protected |
Definition at line 64 of file SymEigsBase.h.
|
protected |
Definition at line 67 of file SymEigsBase.h.
|
protected |
Definition at line 66 of file SymEigsBase.h.
|
protected |
Definition at line 61 of file SymEigsBase.h.
|
private |
Definition at line 75 of file SymEigsBase.h.
|
private |
Definition at line 74 of file SymEigsBase.h.
|
protected |
Definition at line 70 of file SymEigsBase.h.
|
private |
Definition at line 73 of file SymEigsBase.h.