Loading...
Searching...
No Matches
q3::LocalOrbitalQuantumStateInterpolator Class Reference

#include <local_orbital.hpp>

+ Inheritance diagram for q3::LocalOrbitalQuantumStateInterpolator:

Public Member Functions

 LocalOrbitalQuantumStateInterpolator (LocalOrbitalHamiltonian hamiltonian, std::string method_description="local-orbital")
 
std::string description () const override
 One line for logs: the method and the size of the model.
 
std::map< std::string, Real > diagnostics () const override
 
std::vector< Real > eigenvalues_at (const Vector3D &kpoint) const override
 Ascending eigenvalues in Rydberg at one k-point in crystal coordinates.
 
const LocalOrbitalHamiltonian & hamiltonian () const
 The model itself, for diagnostics (decay of H(R), the R set) and tests.
 
int number_of_bands () const override
 Number of eigenvalues returned per k-point.
 
- Public Member Functions inherited from q3::QuantumStateInterpolator
virtual ~QuantumStateInterpolator ()=default
 

Static Public Attributes

static constexpr const char * TOTAL_BLOCH_SUM_WEIGHT = "total_bloch_sum_weight"
 The name that diagnostic goes by, which a results file gives a key of its own.
 

Detailed Description

Definition at line 40 of file local_orbital.hpp.

Constructor & Destructor Documentation

◆ LocalOrbitalQuantumStateInterpolator()

q3::LocalOrbitalQuantumStateInterpolator::LocalOrbitalQuantumStateInterpolator ( LocalOrbitalHamiltonian  hamiltonian,
std::string  method_description = "local-orbital" 
)
inlineexplicit

Definition at line 42 of file local_orbital.hpp.

Member Function Documentation

◆ description()

std::string q3::LocalOrbitalQuantumStateInterpolator::description ( ) const
inlineoverridevirtual

One line for logs: the method and the size of the model.

Implements q3::QuantumStateInterpolator.

Definition at line 77 of file local_orbital.hpp.

References q3::LocalOrbitalHamiltonian::lattice_vectors(), and q3::LocalOrbitalHamiltonian::number_of_orbitals().

◆ diagnostics()

std::map< std::string, Real > q3::LocalOrbitalQuantumStateInterpolator::diagnostics ( ) const
inlineoverridevirtual

The total Bloch-sum weight. For a Hamiltonian from a k -> R transform it must equal the number of k-points the transform ran over (the Wigner-Seitz degeneracy identity), which is the one check on the model a consumer can make without knowing how it was built.

Reimplemented from q3::QuantumStateInterpolator.

Definition at line 89 of file local_orbital.hpp.

References q3::LocalOrbitalHamiltonian::lattice_vectors(), and TOTAL_BLOCH_SUM_WEIGHT.

◆ eigenvalues_at()

std::vector< Real > q3::LocalOrbitalQuantumStateInterpolator::eigenvalues_at ( const Vector3D &  kpoint) const
inlineoverridevirtual

Ascending eigenvalues in Rydberg at one k-point in crystal coordinates.

zhegv wants somewhere to put the vectors even when only values are read back.

Implements q3::QuantumStateInterpolator.

Definition at line 52 of file local_orbital.hpp.

References q3::LocalOrbitalHamiltonian::hamiltonian_at_kpoint(), q3::LocalOrbitalHamiltonian::number_of_orbitals(), and q3::LocalOrbitalHamiltonian::overlap_at_kpoint().

◆ hamiltonian()

const LocalOrbitalHamiltonian & q3::LocalOrbitalQuantumStateInterpolator::hamiltonian ( ) const
inline

The model itself, for diagnostics (decay of H(R), the R set) and tests.

Definition at line 101 of file local_orbital.hpp.

◆ number_of_bands()

int q3::LocalOrbitalQuantumStateInterpolator::number_of_bands ( ) const
inlineoverridevirtual

Number of eigenvalues returned per k-point.

Implements q3::QuantumStateInterpolator.

Definition at line 48 of file local_orbital.hpp.

References q3::LocalOrbitalHamiltonian::number_of_orbitals().

Member Data Documentation

◆ TOTAL_BLOCH_SUM_WEIGHT

constexpr const char* q3::LocalOrbitalQuantumStateInterpolator::TOTAL_BLOCH_SUM_WEIGHT = "total_bloch_sum_weight"
staticconstexpr

The name that diagnostic goes by, which a results file gives a key of its own.

Definition at line 98 of file local_orbital.hpp.

Referenced by q3::InterpolationResultsDocument::describe_model(), and diagnostics().


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