|
Quantum 3xplorer (Q3)
An AI-native quantum simulation engine
|
#include <wavefunction_transformer.hpp>
Static Public Member Functions | |
| static void | g_to_r (const GVectorsGrid &g_vectors_grid, const FFTGrid &fft_wave, const std::vector< Complex > &coefficients_g_space, const std::vector< int > &g_vector_indices, int number_of_plane_waves, std::vector< Complex > &coefficients_real_space) |
| static void | r_to_g (const GVectorsGrid &g_vectors_grid, const FFTGrid &fft_wave, const std::vector< Complex > &coefficients_real_space, const std::vector< int > &g_vector_indices, int number_of_plane_waves, std::vector< Complex > &coefficients_g_space) |
Definition at line 17 of file wavefunction_transformer.hpp.
|
inlinestatic |
With slab-aligned G-vectors, fft_grid_index MUST be >= 0 if the partitioning is correct. We keep the check as a safety measure but it should never trigger.
Definition at line 19 of file wavefunction_transformer.hpp.
References q3::FFTGrid::g_vector_to_fft_grid_index(), q3::GVectorsGrid::g_vectors(), q3::FFTGrid::inverse(), q3::FFTGrid::local_g_space_points(), and q3::FFTGrid::local_grid_points().
Referenced by q3::PlanewaveBasis::g_to_r().
|
inlinestatic |
REDUNDANCY REMOVED: In band-parallel mode, G-space coefficients are now truly partitioned. Collectives like dot_product or the Hamiltonian application (kinetic) handle the reduction themselves. We no longer need to Allreduce the entire wavefunction after every FFT.
Definition at line 49 of file wavefunction_transformer.hpp.
References q3::FFTGrid::forward(), q3::FFTGrid::g_vector_to_fft_grid_index(), q3::GVectorsGrid::g_vectors(), q3::FFTGrid::local_g_space_points(), and q3::FFTGrid::local_grid_points().
Referenced by q3::PlanewaveBasis::r_to_g().