8 #ifndef SPARROW_DIAGONALPRECONDITIONEREVALUATOR_H
9 #define SPARROW_DIAGONALPRECONDITIONEREVALUATOR_H
12 #include <Utils/Math/IterativeDiagonalizer/SpinAdaptedEigenContainer.h>
16 class ElectronicOccupation;
18 class SingleParticleEnergies;
73 Eigen::VectorXd
evaluate(
const Eigen::VectorXd& vectorToPrecondition,
double eigenvalue)
const final;
76 Eigen::VectorXd energyDifferences_;
81 #endif // SPARROW_UNRESTRICTEDDIAGONALPRECONDITIONEREVALUATOR_H
DiagonalPreconditionerEvaluator(const Eigen::VectorXd &energyDifferenceVector)
The constructor generates a preconditioner from an ordered energy difference vector.
Definition: DiagonalPreconditionerEvaluator.cpp:13
Tag to define the order in the preconditioner evaluators. This is in a single file to prevent needing...
Definition: OrderTag.h:18
Eigen::VectorXd evaluate(const Eigen::VectorXd &vectorToPrecondition, double eigenvalue) const final
Evaluates the preconditioner vector. The preconditioner elements are p_k = (H_{k,k} - h_k)^{-1}...
Definition: DiagonalPreconditionerEvaluator.cpp:50
Direct preconditioner calculator.
Definition: DiagonalPreconditionerEvaluator.h:34