|
votca 2026-dev
|
#include <adiis.h>
Public Member Functions | |
| Eigen::VectorXd | CalcCoeff (const std::vector< Eigen::MatrixXd > &dmathist, const std::vector< Eigen::MatrixXd > &mathist) |
| Eigen::VectorXd | CalcCoeff (const std::vector< Eigen::MatrixXd > &dmathist_alpha, const std::vector< Eigen::MatrixXd > &dmathist_beta, const std::vector< Eigen::MatrixXd > &mathist_alpha, const std::vector< Eigen::MatrixXd > &mathist_beta) |
| bool | Info () |
| Report whether the most recent ADIIS optimization converged successfully. | |
Private Attributes | |
| bool | success = true |
Approximate DIIS extrapolation based on a quadratic SCF energy model.
The optimizer determines non-negative coefficients on the simplex and uses them to build a mixed density or Fock guess that remains stable when plain DIIS is still too aggressive.
| Eigen::VectorXd votca::xtp::ADIIS::CalcCoeff | ( | const std::vector< Eigen::MatrixXd > & | dmathist, |
| const std::vector< Eigen::MatrixXd > & | mathist ) |
Compute ADIIS mixing coefficients for a restricted-spin history of density and Fock matrices.
ADIIS implementation.
ADIIS minimizes a quadratic surrogate of the SCF energy over the simplex of mixing coefficients. It is typically more robust than plain DIIS far from convergence and is therefore used as an intermediate accelerator before the switch to standard Pulay extrapolation.
| Eigen::VectorXd votca::xtp::ADIIS::CalcCoeff | ( | const std::vector< Eigen::MatrixXd > & | dmathist_alpha, |
| const std::vector< Eigen::MatrixXd > & | dmathist_beta, | ||
| const std::vector< Eigen::MatrixXd > & | mathist_alpha, | ||
| const std::vector< Eigen::MatrixXd > & | mathist_beta ) |
|
inline |