JuliaCon 2025

Quantum many-body simulations with PauliStrings.jl
2025-07-24 , Main Room 6

We present the Julia package PauliStrings.jl for quantum many-body simulations, which performs fast operations on the Pauli group by encoding Pauli strings in binary. All of the Pauli string algebra is encoded into low-level logic operations on integers, and is made efficient by various truncation methods. We illustrate the effectiveness of our package by (i) performing Heisenberg time evolution through direct numerical integration and (ii) by constructing a Liouvillian Krylov space.


PauliStrings.jl provides a competitive platform for studying quantum many-body dynamics by representing operators as sets of Pauli strings encoded in binary.
We show how this encoding can be advantageous for numerical simulation of quantum dynamics. The advantage arises from two key features: (i) The Pauli string algebra is encoded in low-level logic operations on integers, making it very efficient to numerically store and multiply strings together. (ii) Operators can be systematically truncated to some precision by discarding strings with negligibly small weight. This allows one to keep the number of strings manageable at the cost of some incurred error.
We will present examples of this for Heisenberg time evolution and Krylov subspace expansion through the recursion method. One of the important strengths of Pauli strings is that they provide a natural framework to take advantage of noise to make simulations tractable. In addition, though tensor network methods quickly break down with increasing long-range entanglement, some systems with this type of entanglement can still be decomposed into a small number of strings, making Pauli strings more efficient for these kinds of systems. Furthermore, Pauli string methods are not as limited in spatial dimension and geometry, and arbitrary geometries are easy to implement.
Currently, the main limitations are the inefficiency of representing non-trivial pure states (or other low-rank operators), as well as the need to introduce dissipation to probe long-time dynamics.
PauliStrings.jl is easily installable through the Julia language package manager, and thorough code examples can be found in the documentation.

Postdoc researcher at Niels Bohr Institute, Copenhagen