  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.
