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

Documentation

template<typename Tile, typename Policy>
class mpqc::lcao::ESolveDensityBuilder< Tile, Policy >

Computes new density and orbitals from a Fock matrix using an eigensolver.

Public Types

using array_type = typename DensityBuilder< Tile, Policy >::array_type
 
using arrayvec_type = typename DensityBuilder< Tile, Policy >::arrayvec_type
 
- Public Types inherited from mpqc::lcao::DensityBuilder< Tile, Policy >
using array_type = TA::DistArray< Tile, Policy >
 
using arrayvec_type = TA::DistArrayVector< Tile, Policy >
 

Public Member Functions

 ESolveDensityBuilder ()=default
 
 ESolveDensityBuilder (ESolveDensityBuilder const &)=default
 
 ESolveDensityBuilder (ESolveDensityBuilder &&)=default
 
ESolveDensityBuilderoperator= (ESolveDensityBuilder const &)=default
 
ESolveDensityBuilderoperator= (ESolveDensityBuilder &&)=default
 
 ~ESolveDensityBuilder () noexcept=default
 
 ESolveDensityBuilder (array_type const &S, int64_t nalpha, int64_t nbeta, int64_t nclusters, double TcutC=0.0, std::string const &metric_decomp_type="cholesky_inverse", double target_condition_number=1.0e8, std::shared_ptr< OrbitalLocalizer< Tile, Policy >> localizer=nullptr, bool localize_core=false, int64_t ncore=0, bool clustered_coeffs=false, const arrayvec_type &r_xyz={})
 
std::pair< arrayvec_type, arrayvec_typeoperator() (arrayvec_type const &F) const override
 
double condition_num_threshold () const
 
void condition_num_threshold (double thresh)
 
double TcutC () const
 
bool localize () const
 
const Eigen::VectorXd & orbital_energies () const
 
array_type C () const
 
- Public Member Functions inherited from mpqc::lcao::DensityBuilder< Tile, Policy >
 DensityBuilder ()=default
 
 DensityBuilder (DensityBuilder const &)=default
 
 DensityBuilder (DensityBuilder &&)=default
 
DensityBuilderoperator= (DensityBuilder const &)=default
 
DensityBuilderoperator= (DensityBuilder &&)=default
 
virtual ~DensityBuilder ()
 
virtual std::pair< arrayvec_type, arrayvec_typeoperator() (arrayvec_type const &) const =0
 
virtual void log_iter (std::ostream &os=ExEnv::out0()) const
 

Member Typedef Documentation

◆ array_type

template<typename Tile , typename Policy >
using mpqc::lcao::ESolveDensityBuilder< Tile, Policy >::array_type = typename DensityBuilder<Tile, Policy>::array_type

◆ arrayvec_type

template<typename Tile , typename Policy >
using mpqc::lcao::ESolveDensityBuilder< Tile, Policy >::arrayvec_type = typename DensityBuilder<Tile, Policy>::arrayvec_type

Constructor & Destructor Documentation

◆ ESolveDensityBuilder() [1/4]

template<typename Tile , typename Policy >
mpqc::lcao::ESolveDensityBuilder< Tile, Policy >::ESolveDensityBuilder ( )
default

◆ ESolveDensityBuilder() [2/4]

template<typename Tile , typename Policy >
mpqc::lcao::ESolveDensityBuilder< Tile, Policy >::ESolveDensityBuilder ( ESolveDensityBuilder< Tile, Policy > const &  )
default

◆ ESolveDensityBuilder() [3/4]

template<typename Tile , typename Policy >
mpqc::lcao::ESolveDensityBuilder< Tile, Policy >::ESolveDensityBuilder ( ESolveDensityBuilder< Tile, Policy > &&  )
default

◆ ~ESolveDensityBuilder()

template<typename Tile , typename Policy >
mpqc::lcao::ESolveDensityBuilder< Tile, Policy >::~ESolveDensityBuilder ( )
defaultnoexcept

◆ ESolveDensityBuilder() [4/4]

template<typename Tile , typename Policy >
mpqc::lcao::ESolveDensityBuilder< Tile, Policy >::ESolveDensityBuilder ( array_type const &  S,
int64_t  nalpha,
int64_t  nbeta,
int64_t  nclusters,
double  TcutC = 0.0,
std::string const &  metric_decomp_type = "cholesky_inverse",
double  target_condition_number = 1.0e8,
std::shared_ptr< OrbitalLocalizer< Tile, Policy >>  localizer = nullptr,
bool  localize_core = false,
int64_t  ncore = 0,
bool  clustered_coeffs = false,
const arrayvec_type r_xyz = {} 
)
Parameters
Sthe AO overlap matrix
nalphathe number of spin-up ( $ m_s = 1/2 $ ) electrons
nbetathe number of spin-down ( $ m_s = -1/2 $ ) electrons
nclustersthe target number of clusters to form from the MOs
TcutCthreshold to use for truncating tiles of orbitals
metric_decomp_typehow to orthonormalize the basis
target_condition_numberthe target condition number to use when computing the orthonormal basis
localizerpointer to the OrbitalLocalizer object used to localize orbitals
localize_corewhether to localize the core orbitals
ncorethe number of core orbitals
clustered_coeffswhether to cluster localized MOs
r_xyzAO dipole moment integrals, only used if clustered_coeffs is true

Member Function Documentation

◆ C()

template<typename Tile , typename Policy >
array_type mpqc::lcao::ESolveDensityBuilder< Tile, Policy >::C ( ) const
inline

◆ condition_num_threshold() [1/2]

template<typename Tile , typename Policy >
double mpqc::lcao::ESolveDensityBuilder< Tile, Policy >::condition_num_threshold ( ) const
inline

◆ condition_num_threshold() [2/2]

template<typename Tile , typename Policy >
void mpqc::lcao::ESolveDensityBuilder< Tile, Policy >::condition_num_threshold ( double  thresh)
inline

◆ localize()

template<typename Tile , typename Policy >
bool mpqc::lcao::ESolveDensityBuilder< Tile, Policy >::localize ( ) const
inline

◆ operator()()

template<typename Tile , typename Policy >
std::pair< typename ESolveDensityBuilder< Tile, Policy >::arrayvec_type, typename ESolveDensityBuilder< Tile, Policy >::arrayvec_type > mpqc::lcao::ESolveDensityBuilder< Tile, Policy >::operator() ( arrayvec_type const &  F) const
override

◆ operator=() [1/2]

template<typename Tile , typename Policy >
ESolveDensityBuilder& mpqc::lcao::ESolveDensityBuilder< Tile, Policy >::operator= ( ESolveDensityBuilder< Tile, Policy > &&  )
default

◆ operator=() [2/2]

template<typename Tile , typename Policy >
ESolveDensityBuilder& mpqc::lcao::ESolveDensityBuilder< Tile, Policy >::operator= ( ESolveDensityBuilder< Tile, Policy > const &  )
default

◆ orbital_energies()

template<typename Tile , typename Policy >
const Eigen::VectorXd& mpqc::lcao::ESolveDensityBuilder< Tile, Policy >::orbital_energies ( ) const
inline

◆ TcutC()

template<typename Tile , typename Policy >
double mpqc::lcao::ESolveDensityBuilder< Tile, Policy >::TcutC ( ) const
inline

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