#include <EigenSystemDavidson.hpp>
|
| EigenSystemDavidson (H *h_, const int eigenVectorsCount_, P *p_, const double toleranceVectors, const double toleranceEnergy, const unsigned int maxBasisSize_, const unsigned int maxIterations_, const unsigned int minIterations_) |
| ...
|
|
virtual void | run ()=0 |
|
const std::vector< complex > & | getEigenValues () const |
|
const std::vector< V > & | getRightEigenVectors () const |
|
const std::vector< V > & | getLeftEigenVectors () const |
|
void | refreshOnMaxBasisSize (const bool value) |
| Controls if the Davidson algorithm should make a refreshment of the basis whenever the maximal basis size has been attained.
|
|
bool | refreshOnMaxBasisSize () |
| Check wether or not the basis should be refreshed whenever the maximal basis size has been reached.
|
|
template<typename H , typename P , typename V >
◆ EigenSystemDavidson()
template<typename H , typename P , typename V >
sisi4s::EigenSystemDavidson< H, P, V >::EigenSystemDavidson |
( |
H * |
h_, |
|
|
const int |
eigenVectorsCount_, |
|
|
P * |
p_, |
|
|
const double |
toleranceVectors, |
|
|
const double |
toleranceEnergy, |
|
|
const unsigned int |
maxBasisSize_, |
|
|
const unsigned int |
maxIterations_, |
|
|
const unsigned int |
minIterations_ |
|
) |
| |
|
inline |
...
- Parameters
-
[in] | h | object representing the matrix whose eigen system is sought offering the following method: V right_apply(V &v); Also, if the dual version of the Davidson algorithm is to be used h should offer the leftApply method V leftApply(V &v); returning the action of h on v standing right of h. |
[in] | eigenVectorsCount | the number of eigenvalues and vectors to be computed. |
[in] | p | object representing the preconditioner offering the following method: std::vector<V> getInitialBasis(int eigenVectorsCount); returning an initial guess the basis consisting of eigenVectorsCount vectors. V getCorrection(const complex eigenValue, V &residuum); computing the estimated correction for the k-th eigenvector given its eigenvalue and the residuum of the current k-th estimated eigenvector. |
[in] | tolerance | the targeted relative tolerance to be met by all residua. |
[in] | maxBasisSize | the maximum allowed number of vectors representing eigenvectors. |
[in] | dualVersion | If the dual version of the algorithm is to be used. The dual version of the algorithm calculates both the right and left eigenvectors of the h object. If the dual version is not to be used then only the right eigenvectors are to be calculated. |
[in] | refreshIterations | This vector of integers represents the iterations where the refreshment should be done. Refreshment meaning that the trial Davidson basis should be thrown away and only keep the current approximations to the eigenvectors. |
◆ getEigenValues()
template<typename H , typename P , typename V >
◆ getLeftEigenVectors()
template<typename H , typename P , typename V >
◆ getRightEigenVectors()
template<typename H , typename P , typename V >
◆ refreshOnMaxBasisSize() [1/2]
template<typename H , typename P , typename V >
Check wether or not the basis should be refreshed whenever the maximal basis size has been reached.
◆ refreshOnMaxBasisSize() [2/2]
template<typename H , typename P , typename V >
Controls if the Davidson algorithm should make a refreshment of the basis whenever the maximal basis size has been attained.
- Parameters
-
[in] | value | If value is true, it will be refreshed, otherwise not. |
◆ run()
template<typename H , typename P , typename V >
◆ eigenValues
template<typename H , typename P , typename V >
◆ eigenVectorsCount
template<typename H , typename P , typename V >
◆ energy
template<typename H , typename P , typename V >
template<typename H , typename P , typename V >
◆ leftEigenVectors
template<typename H , typename P , typename V >
◆ maxBasisSize
template<typename H , typename P , typename V >
◆ maxIterations
template<typename H , typename P , typename V >
◆ minIterations
template<typename H , typename P , typename V >
template<typename H , typename P , typename V >
◆ refreshIterations
template<typename H , typename P , typename V >
◆ refreshOnMaxBasisSizeValue
template<typename H , typename P , typename V >
◆ rightEigenVectors
template<typename H , typename P , typename V >
◆ [struct]
◆ vectors
template<typename H , typename P , typename V >
The documentation for this class was generated from the following file: