Abstract
We describe an essentially perfect hashing algorithm for calculating the position of an element in an ordered list, appropriate for the construction and manipulation of many-body Hamiltonian, sparse matrices. Each element of the list corresponds to an integer value whose binary representation reflects the occupation of single-particle basis states for each element in the many-body Hilbert space. The algorithm replaces conventional methods, such as binary search, for locating the elements of the ordered list, eliminating the need to store the integer representation for each element, without increasing the computational complexity. Combined with the “checkerboard” decomposition of the Hamiltonian matrix for distribution over parallel computing environments, this leads to a substantial savings in aggregate memory. While the algorithm can be applied broadly to many-body, correlated problems, we demonstrate its utility in reducing total memory consumption for a series of fermionic single-band Hubbard model calculations on small clusters with progressively larger Hilbert space dimension.
Original language | English |
---|---|
Pages (from-to) | 81-89 |
Number of pages | 9 |
Journal | Computer Physics Communications |
Volume | 224 |
DOIs | |
State | Published - Mar 2018 |
Externally published | Yes |
Keywords
- Checkerboard decomposition
- Exact diagonalization
- Hubbard model
- Many-body physics
- Perfect hashing
- Strongly correlated system