mpqc::lcao::detail::PMOrbitalSpreadMinimizer Class Reference
Collaboration diagram for mpqc::lcao::detail::PMOrbitalSpreadMinimizer:
Documentation
finds a stationary point of the Pipek-Mezey objective function
Public Member Functions | |
virtual | ~PMOrbitalSpreadMinimizer ()=default |
PMOrbitalSpreadMinimizer (Mat const &S_min_obs, Mat const &S_min, size_t nAtoms, std::vector< Atom > const &atoms, std::vector< gaussian::Shell > const &min_shells, double convergence_threshold, size_t max_iter, int spread_exponent) | |
bool | compute (Mat &Cm, Mat &U) const final |
Additional Inherited Members | |
Public Types inherited from mpqc::lcao::detail::OrbitalSpreadMinimizer | |
using | Mat = Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor > |
Constructor & Destructor Documentation
◆ ~PMOrbitalSpreadMinimizer()
|
virtualdefault |
◆ PMOrbitalSpreadMinimizer()
mpqc::lcao::detail::PMOrbitalSpreadMinimizer::PMOrbitalSpreadMinimizer | ( | Mat const & | S_min_obs, |
Mat const & | S_min, | ||
size_t | nAtoms, | ||
std::vector< Atom > const & | atoms, | ||
std::vector< gaussian::Shell > const & | min_shells, | ||
double | convergence_threshold, | ||
size_t | max_iter, | ||
int | spread_exponent | ||
) |
- Parameters
-
[in] S_min_obs the overlap matrix between the minimal AO basis and the orbital AO basis [in] S_min the overlap matrix for the minimal AO basis [in] convergence_threshold stop once maximum rotation angle (in rad) changes between iterations by less than this [in] max_iter do not exceed this many iterations [in] spread_exponent an integer specifying the exponent of spread quantity in the spread functional; currently supported values are 2 and 4.
Member Function Documentation
◆ compute()
finds a stationary point of a spread functional
- Parameters
-
[in,out] Cm on input: orbitals to be localized; on output: localized LCAOs [out] U transformation matrix converting original to localized LCAOs
- Returns
- true if converged
Implements mpqc::lcao::detail::OrbitalSpreadMinimizer.
The documentation for this class was generated from the following files:
- mpqc/chemistry/qc/lcao/scf/orbital_localization.ipp
- mpqc/chemistry/qc/lcao/scf/orbital_localization.cpp