mpqc::lcao::zOrbitalLocalizer< Tile, Policy, Mat > Class Template Referenceabstract

Documentation

template<typename Tile, typename Policy, typename Mat>
class mpqc::lcao::zOrbitalLocalizer< Tile, Policy, Mat >

Localizes periodic orbitals using LCAO-specific info (e.g. AO-basis operators)

Public Member Functions

virtual ~zOrbitalLocalizer ()=default
 
virtual std::vector< Mat > compute (std::vector< Mat > const &C, std::vector< Mat > &C_rotated, Eigen::Vector3i const &nk, int64_t nocc, size_t ncols_of_C_to_skip=0) const =0
 

Constructor & Destructor Documentation

◆ ~zOrbitalLocalizer()

template<typename Tile , typename Policy , typename Mat >
virtual mpqc::lcao::zOrbitalLocalizer< Tile, Policy, Mat >::~zOrbitalLocalizer ( )
virtualdefault

Member Function Documentation

◆ compute()

template<typename Tile , typename Policy , typename Mat >
virtual std::vector<Mat> mpqc::lcao::zOrbitalLocalizer< Tile, Policy, Mat >::compute ( std::vector< Mat > const &  C,
std::vector< Mat > &  C_rotated,
Eigen::Vector3i const &  nk,
int64_t  nocc,
size_t  ncols_of_C_to_skip = 0 
) const
pure virtual
Parameters
[in]Cinput LCAOs: one matrix for each k point
[in]nkthe vector specifying the number of k points in each direction
[in]noccthe number of occupied orbitals
[in]ncols_of_C_to_skipthe number of columns of C to keep non-localized
Returns
transformation matrix U that converts C to localized LCAOs: one matrix for each k point

Implemented in mpqc::lcao::pbc::NonLinearConjGradient< Tile, Policy, Gradient, Mat >, and mpqc::lcao::pbc::NonLinearConjGradient< Tile, Policy, detail::PMzOrbitalLocalizationGradient< Tile, Policy, Mat >, Mat >.


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