Tensor networks have emerged as a versatile and efficient framework for analyzing a wide range of quantum systems. A key advantage lies in their ability to leverage the underlying structure of the problems they address. We present TensorOperations.jl and TensorKit.jl, which are designed to facilitate the seamless and efficient implementation of tensor network algorithms and incorporate arbitrary symmetries.
We begin with TensorOperations.jl, a tool that streamlines the specification of tensor networks using the popular Einstein summation notation. By optimizing critical aspects of this process during compile-time, this tool can significantly enhance performance-a pivotal factor for many tensor network algorithms. In the latest release (v4.0.0) we have added numerous quality of life updates alongside support for different backends, as well as support for automatic differentiation via the ChainRules.jl ecosystem.
Next, we delve into the realm of symmetries within tensors, by exploring the implications of (non-)Abelian symmetry groups, as well as the more exotic categorical symmetries. We show how TensorKit.jl provides a way to develop symmetry-independent algorithms, which are still able to leverage the advantages given by the additional structure.
To illustrate the practicality of these advancements, we briefly showcase the capabilities of MPSKit.jl, a matrix product state library that incorporates these symmetries. We give examples that underline the computational benefits and fundamental insights into the underlying physics.