| Scine::Sparrow
    3.1.0
    Library for fast and agile quantum chemical calculations with semiempirical methods. | 
Direct preconditioner calculator. More...
#include <DiagonalPreconditionerEvaluator.h>


| Public Member Functions | |
| DiagonalPreconditionerEvaluator (const Eigen::VectorXd &energyDifferenceVector) | |
| The constructor generates a preconditioner from an ordered energy difference vector. | |
| DiagonalPreconditionerEvaluator (const Utils::SpinAdaptedContainer< Utils::Reference::Unrestricted, Eigen::VectorXd > &energyDifferenceVector) | |
| The constructor generates concatenated energyDifferences from an Unrestricted SpinAdaptedContainer. | |
| DiagonalPreconditionerEvaluator (const Utils::SpinAdaptedContainer< Utils::Reference::Restricted, Eigen::VectorXd > &energyDifferenceVector) | |
| The constructor generates energyDifferences from a Restricted SpinAdaptedContainer. | |
| DiagonalPreconditionerEvaluator (const Utils::SpinAdaptedContainer< Utils::Reference::Unrestricted, Eigen::VectorXd > &energyDifferenceVector, OrderTag) | |
| The constructor orders the energy differences in energetic increasing ordering from an Unrestricted SpinAdaptedContainer.  More... | |
| DiagonalPreconditionerEvaluator (const Utils::SpinAdaptedContainer< Utils::Reference::Restricted, Eigen::VectorXd > &energyDifferenceVector, OrderTag) | |
| The constructor orders the energy differences in energetic increasing ordering from a Restricted SpinAdaptedContainer.  More... | |
| 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}, where H_{k,k} is the approximated k-th diagonal element of H, given by the energy difference between the molecular orbitals. H_{k,k} = e_a - e_i.  More... | |
Direct preconditioner calculator.
| Scine::Sparrow::DiagonalPreconditionerEvaluator::DiagonalPreconditionerEvaluator | ( | const Utils::SpinAdaptedContainer< Utils::Reference::Unrestricted, Eigen::VectorXd > & | energyDifferenceVector, | 
| OrderTag | |||
| ) | 
The constructor orders the energy differences in energetic increasing ordering from an Unrestricted SpinAdaptedContainer.
| OrderTag | Tag to give if ordering is needed. | 
| Scine::Sparrow::DiagonalPreconditionerEvaluator::DiagonalPreconditionerEvaluator | ( | const Utils::SpinAdaptedContainer< Utils::Reference::Restricted, Eigen::VectorXd > & | energyDifferenceVector, | 
| OrderTag | |||
| ) | 
The constructor orders the energy differences in energetic increasing ordering from a Restricted SpinAdaptedContainer.
| OrderTag | Tag to give if ordering is needed. | 
| 
 | finalvirtual | 
Evaluates the preconditioner vector. The preconditioner elements are p_k = (H_{k,k} - h_k)^{-1}, where H_{k,k} is the approximated k-th diagonal element of H, given by the energy difference between the molecular orbitals. H_{k,k} = e_a - e_i.
| eigenValues | The current guess for the eigenvalues: h_k | 
Implements Scine::Utils::PreconditionerEvaluator.