#include <init.hpp>
Definition at line 60 of file init.hpp.
◆ hamiltonian_at_kpoint()
| std::vector< Complex > q3::LocalOrbitalHamiltonian::hamiltonian_at_kpoint |
( |
const Vector3D & |
kpoint | ) |
const |
|
inline |
◆ hamiltonian_blocks()
| const std::vector< std::vector< Complex > > & q3::LocalOrbitalHamiltonian::hamiltonian_blocks |
( |
| ) |
const |
|
inline |
◆ has_nontrivial_overlap()
| bool q3::LocalOrbitalHamiltonian::has_nontrivial_overlap |
( |
| ) |
const |
|
inline |
◆ lattice_vectors()
◆ maximum_hamiltonian_magnitude_beyond()
| Real q3::LocalOrbitalHamiltonian::maximum_hamiltonian_magnitude_beyond |
( |
Real |
minimum_distance | ) |
const |
|
inline |
Largest |H(R)| over the blocks whose lattice vector is at least minimum_distance from the origin in Cartesian length – the direct measure of how fast the Hamiltonian decays, and therefore of how far a Bloch sum truncated to this domain can be trusted between the k-points it was built from.
Definition at line 170 of file init.hpp.
◆ number_of_orbitals()
| int q3::LocalOrbitalHamiltonian::number_of_orbitals |
( |
| ) |
const |
|
inline |
◆ overlap_at_kpoint()
| std::vector< Complex > q3::LocalOrbitalHamiltonian::overlap_at_kpoint |
( |
const Vector3D & |
kpoint | ) |
const |
|
inline |
◆ overlap_blocks()
| const std::vector< std::vector< Complex > > & q3::LocalOrbitalHamiltonian::overlap_blocks |
( |
| ) |
const |
|
inline |
◆ set_domain()
| void q3::LocalOrbitalHamiltonian::set_domain |
( |
int |
number_of_orbitals, |
|
|
std::vector< LocalOrbitalLatticeVector > |
lattice_vectors |
|
) |
| |
|
inline |
Fix the basis size and the real-space domain. Any blocks previously set are discarded, since their shape and order are no longer defined.
The Bloch sum takes the translations and weights as parallel arrays. Unpacking them once here rather than per call keeps the dense-mesh sampling path – tens of thousands of calls – allocation-free.
Definition at line 66 of file init.hpp.
References lattice_vectors(), and number_of_orbitals().
◆ set_hamiltonian()
| void q3::LocalOrbitalHamiltonian::set_hamiltonian |
( |
std::vector< std::vector< Complex > > |
blocks | ) |
|
|
inline |
H(R): one column-major number_of_orbitals x number_of_orbitals block per lattice vector, in the domain's order.
Definition at line 101 of file init.hpp.
◆ set_overlap()
| void q3::LocalOrbitalHamiltonian::set_overlap |
( |
std::vector< std::vector< Complex > > |
blocks | ) |
|
|
inline |
S(R), same layout as the Hamiltonian blocks. Not setting it means the orbitals are orthonormal and S(k) is the identity for every k.
Definition at line 110 of file init.hpp.
The documentation for this class was generated from the following file:
- src/layer_3_representation/local_orbital/init.hpp