mpqc::lcao::pbc::PMzLocalizer< Tile, Policy, Mat > Class Template Reference
Collaboration diagram for mpqc::lcao::pbc::PMzLocalizer< Tile, Policy, Mat >:

Documentation

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

Performs Pipek-Mezey localization.

Public Types

using base_type = NonLinearConjGradient< Tile, Policy, detail::PMzOrbitalLocalizationGradient< Tile, Policy, Mat >, Mat >
 

Public Member Functions

 PMzLocalizer (const KeyVal &kv)
 
const Vector3ilocalization_range () const
 
- Public Member Functions inherited from mpqc::lcao::pbc::NonLinearConjGradient< Tile, Policy, detail::PMzOrbitalLocalizationGradient< Tile, Policy, Mat >, Mat >
virtual ~NonLinearConjGradient ()=default
 
 NonLinearConjGradient (const KeyVal &kv)
 
double inner_product (Mat const &bra_mat, Mat const &ket_mat) const
 
std::vector< Mat > rotate_W (const int nkpts, double mu, std::vector< Mat > const &Hn, std::vector< Mat > const &Wn) const
 
int find_max_idx (Eigen::VectorXd const &list, double const max_value) const
 
Eigen::VectorXd fit_data (Eigen::VectorXd const &mu_list, Eigen::VectorXd const &P_list) const
 
void evaluate_P_on_range (Eigen::VectorXd &mu_list, Eigen::VectorXd &P_list, const double lower_bound, const double upper_bound, const int p, const int nkpts, Eigen::Vector3i const &nk, std::vector< Mat > const &Hn, std::vector< Mat > const &Wn, std::vector< std::vector< Mat >> const &Q_list) const
 
double get_upper_bound (double const &lower_bound, double const &upper_bound, Eigen::VectorXd &mu_list, Eigen::VectorXd &P_list, const int p, const double P_initial, Eigen::Vector3i const &nk, std::vector< Mat > const &Hn, std::vector< Mat > const &Wn, std::vector< std::vector< Mat >> const &Q_list, const int nkpts) const
 
double solve_root (const double &lower_bound, double &upper_bound, const int p, const double P_initial, const int nkpts, Eigen::Vector3i const &nk, std::vector< Mat > const &Hn, std::vector< Mat > const &Wn, std::vector< std::vector< Mat >> const &Q_list) const
 
std::vector< Mat > update_W_fit_functional (const int nkpts, const int p, double const &lower_bound, double &upper_bound, double &P_initial, Eigen::Vector3i const &nk, std::vector< Mat > const &Hn, std::vector< Mat > const &Wn, std::vector< std::vector< Mat >> const &Q_list) const
 
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 final
 
- Public Member Functions inherited from mpqc::lcao::zOrbitalLocalizer< Tile, Policy, Mat >
virtual ~zOrbitalLocalizer ()=default
 

Additional Inherited Members

- Protected Member Functions inherited from mpqc::lcao::pbc::NonLinearConjGradient< Tile, Policy, detail::PMzOrbitalLocalizationGradient< Tile, Policy, Mat >, Mat >
 NonLinearConjGradient (int max_iter, double target_precision)
 
void init (std::shared_ptr< detail::zOrbitalLocalizationGradient< Mat >> gradient)
 
- Protected Attributes inherited from mpqc::lcao::pbc::NonLinearConjGradient< Tile, Policy, detail::PMzOrbitalLocalizationGradient< Tile, Policy, Mat >, Mat >
std::shared_ptr< WavefunctionWorldwfn_world_
 
std::shared_ptr< lcao::pbc::gaussian::AOFactory< TileD, Policy > > ao_factory_
 
double convergence_threshold_
 
size_t max_iter_
 
std::string update_factor_
 
std::string initial_W_
 
std::shared_ptr< detail::zOrbitalLocalizationGradient< Mat > > gradient_
 

Member Typedef Documentation

◆ base_type

template<typename Tile , typename Policy , typename Mat >
using mpqc::lcao::pbc::PMzLocalizer< Tile, Policy, Mat >::base_type = NonLinearConjGradient< Tile, Policy, detail::PMzOrbitalLocalizationGradient<Tile, Policy, Mat>, Mat>

Constructor & Destructor Documentation

◆ PMzLocalizer()

template<typename Tile , typename Policy , typename Mat >
mpqc::lcao::pbc::PMzLocalizer< Tile, Policy, Mat >::PMzLocalizer ( const KeyVal kv)
inlineexplicit

KeyVal constructor for PMLocalizer

Parameters
kvthe KeyVal object; it will be queried for all keywords of JacobiOrbitalLocalizer and the following additional keywords:
Keyword Type Default Description
spread_exponent int 4 an integer specifying the exponent of spread quantity in the spread functional; currently supported values are 2 and 4

Member Function Documentation

◆ localization_range()

template<typename Tile , typename Policy , typename Mat >
const Vector3i& mpqc::lcao::pbc::PMzLocalizer< Tile, Policy, Mat >::localization_range ( ) const
inline

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