Introducing QXGraphDecompositions

QXGraphDecomposition is a Julia package for analysing graph structures describing a tensor network. Tensor networks provide efficient representations of data in high dimensional spaces with applications in areas ranging from quantum simulation to neural network compression. QXGraphDecompositions provides functions for solving graph theoretic problems which can be used to find an efficient method to contract a tensor network, a task which can easily become intractable if not done efficiently.


QXGraphDecompositions is a Julia package for analysing and manipulating graph structures describing a tensor network. In this talk we will introduce, at a high level, the problem of tensor network contraction as a motivating use case for QXGraphDecompositions. We will then demonstrate some of the main functions defined in QXGraphDecompositions by using it to find an efficient solution to such a problem and highlight the algorithms it uses in the process. Namely, we demonstrate a wrapper function for the flow cutter algorithm for finding a tree decomposition of a graph and an implementation of a greedy method for solving the treewidth deletion problem. While these methods have important applications in the field of tensor networks, QXGraphDecompositions has potential to be used in other fields. For example, tree decompositions are frequently used in graph theoretic computations and have been used to identify interesting structures in social networks.