mpqc::lcao::detail::EROrbitalSpreadMinimizer< Tile, Policy > Class Template Reference
Collaboration diagram for mpqc::lcao::detail::EROrbitalSpreadMinimizer< Tile, Policy >:
Documentation
template<typename Tile, typename Policy>
class mpqc::lcao::detail::EROrbitalSpreadMinimizer< Tile, Policy >
finds a stationary point of the Edmiston-Ruedenberg objective function
Public Member Functions | |
virtual | ~EROrbitalSpreadMinimizer ()=default |
EROrbitalSpreadMinimizer (double convergence_threshold, size_t max_iter, std::shared_ptr< mpqc::lcao::WavefunctionWorld > passed_wfn_world) | |
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
◆ ~EROrbitalSpreadMinimizer()
template<typename Tile , typename Policy >
|
virtualdefault |
◆ EROrbitalSpreadMinimizer()
template<typename Tile , typename Policy >
mpqc::lcao::detail::EROrbitalSpreadMinimizer< Tile, Policy >::EROrbitalSpreadMinimizer | ( | double | convergence_threshold, |
size_t | max_iter, | ||
std::shared_ptr< mpqc::lcao::WavefunctionWorld > | passed_wfn_world | ||
) |
- Parameters
-
[in] convergence_threshold stop once maximum roatation angle (in rad) is less than this value [in] max_iter do not exceed this many iterations [in] passed_wfn_world pointer to the world for getting integrals
Member Function Documentation
◆ compute()
template<typename Tile , typename Policy >
|
finalvirtual |
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 file:
- mpqc/chemistry/qc/lcao/scf/orbital_localization.ipp