ITensorNetworks.jl is an experimental package which aims to provide general tools for working with higher-dimensional tensor networks based on ITensors.jl. Among many novel features, I will focus on the generalization of one-dimensional sweeping algorithms to systems with arbitrary tree-like geometries, and highlight some promising applications.
Tensor networks have proven an invaluable numerical tool in computational physics, with particular success in simulating quantum many body systems in one and two dimensions. With more recent applications outside of this conventional setting, there has been an increased interest in the use of higher-dimensional tensor networks for the efficient representation and manipulation of high-dimensional data structures in general. ITensorNetworks.jl is an experimental package which aims to provide general tools for working with higher-dimensional tensor networks based on ITensors.jl. Its features include methods for graph partitioning in general networks, gauging and approximate contraction tools, as well as optimization and evolution routines for several classes of networks.
Arguably the most widely used tensor-network tools are DMRG-like sweeping routines for finite one-dimensional systems, which use iterative local updates to perform tasks such as ground state searches, simulating time evolution and targeting excitations. I will focus on the generalization of these algorithms to systems with arbitrary tree-like geometries and their implementation within the framework of ITensorNetworks.jl. The goal is to provide an intuitive and easy to use tool that retains the efficiency and robustness of the original algorithms, while also exploiting the characteristic geometry of the system at hand. Aside from more straightforward applications, a promising use this framework would be as an approximate backend in established (quantum) simulation tools.
Slides and examples: https://github.com/leburgel/JuliaCon2023_tree_sweeping