The PI will develop reusable software components to accelerate innovation in science that relies on high-dimensional tensor computations. While the components are informed by use-cases taken from quantum chemistry, the challenges of tensor computation are universal, and span diverse areas of science and engineering. These problems range from simulations of nuclear spin spectra, to quantum chemical calculations on molecules, to psychometric analysis, to numerical general relativity. The overarching aim of the funded work is to develop reusable tensor software elements, based on modern sustainable software practices, to benefit tensor algorithmic development in the scientific community at large. In addition, beyond the broad scientific impacts of the software, our education and outreach agenda comprises a multi-tiered effort to uplift the ability of the science and engineering community to reason about high-dimensional tensor and matrix computations.
Important aspects of the software elements will include (i) expressive programming interfaces for rapid prototyping of tensor based theories (ii) layered tensor libraries for dense, block-sparse, and out-of-core tensors that provide peak-performance implementations of the above interfaces, (iii) a multi-linear algebra package for general high dimensional computations, based on the matrix product state approach, and (iv) tensor virtual machine technology that abstracts algorithm development from hardware, and which provides a framework for optimizing compiler transformations to adapt algorithms to the memory access, communication networks, and processor characteristics of modern computer architectures.