mpqc::lcao::detail::FBOrbitalSpreadMinimizer Class Reference
Collaboration diagram for mpqc::lcao::detail::FBOrbitalSpreadMinimizer:

Documentation

finds a stationary point of the Foster-Boys objective function

Public Member Functions

virtual ~FBOrbitalSpreadMinimizer ()=default
 
 FBOrbitalSpreadMinimizer (std::vector< Mat > const &ao_xyz, double convergence_threshold, size_t max_iter, int spread_exponent=2)
 
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

◆ ~FBOrbitalSpreadMinimizer()

virtual mpqc::lcao::detail::FBOrbitalSpreadMinimizer::~FBOrbitalSpreadMinimizer ( )
virtualdefault

◆ FBOrbitalSpreadMinimizer()

mpqc::lcao::detail::FBOrbitalSpreadMinimizer::FBOrbitalSpreadMinimizer ( std::vector< Mat > const &  ao_xyz,
double  convergence_threshold,
size_t  max_iter,
int  spread_exponent = 2 
)
Parameters
[in]ao_xyzthe {x,y,z} electric dipole integral matrices in AO basis
[in]convergence_thresholdstop once maximum rotation angle (in rad) changes between iterations by less than this
[in]max_iterdo not exceed this many iterations
[in]spread_exponentan integer specifying the exponent of spread quantity in the spread functional; currently supported values are 2 and 4.

Member Function Documentation

◆ compute()

bool mpqc::lcao::detail::FBOrbitalSpreadMinimizer::compute ( Mat Cm,
Mat U 
) const
finalvirtual

finds a stationary point of a spread functional

Parameters
[in,out]Cmon input: orbitals to be localized; on output: localized LCAOs
[out]Utransformation 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: