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 Vector3i & | localization_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< WavefunctionWorld > | wfn_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 >
|
inlineexplicit |
KeyVal constructor for PMLocalizer
- Parameters
-
kv the 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 >
|
inline |
The documentation for this class was generated from the following file:
- mpqc/chemistry/qc/lcao/scf/pbc/zorbital_localization.h