Open-source software and notebooks

Our group has developed several publicly available (and thus open source) software packages using the scientific programming language Julia. We also have an extensive amount of actively developed tensor network code using MATLAB; contact Laurens Vanderstraeten or Bram Vanhecke for more information.

Physics and tensor network packages


A package for efficient and large-scale tensor computations, where tensors take a very general definition (inspired from the theory of monoidal categories). Provides support for tensors with arbitrary symmetries (abelian, non-abelian, anyonic and categorical symmetries, a.k.a. fusion categories).



A package with tensor network algorithms based on matrix product states and matrix product operators, useful for one-dimensional quantum systems and two-dimensional partition functions. Contains algorithms for ground states and fixed points, excitations, time evolution and thermal states, for finite as well as infinite systems.



A package for calculations with the multiscale entanglement renormalization ansatz. It has implementations of ternary, binary, and modified binary MERA (assuming translation and scale invariance) with functions for doing energy minimization, evaluating local expectation values, and computing scaling dimensions.



A package with tensor network algorithms based on projected entangled-pair states for both finite and infinite systems. Work in progress…



A package to compute Wigner’s 3j and 6j symbols (and related quantities such as Clebsch-Gordan coefficients and Racah coefficients) to arbitrary precision. The result is computed as the square root of a rational of arbitrary-precision integers.



A package to compute Clebsch-Gordan coefficients for the special unitary group SU(N) of arbitrary dimension N. Recoupling coefficients (known as F-symbols, related to Wigner’s 6j symbols) can also be computed, and an interface to TensorKit.jl is provided.



A package to store and manipulate data for fusion categories, such as the fusion rules, the F-symbols, the R-symbols, etc. The package provides a convenient interface to TensorKit.jl.



A package to compute Wigner’s 3j and 6j symbols (and related quantities such as Clebsch-Gordan coefficients and Racah coefficients) for the quantum group SU_q(2).


General purpose packages


A package to efficiently contract and permute multidimensional arrays using a convenient syntax based on Einstein’s summation convention. Provides an extensible API (used by e.g. TensorKit.jl) and tools to optimize contraction order and to cache storage buffers for temporaries.



A package for sparse arrays, stored using a “dictionary of keys” format. SparseArrayKit.jl supports basic array operations and provides compatibility with TensorOperations.jl.



Iterative Krylov-based routines for linear systems, eigenvalue problems and singular values, and matrix functions (such as the exponential function). KrylvoKit.jl accepts a very general class of user types to act as “vector” and arbitrary functions to act as linear operators on those vectors.



A package for gradient based optimization with extreme flexibility towards parameterization of the problem. OptimKit.jl supports optimization on manifolds (i.e. Riemannian optimization) using gradient descent, conjugate gradient and limited-memory quasi newton methods, where custom retractions and vector transports can be specified.



An accelorator package to work with strided arrays, i.e. dense arrays whose memory layout has a fixed stride along every dimension. Strided.jl does not make any assumptions about the strides (such as stride 1 along first dimension, or monotonously increasing strides) and provides multithreaded and cache friendly implementations for mapping, reducing, broadcasting such arrays, as well as taking views, reshaping and permuting dimensions.



A package for matrix free computations with linear maps. LinearMaps.jl provides a type to wrap an arbitrary function (which represents the action of a linear map on a vector) in a structure that behaves similar to a matrix, in that it has a two-dimensional shape. Linear maps can be multiplied and added and combined with other matrices or linear maps, without ever doing the explicit computation, but such that an efficient implementation of the resulting matrix vector product is provided.


Publications using QuantumGroup@UGent software packages

