|
Quantum 3xplorer (Q3)
An AI-native quantum simulation engine
|
#include <davidson.hpp>
Inheritance diagram for q3::SerialDavidsonWorkspace:Public Member Functions | |
| const Complex * | band_scratch () const override |
| Complex * | band_scratch () override |
| const Complex * | basis_vectors () const override |
| Complex * | basis_vectors () override |
| const Complex * | hamiltonian_basis_vectors () const override |
| Complex * | hamiltonian_basis_vectors () override |
| const Complex * | overlap_basis_vectors () const override |
| Complex * | overlap_basis_vectors () override |
| void | resize (int maximum_basis_size, int number_of_plane_waves, int number_of_bands, bool overlap_is_identity) override |
| const Complex * | subspace_hamiltonian () const override |
| Complex * | subspace_hamiltonian () override |
| const Complex * | subspace_overlap () const override |
| Complex * | subspace_overlap () override |
| void | sync_to_host () override |
Public Member Functions inherited from q3::PlanewaveDavidsonWorkspace | |
| virtual | ~PlanewaveDavidsonWorkspace ()=default |
| Real * | local_eigenvalues () |
| const Real * | local_eigenvalues () const |
Additional Inherited Members | |
Protected Attributes inherited from q3::PlanewaveDavidsonWorkspace | |
| std::vector< Real > | local_eigenvalues_host_ |
Definition at line 114 of file davidson.hpp.
|
inlineoverridevirtual |
Implements q3::PlanewaveDavidsonWorkspace.
Definition at line 200 of file davidson.hpp.
|
inlineoverridevirtual |
One band-sized buffer the solver borrows for a rotation that cannot be done in place – the subspace collapse and the final extraction. It replaced the Ritz vectors, H|Ritz>, S|Ritz> and residual arrays, which the correction-vector build made unnecessary.
Implements q3::PlanewaveDavidsonWorkspace.
Definition at line 197 of file davidson.hpp.
|
inlineoverridevirtual |
Implements q3::PlanewaveDavidsonWorkspace.
Definition at line 165 of file davidson.hpp.
|
inlineoverridevirtual |
Implements q3::PlanewaveDavidsonWorkspace.
Definition at line 162 of file davidson.hpp.
|
inlineoverridevirtual |
Implements q3::PlanewaveDavidsonWorkspace.
Definition at line 172 of file davidson.hpp.
|
inlineoverridevirtual |
Implements q3::PlanewaveDavidsonWorkspace.
Definition at line 169 of file davidson.hpp.
|
inlineoverridevirtual |
Implements q3::PlanewaveDavidsonWorkspace.
Definition at line 179 of file davidson.hpp.
|
inlineoverridevirtual |
Implements q3::PlanewaveDavidsonWorkspace.
Definition at line 176 of file davidson.hpp.
|
inlineoverridevirtual |
Size the workspace for this k-point.
overlap_is_identity lets a norm-conserving run skip the S arrays entirely; the accessors then return the basis and Ritz buffers, which hold exactly the same values.
For norm-conserving runs the overlap operator is the identity, so S|V> and S|psi> are bit-for-bit the basis and the Ritz vectors. The two arrays are not allocated at all; the accessors hand back the originals, and the subspace manager skips the writes that would otherwise be applied to the same memory twice. That is five arrays of number_of_bands x number_of_plane_waves not held.
Implements q3::PlanewaveDavidsonWorkspace.
Definition at line 116 of file davidson.hpp.
References q3::PlanewaveDavidsonWorkspace::local_eigenvalues_host_.
|
inlineoverridevirtual |
Implements q3::PlanewaveDavidsonWorkspace.
Definition at line 186 of file davidson.hpp.
|
inlineoverridevirtual |
Implements q3::PlanewaveDavidsonWorkspace.
Definition at line 183 of file davidson.hpp.
|
inlineoverridevirtual |
Implements q3::PlanewaveDavidsonWorkspace.
Definition at line 193 of file davidson.hpp.
|
inlineoverridevirtual |
Implements q3::PlanewaveDavidsonWorkspace.
Definition at line 190 of file davidson.hpp.
|
inlineoverridevirtual |
Implements q3::PlanewaveDavidsonWorkspace.
Definition at line 204 of file davidson.hpp.