New Implementation of high-level correlated methods using a general block-tensor library for high-performance electronic structure calculations
This paper presents an open-source object-oriented C++ library of classes and routines to perform tensor algebra. The primary purpose of the library is to enable post-Hartree–Fock electronic structure methods, however the code is general enough to be applicable in other areas of physical and computational sciences. The library supports tensors of arbitrary order (dimensionality), size and symmetry. Implemented data structures and algorithms operate on large tensors by splitting them into smaller blocks, storing them both in core memory and in files on disk, and applying divide- and-conquer-type parallel algorithms to perform tensor algebra. The library offers a set of general tensor symmetry algorithms and a full implementation of tensor symme- tries typically found in electronic structure theory: permutational, spin and molecular point group symmetry. The Q-Chem electronic structure software uses this library to drive coupled-cluster, equation-of-motion, and algebraic-diagrammatic construction methods.