mpqc::lcao::PurificationDensityBuilder< Tile, Policy > Class Template Reference

Documentation

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

Computes new density matrix and orbitals from a Fock matrix by purification.

Currently restricted to closed-shell spin-restricted states

Public Types

using base_type = DensityBuilder< Tile, Policy >
 
using array_type = typename DensityBuilder< Tile, Policy >::array_type
 
using arrayvec_type = typename base_type::arrayvec_type
 

Public Member Functions

 PurificationDensityBuilder (array_type const &S, int64_t occ, int64_t nclusters, double TcutC=0.0, std::shared_ptr< OrbitalLocalizer< Tile, Policy >> localizer=nullptr, bool localize_core=true, 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
 

Member Typedef Documentation

◆ array_type

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

◆ arrayvec_type

template<typename Tile , typename Policy >
using mpqc::lcao::PurificationDensityBuilder< Tile, Policy >::arrayvec_type = typename base_type::arrayvec_type

◆ base_type

template<typename Tile , typename Policy >
using mpqc::lcao::PurificationDensityBuilder< Tile, Policy >::base_type = DensityBuilder<Tile, Policy>

Constructor & Destructor Documentation

◆ PurificationDensityBuilder()

template<typename Tile , typename Policy >
mpqc::lcao::PurificationDensityBuilder< Tile, Policy >::PurificationDensityBuilder ( array_type const &  S,
int64_t  occ,
int64_t  nclusters,
double  TcutC = 0.0,
std::shared_ptr< OrbitalLocalizer< Tile, Policy >>  localizer = nullptr,
bool  localize_core = true,
int64_t  ncore = 0,
bool  clustered_coeffs = false,
const arrayvec_type r_xyz = {} 
)
Parameters
Sthe AO overlap matrix
occthe number of occupied orbitals
nclustersthe target number of clusters to form from the MOs
TcutCthreshold to use for truncating tiles of orbitals
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

◆ operator()()

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

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