A partial list of publications and software pacakges that make use of QuantumGroup@UGent packages. If you want to add your publication or package to this list, please contact us.


  1. Classically optimized Hamiltonian simulation
    Conor Mc Keever, and Michael Lubasch
  2. Augmenting Density Matrix Renormalization Group with Disentanglers
    Xiangjian Qian, and Mingpu Qin
  3. Universal Scaling of Klein Bottle Entropy near Conformal Critical Points
    Yueshui Zhang, Anton Hulsch, Hua-Chen Zhang, Wei Tang, Lei Wang, and Hong-Hao Tu
  4. High-Energy Collision of Quarks and Hadrons in the Schwinger Model: From Tensor Networks to Circuit QED
    Ron Belyansky, Seth Whitsitt, Niklas Mueller, Ali Fahimniya, Elizabeth R. Bennewitz, Zohreh Davoudi, and Alexey V. Gorshkov
  5. variPEPS -- a versatile tensor network library for variational ground state simulations in two spatial dimensions
    Jan Naumann, Erik Lennart Weerda, Matteo Rizzi, Jens Eisert, and Philipp Schmoll
  6. Fractional quantum Hall states with variational Projected Entangled-Pair States: a study of the bosonic Harper-Hofstadter model
    Erik Lennart Weerda, and Matteo Rizzi
  7. Absence of Spin Liquid Phase in the \(J_1-J_2\) Heisenberg Model on the Square Lattice
    Xiangjian Qian, and Mingpu Qin
  8. On the Magnetization of the \(120^\circ\) Order of the Spin-1/2 Triangular Lattice Heisenberg Model: A DMRG Revisit
    Jiale Huang, Xiangjian Qian, and Mingpu Qin
  9. Hamiltonian truncation tensor networks for quantum field theories
    Philipp Schmoll, Jan Naumann, Alexander Nietner, Jens Eisert, and Spyros Sotiriadis


  1. Critical Lattice Model for a Haagerup Conformal Field Theory
    Robijn Vanhove, Laurens Lootens, Maarten Van Damme, Ramona Wolf, Tobias J. Osborne, Jutho Haegeman, and Frank Verstraete
  2. Achieving the Quantum Field Theory Limit in Far-from-Equilibrium Quantum Link Models
    Jad C. Halimeh, Maarten Van Damme, Torsten V. Zache, Debasish Banerjee, and Philipp Hauke
  3. Temporal entanglement, quasiparticles and the role of interactions
    Giacomo Giudice, Giuliano Giudici, Michael Sonner, Julian Thoenniss, Alessio Lerose, Dmitry A. Abanin, and Lorenzo Piroli
  4. The Haldane gap in the \(\mathrm{SU}(3) [3 0 0]\) Heisenberg chain
    Lukas Devos, Laurens Vanderstraeten, and Frank Verstraete
  5. Dynamical Quantum Phase Transitions in Spin-\(S\) \(\mathrm{U}(1)\) Quantum Link Models
    Maarten Van Damme, Torsten V. Zache, Debasish Banerjee, Philipp Hauke, and Jad C. Halimeh
  6. Trimer states with \(\mathbb{Z}_3\) topological order in Rydberg atom arrays
    Giacomo Giudice, Federica Maria Surace, Hannes Pichler, and Giuliano Giudici
  7. Chiral Spin Liquids on the Kagome Lattice with Projected Entangled Simplex States
    Sen Niu, Juraj Hasik, Ji-Yao Chen, and Didier Poilblanc


  1. Closing of the Haldane Gap in a Spin-1 XXZ Chain
    Chan Yu, and Ji-Woo Lee
  2. Riemannian Optimization of Isometric Tensor Networks
    Markus Hauru, Maarten Van Damme, and Jutho Haegeman
  3. Lattice Regularisation and Entanglement Structure of the Gross-Neveu Model
    Gertian Roose, Nick Bultinck, Laurens Vanderstraeten, Frank Verstraete, Karel Van Acoleyen, and Jutho Haegeman
  4. Local Measures of Dynamical Quantum Phase Transitions
    Jad C. Halimeh, Daniele Trapin, Maarten Van Damme, and Markus Heyl
  5. Efficient Matrix Product State Methods for Extracting Spectral Information on Rings and Cylinders
    Maarten Van Damme, Robijn Vanhove, Jutho Haegeman, Frank Verstraete, and Laurens Vanderstraeten