Ying-Jer Kao (National Taiwan University, Taipei, Taiwan)
Uni10: the Universal Tensor Network Library
Tensors provide a natural and compact representation for multidimensional data, and algorithms based on tensor networks have recently found their applications in quantum physics, quantum information science, quantum chemistry, image/pattern recognition and data science. However, programming tensor network algorithms is tedious and error prone due to the complexity in keeping track of multiple tensor indices. There are also further complications in bookkeeping the indices as many scientific applications require these tensors to obey certain symmetries. For a given tensor network, storing the connectivity of the network and detemining the optimal contraction sequence are also crucial for further analysis. To address these issues, we develop a C++ framework geared toward the application in tensor network algorithms called Uni10, the Universal Tensor Network
Library[1]. It provides basic symmetric tensor storage and operations with features such as Einstein summation convention and easy-to-use interface, storage for graphical representations of networks, and an engine to construct and analyze the contraction tree for a given network. A heuristic algorithm is implemented to search for an optimal binary contraction order based on the computational and memory constraints. I will also discuss our implementation of Uni10 on GPU.
References: [1] http://www.uni10.org