mpqc::lcao::JacobiOrbitalLocalizer< Tile, Policy, Minimizer > Class Template Reference
Collaboration diagram for mpqc::lcao::JacobiOrbitalLocalizer< Tile, Policy, Minimizer >:

Documentation

template<typename Tile, typename Policy, typename Minimizer>
class mpqc::lcao::JacobiOrbitalLocalizer< Tile, Policy, Minimizer >

Implements Jacobi-based spread minimizer.

Public Member Functions

virtual ~JacobiOrbitalLocalizer ()=default
 
 JacobiOrbitalLocalizer (const KeyVal &kv)
 
TA::DistArray< Tile, Policy > compute (TA::DistArray< Tile, Policy > const &C_ta, size_t ncols_of_C_to_skip=0) const final
 
- Public Member Functions inherited from mpqc::lcao::OrbitalLocalizer< Tile, Policy >
virtual ~OrbitalLocalizer ()=default
 
TA::DistArrayVector< Tile, Policy > compute (TA::DistArrayVector< Tile, Policy > const &C, size_t ncols_of_C_to_skip=0) const
 

Protected Member Functions

void init (std::shared_ptr< detail::OrbitalSpreadMinimizer > minimizer)
 
 JacobiOrbitalLocalizer (int max_iter, double target_precision)
 

Protected Attributes

std::shared_ptr< WavefunctionWorldwfn_world_
 
std::shared_ptr< gaussian::AOFactory< Tile, Policy > > ao_factory_
 
double convergence_threshold_
 
size_t max_iter_
 
std::shared_ptr< detail::OrbitalSpreadMinimizerminimizer_
 

Constructor & Destructor Documentation

◆ ~JacobiOrbitalLocalizer()

template<typename Tile , typename Policy , typename Minimizer >
virtual mpqc::lcao::JacobiOrbitalLocalizer< Tile, Policy, Minimizer >::~JacobiOrbitalLocalizer ( )
virtualdefault

◆ JacobiOrbitalLocalizer() [1/2]

template<typename Tile , typename Policy , typename Minimizer >
mpqc::lcao::JacobiOrbitalLocalizer< Tile, Policy, Minimizer >::JacobiOrbitalLocalizer ( const KeyVal kv)
explicit

KeyVal constructor for JacobiOrbitalLocalizer

Parameters
kvthe KeyVal object; it will be queried for the following keywords:
Keyword Type Default Description
convergence double 1e-8 the Jacobi solver is converged when the maximum rotation angle (in rad) does not exceed this value
max_iter int 50 the maximum number of Jacobi iterations
wfn_world class none the WavefunctionWorld

◆ JacobiOrbitalLocalizer() [2/2]

template<typename Tile , typename Policy , typename Minimizer >
mpqc::lcao::JacobiOrbitalLocalizer< Tile, Policy, Minimizer >::JacobiOrbitalLocalizer ( int  max_iter,
double  target_precision 
)
inlineprotected

Member Function Documentation

◆ compute()

template<typename Tile , typename Policy , typename Minimizer >
DistArray< Tile, Policy > mpqc::lcao::JacobiOrbitalLocalizer< Tile, Policy, Minimizer >::compute ( TA::DistArray< Tile, Policy > const &  C_ta,
size_t  ncols_of_C_to_skip = 0 
) const
finalvirtual
Parameters
Cinput LCAOs
[in]ncols_of_C_to_skipthe number of columns of C to keep non-localized, presumably because they are already localized
Returns
transformation matrix U that converts C to localized LCAOs, i.e.
Cao("mu,k") * U("k,i")
computes the AO coefficients of localized MOs from the AO coefficients of input MOs";

Implements mpqc::lcao::OrbitalLocalizer< Tile, Policy >.

◆ init()

template<typename Tile , typename Policy , typename Minimizer >
void mpqc::lcao::JacobiOrbitalLocalizer< Tile, Policy, Minimizer >::init ( std::shared_ptr< detail::OrbitalSpreadMinimizer minimizer)
protected

Member Data Documentation

◆ ao_factory_

template<typename Tile , typename Policy , typename Minimizer >
std::shared_ptr<gaussian::AOFactory<Tile, Policy> > mpqc::lcao::JacobiOrbitalLocalizer< Tile, Policy, Minimizer >::ao_factory_
protected

◆ convergence_threshold_

template<typename Tile , typename Policy , typename Minimizer >
double mpqc::lcao::JacobiOrbitalLocalizer< Tile, Policy, Minimizer >::convergence_threshold_
protected

◆ max_iter_

template<typename Tile , typename Policy , typename Minimizer >
size_t mpqc::lcao::JacobiOrbitalLocalizer< Tile, Policy, Minimizer >::max_iter_
protected

◆ minimizer_

template<typename Tile , typename Policy , typename Minimizer >
std::shared_ptr<detail::OrbitalSpreadMinimizer> mpqc::lcao::JacobiOrbitalLocalizer< Tile, Policy, Minimizer >::minimizer_
protected

◆ wfn_world_

template<typename Tile , typename Policy , typename Minimizer >
std::shared_ptr<WavefunctionWorld> mpqc::lcao::JacobiOrbitalLocalizer< Tile, Policy, Minimizer >::wfn_world_
protected

The documentation for this class was generated from the following file: