2024-07-11 –, Function (4.1)
ITensorNetworks.jl is a Julia package for constructing, optimizing and contracting tensor networks of arbitrary structure. The library combines the unique indexing system from ITensors.jl with code for generic graphs which can host meta-data on the vertices and edges. The result is a highly flexible, generic codebase which can be leveraged to perform state-of-the-art research with tensor networks.
Tensor networks are a representation of high dimensional tensors as a connected network of lower dimensional tensors. This means they can be used to solve problems, such as those involving many-body quantum systems, which are beyond the reach of conventional brute-force methods. Existing codes and algorithms for manipulating tensor networks, however, are often hard-coded to specific network structures – most prominently the one-dimensional chain. ITensorNetworks.jl moves beyond this by being built upon code which makes no explicit assumption about the geometry of the tensor network, providing an unprecedented degree of freedom to the user when tackling high-dimensional problems. In this talk I will detail the structure and features of the ITensorNetworks.jl package. I will present examples of code written using the library and discuss its ongoing application in quantum simulation. Finally, I will discuss future plans for the library.
I am a postdoctoral researcher at the Centre for Computational Physics, part of the Flatiron Institute in New York. I have a keen interest in the development of tensor network algorithms for solving quantum many-body problems.