|
Quantum 3xplorer (Q3)
An AI-native quantum simulation engine
|
#include <matrix.hpp>
Public Member Functions | |
| Matrix () | |
| Matrix (size_t rows, size_t cols, const T &initial_value=T()) | |
| void | assign (size_t rows, size_t cols, const T &initial_value) |
| size_t | cols () const |
| T * | data () |
| Returns the underlying flat data pointer. | |
| const T * | data () const |
| bool | empty () const |
| T & | operator() (size_t row_index, size_t column_index) |
| 2D indexing operator | |
| const T & | operator() (size_t row_index, size_t column_index) const |
| T * | operator[] (size_t row_index) |
Access row row_index. Allows matrix[row_index][column_index] syntax to remain valid. | |
| const T * | operator[] (size_t row_index) const |
| std::vector< T > & | raw () |
| Returns raw vector (useful for MPI calls that need contiguous block) | |
| const std::vector< T > & | raw () const |
| void | resize (size_t rows, size_t cols) |
| Resizes the matrix, invalidating previous content structure if dimensions change. | |
| void | resize (size_t rows, size_t cols, const T &initial_value) |
| size_t | rows () const |
| size_t | size () const |
| Returns the number of rows (to mimic outer std::vector::size()) | |
A simple, contiguous 2D array class to replace std::vector<std::vector<T>>. This prevents memory fragmentation and improves cache locality in HPC contexts.
Definition at line 13 of file matrix.hpp.
|
inline |
Definition at line 20 of file matrix.hpp.
|
inline |
Definition at line 22 of file matrix.hpp.
|
inline |
Definition at line 38 of file matrix.hpp.
Referenced by q3::NormConservingPlanewaveChargeDensity::initialize_projector_overlap_coefficients(), and q3::UltrasoftPlanewavePseudopotentialKohnShamSCFIterator::reset_projector_overlap_coefficients().
|
inline |
|
inline |
Returns the underlying flat data pointer.
Definition at line 75 of file matrix.hpp.
Referenced by q3::PlanewavePseudopotentialKohnShamSCFIterator::accumulate_hubbard_occupation_and_potential(), q3::UltrasoftPseudopotentialOverlapOperator::apply(), q3::UltrasoftPseudopotentialOverlapOperator::apply_batch(), q3::HubbardForceCalculator::compute(), q3::NonlocalPseudopotentialForceCalculator::compute(), q3::GPUPlanewaveHamiltonianApplicator::prepare_kpoint(), and q3::NormConservingPlanewaveWavefunctionInitializer::rotate_wavefunctions().
|
inline |
Definition at line 78 of file matrix.hpp.
|
inline |
Definition at line 90 of file matrix.hpp.
Referenced by q3::NormConservingPlanewaveForceCalculator::compute(), and q3::GPUPlanewaveHamiltonianApplicator::prepare_kpoint().
|
inline |
2D indexing operator
Definition at line 54 of file matrix.hpp.
|
inline |
Definition at line 58 of file matrix.hpp.
|
inline |
Access row row_index. Allows matrix[row_index][column_index] syntax to remain valid.
Definition at line 45 of file matrix.hpp.
|
inline |
Definition at line 49 of file matrix.hpp.
|
inline |
Returns raw vector (useful for MPI calls that need contiguous block)
Definition at line 83 of file matrix.hpp.
Referenced by q3::UltrasoftPlanewavePseudopotentialKohnShamSCFIterator::accumulate_projector_overlaps(), q3::PawPlanewavePseudopotentialKohnShamSCFIterator::damp_towards_previous(), and q3::PlanewaveKohnShamSCFIterator::global_eigenvalues().
|
inline |
Definition at line 86 of file matrix.hpp.
|
inline |
Resizes the matrix, invalidating previous content structure if dimensions change.
Definition at line 26 of file matrix.hpp.
Referenced by q3::compute_kleinman_bylander_projectors().
|
inline |
Definition at line 32 of file matrix.hpp.
|
inline |
Definition at line 62 of file matrix.hpp.
Referenced by q3::PlanewaveBlochOverlapCalculator::add_augmentation_contribution(), q3::UltrasoftPseudopotentialOverlapOperator::apply(), q3::UltrasoftPseudopotentialOverlapOperator::apply_batch(), q3::assemble_global_eigenvalues_at_kpoints(), q3::GPUPlanewaveHamiltonianApplicator::prepare_kpoint(), q3::NormConservingPlanewaveChargeDensity::reset_projector_overlap_coefficients(), and q3::PlanewavePseudopotentialKohnShamSCFIterator::write_checkpoints().
|
inline |
Returns the number of rows (to mimic outer std::vector::size())
Definition at line 70 of file matrix.hpp.