#include <DavidsonSymEigsSolver.h>
Public Member Functions | |
Matrix | calculate_correction_vector () const |
DavidsonSymEigsSolver (OpType &op, Index nev) | |
DavidsonSymEigsSolver (OpType &op, Index nev, Index nvec_init, Index nvec_max) | |
Matrix | setup_initial_search_space (SortRule selection) 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()) |
Vector | eigenvalues () const |
Matrix | eigenvectors () const |
CompInfo | info () const |
JDSymEigsBase (OpType &op, Index nev) | |
JDSymEigsBase (OpType &op, Index nev, Index nvec_init, Index nvec_max) | |
Index | num_iterations () const |
void | set_correction_size (Index correction_size) |
void | set_initial_search_space_size (Index initial_search_space_size) |
void | set_max_search_space_size (Index max_search_space_size) |
virtual | ~JDSymEigsBase () |
Private Types | |
using | Index = Eigen::Index |
using | Matrix = Eigen::Matrix< Scalar, Eigen::Dynamic, Eigen::Dynamic > |
using | Scalar = typename OpType::Scalar |
using | Vector = Eigen::Matrix< Scalar, Eigen::Dynamic, 1 > |
Private Attributes | |
Vector | m_diagonal |
Additional Inherited Members | |
![]() | |
using | Index = Eigen::Index |
using | Matrix = Eigen::Matrix< Scalar, Eigen::Dynamic, Eigen::Dynamic > |
using | Scalar = typename OpType::Scalar |
using | Vector = Eigen::Matrix< Scalar, Eigen::Dynamic, 1 > |
![]() | |
Index | m_correction_size |
Index | m_initial_search_space_size |
const OpType & | m_matrix_operator |
Index | m_max_search_space_size |
const Index | m_number_eigenvalues |
RitzPairs< Scalar > | m_ritz_pairs |
SearchSpace< Scalar > | m_search_space |
Index | niter_ |
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:
where is the diagonal of the target matrix,
the Ritz eigenvalue,
the identity matrix and
the residue vector.
Definition at line 31 of file DavidsonSymEigsSolver.h.
|
private |
Definition at line 34 of file DavidsonSymEigsSolver.h.
|
private |
Definition at line 36 of file DavidsonSymEigsSolver.h.
|
private |
Definition at line 35 of file DavidsonSymEigsSolver.h.
|
private |
Definition at line 37 of file DavidsonSymEigsSolver.h.
|
inline |
Definition at line 42 of file DavidsonSymEigsSolver.h.
|
inline |
Definition at line 52 of file DavidsonSymEigsSolver.h.
|
inline |
Compute the corrections using the DPR method.
Definition at line 77 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.
|
private |
Definition at line 39 of file DavidsonSymEigsSolver.h.