XDiag: Exact Diagonalization for Quantum Many-Body Systems
Alexander Wietek, Luke Staszewski, Martin Ulaga, Paul L. Ebert, Hannes Karlsson, Siddhartha Sarkar, Leyna Shackleton, Aritra Sinha, Rafael D. Soares

TL;DR
XDiag is an open-source software package that combines advanced algorithms and user-friendly interfaces to perform exact diagonalization of quantum many-body systems efficiently, supporting large-scale and symmetry-adapted calculations.
Contribution
It introduces the first publicly available implementation of sublattice coding algorithms and integrates high-performance computing with accessible scripting for quantum many-body simulations.
Findings
Supports various Hilbert space types including spin-1/2, electron, and t-J models.
Demonstrates near-linear scaling on thousands of CPU cores.
Provides extensive examples and benchmarks for diverse quantum systems.
Abstract
Exact diagonalization (ED) is a cornerstone technique in quantum many-body physics, enabling precise solutions to the Schr\"odinger equation for interacting quantum systems. Despite its utility in studying ground states, excited states, and dynamical behaviors, the exponential growth of the Hilbert space with system size presents significant computational challenges. We introduce XDiag, an open-source software package designed to combine advanced and efficient algorithms for ED with and without symmetry-adapted bases with user-friendly interfaces. Implemented in C++ for computational efficiency and wrapped in Julia for ease of use, XDiag provides a comprehensive toolkit for ED calculations. Key features of XDiag include the first publicly accessible implementation of sublattice coding algorithms for large-scale spin system diagonalizations, efficient Lin table algorithms for symmetry…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
