Spectra
1.0.1
Header-only C++ Library for Large Scale Eigenvalue Problems
|
#include <Spectra/DavidsonSymEigsSolver.h>
Public Member Functions | |
DavidsonSymEigsSolver (OpType &op, Index nev, Index nvec_init, Index nvec_max) | |
DavidsonSymEigsSolver (OpType &op, Index nev) | |
Matrix | setup_initial_search_space (SortRule selection) const |
Matrix | calculate_correction_vector () const |
Public Member Functions inherited from Spectra::JDSymEigsBase< DavidsonSymEigsSolver< OpType >, OpType > | |
JDSymEigsBase (OpType &op, Index nev, Index nvec_init, Index nvec_max) | |
JDSymEigsBase (OpType &op, Index nev) | |
void | set_max_search_space_size (Index max_search_space_size) |
void | set_correction_size (Index correction_size) |
void | set_initial_search_space_size (Index initial_search_space_size) |
virtual | ~JDSymEigsBase () |
CompInfo | info () const |
Index | num_iterations () const |
Vector | eigenvalues () const |
Matrix | eigenvectors () const |
Index | compute (SortRule selection=SortRule::LargestMagn, Index maxit=100, Scalar tol=100 *Eigen::NumTraits< Scalar >::dummy_precision()) |
Index | compute_with_guess (const Eigen::Ref< const Matrix > &initial_space, SortRule selection=SortRule::LargestMagn, Index maxit=100, Scalar tol=100 *Eigen::NumTraits< Scalar >::dummy_precision()) |
This class implement the DPR correction for the Davidson algorithms. The algorithms in the Davidson family only differ in how the correction vectors are computed and optionally in the initial orthogonal basis set.
the DPR correction compute the new correction vector using the following expression:
\[ correction = -(\boldsymbol{D} - \rho \boldsymbol{I})^{-1} \boldsymbol{r} \]
where \(D\) is the diagonal of the target matrix, \(\rho\) the Ritz eigenvalue, \(I\) the identity matrix and \(r\) the residue vector.
Definition at line 31 of file DavidsonSymEigsSolver.h.
|
inline |
Create initial search space based on the diagonal and the spectrum'target (highest or lowest)
selection | Spectrum section to target (e.g. lowest, etc.) |
Definition at line 60 of file DavidsonSymEigsSolver.h.
|
inline |
Compute the corrections using the DPR method.
Definition at line 77 of file DavidsonSymEigsSolver.h.