#include <projections.hpp>
Public Member Functions | |
| PlanewaveTrialOrbitalProjectionCalculator (const PlanewaveLocalOrbitalSet &trial_orbitals) | |
| std::vector< std::vector< Complex > > | compute_projections_at_kpoint (int kpoint_index, int kpoint_state_index, int number_of_plane_waves, int number_of_bands, const std::vector< int > &g_vector_indices, const Crystal &crystal_structure, const KPointsGrid &kpoint_grid, const PlanewaveBasis &planewave_basis, const PlanewaveKohnShamQuantumSystem &quantum_system, const OverlapOperator *overlap_operator, int first_band_index=0) const |
| int | number_of_orbitals () const |
Definition at line 38 of file projections.hpp.
|
inlineexplicit |
Definition at line 40 of file projections.hpp.
|
inline |
Compute A_mn(k) = <psi_mk|S|g'_n>, where g'_n is the trial-orbital set Löwdin-orthogonalized in the S metric: projections[band_index] [orbital_index]. overlap_operator is null for norm-conserving pseudopotentials (S = I); ultrasoft/PAW callers pass create_overlap_operator()'s result, built from the live SCF state at this k-point (the projector matrix it needs is k-point dependent, so it cannot be cached across k-points inside this calculator).
Definition at line 59 of file projections.hpp.
References q3::apply_overlap_operator_to_orbitals(), q3::PlanewaveLocalOrbitalSet::build(), q3::compute_orbital_overlap_matrix_in_s_metric(), q3::lowdin_orthogonalize_orbitals(), and q3::PlanewaveKohnShamQuantumSystem::wavefunction_band_data().
|
inline |
Definition at line 44 of file projections.hpp.
References q3::PlanewaveLocalOrbitalSet::number_of_orbitals().