20 #ifndef DAVIDSON_CHEMPS2_H 21 #define DAVIDSON_CHEMPS2_H 46 Davidson(
const int veclength,
const int MAX_NUM_VEC,
const int NUM_VEC_KEEP,
const double RTOL,
const double DIAG_CUTOFF,
const bool debug_print,
const char problem_type =
'E' );
96 double * Reortho_Lowdin;
97 double * Reortho_Overlap_eigs;
98 double * Reortho_Overlap;
99 double * Reortho_Eigenvecs;
102 double FrobeniusNorm(
double * current_vector );
103 void SafetyCheckGuess();
105 double DiagonalizeSmallMatrixAndCalcResidual();
106 void CalculateNewVec();
108 void MxMafterDeflation();
109 void SolveLinearSystemDeflation(
const int NUM_SOLUTIONS );
virtual ~Davidson()
Destructor.
int GetNumMultiplications() const
Get the number of matrix vector multiplications which have been performed.
Davidson(const int veclength, const int MAX_NUM_VEC, const int NUM_VEC_KEEP, const double RTOL, const double DIAG_CUTOFF, const bool debug_print, const char problem_type= 'E')
Constructor.
char FetchInstruction(double **pointers)
The iterator to converge the ground state vector.